> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vidgo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Meshy 6 Multi Image to 3D

> Build a 3D asset from up to four reference images with Meshy 6, with texture, topology, and optional animation controls.

<Tip>
  1. Submit the request with `VIDGO_API_KEY`. A `task_id` is returned immediately. Keep it until the task reaches `finished` or `failed`.
  2. Use [Query Task Status](/api-manual/task-management/status) to retrieve the result. If you provide a `callback_url`, Vidgo sends the result to your [webhook](/api-manual/task-management/webhooks) when the task finishes or fails.
</Tip>

# Meshy 6 Multi Image to 3D

Build a 3D asset from up to four reference images with Meshy 6, with texture, topology, and optional animation controls.

## Available Models

* **meshy/v6/multi-image-to-3d** - Generate a 3D model from multiple image references.

## Output Options

### Target Polycount

* `target_polycount`: Optional. Set the target polygon count. Integer. Default: `30000`.

### Topology

* `topology`: Optional. Select the mesh topology. Accepted values: `quad`, `triangle`. Default: `triangle`.

## Key Features

* Generate a 3D model from multiple image references.
* Accepts 1-4 images in `image_urls`.
* Retrieve model assets and available previews or supporting files from the task result.
* Optionally add textures, rigging, and animation.

## Advanced Parameters

Set `model` and optional `callback_url` at the request root. Place all workflow parameters, including output options, inside `input`.

Place the parameters listed below inside `input`. Use publicly accessible HTTP(S) URLs for images and texture references.

* `enable_animation: true` requires `enable_rigging: true`.

### Image URLs

* `image_urls`: Required. Provide publicly accessible image URLs. Supply 1-4 items. Each item must be an HTTP(S) URL.

### Remeshing

* `should_remesh`: Optional. Control remeshing. Use `true` or `false`. Default: `true`.

### Symmetry Mode

* `symmetry_mode`: Optional. Select how symmetry is handled. Accepted values: `off`, `auto`, `on`. Default: `auto`.

### Textures

* `should_texture`: Optional. Control texture generation. Use `true` or `false`. Default: `true`.

### PBR

* `enable_pbr`: Optional. Control physically based rendering (PBR) materials. Use `true` or `false`.

### Pose Mode

* `pose_mode`: Optional. Select a pose, or send an empty string for no pose selection. Accepted values: `a-pose`, `t-pose`, `""`. Default: `""`.

### Texture Prompt

* `texture_prompt`: Optional. Describe the desired texture.

### Texture Image URL

* `texture_image_url`: Optional. Provide a texture reference URL. Use a publicly accessible HTTP(S) URL.

### Rigging

* `enable_rigging`: Optional. Request rigging for the generated model. Use `true` or `false`.

### Rigging Height

* `rigging_height_meters`: Optional. Set the rigging height in meters. Number. Default: `1.7`.

### Animation

* `enable_animation`: Optional. Request animation; rigging must also be enabled. Use `true` or `false`.

### Animation Action ID

* `animation_action_id`: Optional. Select the animation action. Integer. Default: `1001`.

### Safety Checker

* `enable_safety_checker`: Optional. Control safety checking. Use `true` or `false`. Default: `true`.

## Output Files

* Read every item in the returned `files` array.
* Model assets use `file_type: "3d"`; previews use `file_type: "image"`.
* Read supporting files with `file_type: "other"` alongside the returned textures, animation assets, and file metadata.


## OpenAPI

````yaml api-manual/3d-series/meshy-v6-multi-image-to-3d.json POST /api/generate/submit
openapi: 3.0.0
info:
  title: Vidgo API - Meshy 6 Multi Image to 3D
  description: >-
    Build a 3D asset from up to four reference images with Meshy 6, with
    texture, topology, and optional animation controls.
  version: 1.0.0
servers:
  - url: https://api.vidgo.ai
security:
  - BearerAuth: []
paths:
  /api/generate/submit:
    post:
      tags:
        - 3D Series
      summary: Meshy 6 Multi Image to 3D
      description: >-
        Place the parameters listed below inside input. Use publicly accessible
        HTTP(S) URLs for images and texture references. Set enable_rigging to
        true when enabling animation. Read files for generated models, preview
        images, textures, and animation assets; each item provides a file_url
        and file_type, with file metadata when present.
      operationId: submit_meshy_v6_multi_image_to_3d
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - model
                - input
              additionalProperties: true
              properties:
                model:
                  type: string
                  example: meshy/v6/multi-image-to-3d
                input:
                  type: object
                  properties:
                    image_urls:
                      type: array
                      items:
                        type: string
                        format: uri
                        description: Image urls.
                      minItems: 1
                      maxItems: 4
                      description: Provide 1–4 views of the same object.
                    topology:
                      type: string
                      enum:
                        - quad
                        - triangle
                      default: triangle
                      description: >-
                        Choose triangle or quad mesh topology. Default:
                        triangle.
                    target_polycount:
                      type: integer
                      default: 30000
                      description: >-
                        Set the target polygon count as an integer. Default:
                        30000.
                    should_remesh:
                      type: boolean
                      default: true
                      description: >-
                        Enable the remeshing stage to apply mesh topology and
                        polygon targets. Default: true.
                    symmetry_mode:
                      type: string
                      enum:
                        - 'off'
                        - auto
                        - 'on'
                      default: auto
                      description: >-
                        Choose off, auto, or on to control symmetry. Default:
                        auto.
                    should_texture:
                      type: boolean
                      default: true
                      description: 'Generate textures for the model. Default: true.'
                    enable_pbr:
                      type: boolean
                      description: >-
                        Generate metallic, roughness, and normal maps for PBR
                        materials.
                    pose_mode:
                      type: string
                      enum:
                        - a-pose
                        - t-pose
                        - ''
                      default: ''
                      description: >-
                        Choose a-pose, t-pose, or an empty string for the model
                        pose. Default: empty string.
                    texture_prompt:
                      type: string
                      description: >-
                        Describe colors, surface patterns, and materials to
                        guide texturing.
                    texture_image_url:
                      type: string
                      format: uri
                      description: >-
                        Provide a publicly accessible HTTP(S) image URL to guide
                        texturing.
                    enable_rigging:
                      type: boolean
                      description: >-
                        Add a skeleton to a humanoid character for posing and
                        animation.
                    rigging_height_meters:
                      type: number
                      default: 1.7
                      description: >-
                        Set character height in meters when rigging is enabled.
                        Default: 1.7.
                    enable_animation:
                      type: boolean
                      description: >-
                        Apply an animation preset with enable_rigging set to
                        true.
                    animation_action_id:
                      type: integer
                      default: 1001
                      description: 'Set the integer animation preset ID. Default: 1001.'
                    enable_safety_checker:
                      type: boolean
                      default: true
                      description: >-
                        Enable safety checking for generation inputs. Default:
                        true.
                  additionalProperties: false
                  required:
                    - image_urls
                callback_url:
                  type: string
                  nullable: true
                  description: >-
                    Optional public HTTP(S) endpoint for task completion
                    notifications. HTTPS is recommended. Omit, use null, or use
                    an empty string to disable callbacks.
              description: >-
                Place model and optional callback_url at the request root, and
                generation parameters inside input.
            examples:
              basic:
                summary: Basic workflow
                value:
                  model: meshy/v6/multi-image-to-3d
                  input:
                    image_urls:
                      - https://example.com/image.png
                    topology: triangle
                    target_polycount: 30000
                    should_remesh: true
                    symmetry_mode: auto
                    should_texture: true
                    pose_mode: ''
                    rigging_height_meters: 1.7
                    animation_action_id: 1001
                    enable_safety_checker: true
              callback:
                summary: Receive a completion callback
                value:
                  model: meshy/v6/multi-image-to-3d
                  input:
                    image_urls:
                      - https://example.com/image.png
                    topology: triangle
                    target_polycount: 30000
                    should_remesh: true
                    symmetry_mode: auto
                    should_texture: true
                    pose_mode: ''
                    rigging_height_meters: 1.7
                    animation_action_id: 1001
                    enable_safety_checker: true
                  callback_url: https://your-domain.com/callback
      responses:
        '200':
          description: Task submitted
          content:
            application/json:
              schema:
                type: object
                required:
                  - code
                  - data
                properties:
                  code:
                    type: integer
                    enum:
                      - 200
                  data:
                    type: object
                    required:
                      - task_id
                      - status
                      - created_time
                    properties:
                      task_id:
                        type: string
                      status:
                        type: string
                        enum:
                          - not_started
                          - running
                          - finished
                          - failed
                      created_time:
                        type: string
                        format: date-time
              example:
                code: 200
                data:
                  task_id: task-unified-example
                  status: running
                  created_time: '2026-09-10T08:00:00'
        '400':
          description: Input validation, media access, or account balance error
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '401':
          description: Invalid credentials
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '403':
          description: Access denied
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '404':
          description: Unknown or disabled model
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '408':
          description: Request timed out
          content:
            text/plain:
              schema:
                type: string
              example: Request timeout
        '422':
          description: Invalid JSON or non-object request body
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '429':
          description: Rate or API key credit limit exceeded
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '500':
          description: Internal error
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '502':
          description: Generation task creation failed
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
        '503':
          description: Model configuration requires attention
          content:
            application/json:
              schema:
                type: object
                required:
                  - detail
                properties:
                  detail:
                    oneOf:
                      - type: string
                      - type: object
                        additionalProperties: true
                      - type: array
                        items: {}
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: Use VIDGO_API_KEY.

````