Generate 3D Model from Multiple Images
meshy_multi_image_to_3dGenerate a textured 3D model from 1–4 photos or views of the same object to improve reconstruction accuracy.
Instructions
Generate a 3D model from 1–4 views of the same object (better reconstruction), textured by default. Cost: the mesh (meshy-7.1 / latest / meshy-6 20; meshy-6-lite 5) + 10 for the texture (15 at 8K), whichever texture_model; Ultra geometry +5.
IMAGE INPUT (exactly ONE):
file_paths: 1–4 local images (never base64-encode them yourself)
image_urls: 1–4 public URLs
input_task_id: a SUCCEEDED meshy_text_to_image / meshy_image_to_image task (multi-view included); its images are the input
Choose models by project (geometry ai_model + texture_model):
Detailed hero asset, product render, cinematic prop: meshy-7.1 + meshy-7 (PBR, up to 8K)
Game character to rig and animate: meshy-t2.5 (smart topology, set target_polycount) + meshy-n1
Many props for a game scene, or user-generated content: meshy-t2 (smart topology) + meshy-n1
A real object from 2 to 4 photos: meshy-7.1 on Multi-Image to 3D + meshy-7
A model to 3D print: meshy-7.1 + none, or meshy-7 to print in color
Many drafts at a low cost: meshy-6-lite + meshy-6-lite More: https://docs.meshy.ai/en/api/models Omit texture_model for the geometry's default; "none" is should_texture false; smart topology (meshy-t2.5 / meshy-t2) is meshy_image_to_3d only.
Example (real object from photos): { file_paths: ["/path/front.jpg", "/path/side.jpg"], ai_model: "meshy-7.1", texture_model: "meshy-7" }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ai_model | No | 'latest' (default, = Meshy 7.1) or 'meshy-7.1' (best), 'meshy-6', 'meshy-6-lite' (fast, cheap, 2K textures only); 'meshy-7' is deprecated. No Smart Topology here. | latest |
| topology | No | quad or triangle (default). | |
| auto_size | No | AI-estimate the real-world height and resize to it (default false). | |
| origin_at | No | 'bottom' or 'center' (default bottom with auto_size). | |
| pose_mode | No | 'a-pose' or 't-pose'; use 't-pose' when the model will be rigged or animated. | |
| enable_pbr | No | Also make metallic/roughness/normal maps. Not with texture_model meshy-n1. | |
| file_paths | No | 1–4 absolute paths to local .jpg/.jpeg/.png/.webp images; the server encodes them. | |
| hd_texture | No | Deprecated: use texture_resolution '4k'. | |
| image_urls | No | 1–4 public image URLs. | |
| model_type | No | Deprecated; ignored (this endpoint has no model_type). | |
| ultra_mode | No | Deprecated: use geometry_resolution '2k'. | |
| input_task_id | No | A SUCCEEDED text-to-image / image-to-image task (multi-view included) whose images are the input. | |
| should_remesh | No | Remesh to target_polycount / topology (default false). | |
| symmetry_mode | No | Deprecated: has no effect. | |
| texture_model | No | Texture model, picked apart from the geometry: meshy-7 (PBR, 2K/4K/8K) or meshy-n1 (2K base color from texture_image_urls / texture_image_url, else the input images, first = front; no texture_prompt, enable_pbr, 4k/8k, remove_lighting or quad remesh). Either also allows texture_image_urls on meshy-6 / meshy-6-lite. No meshy-6-lite here. Omit for the geometry's default: meshy-7 (meshy-7.1, latest, meshy-t2, meshy-t2.5), meshy-6 (meshy-6), meshy-6-lite (meshy-6-lite). Same price whichever; ignored with should_texture false. | |
| should_texture | No | Generate textures (default true); false gives a cheaper untextured mesh. | |
| target_formats | No | Formats to produce (default: all but 3mf; list '3mf' to get it). Fewer formats finish faster. | |
| texture_prompt | No | Text to guide texturing (max 800 characters). Not with texture_model meshy-n1. | |
| alpha_thumbnail | No | Also return a transparent-background preview (alpha_thumbnail_url). | |
| decimation_mode | No | Adaptive decimation 1 (ultra) – 4 (low); overrides target_polycount. | |
| remove_lighting | No | Remove highlights/shadows from the base color (meshy-6/7.1/latest; API default true). Not true with texture_model meshy-n1. | |
| response_format | No | markdown (default) or json | markdown |
| target_polycount | No | Remesh target 100–300,000, needs should_remesh true. | |
| image_enhancement | No | Optimize the input image (meshy-6/7.1/latest); false keeps deliberate styling. | |
| texture_image_url | No | Image URL to guide texturing. With texture_model meshy-n1, the front view it textures from. | |
| texture_image_urls | No | 1–4 views (URLs or data URIs) of the SAME object to drive the texture; element 0 is the front. ai_model meshy-7.1/latest, or texture_model meshy-7 / meshy-n1; not with texture_prompt / texture_image_url. | |
| texture_resolution | No | Base color texture: 2k (default), 4k or 8k (+5 credits; PBR maps stay 4K, no emission map). 4k/8k need the meshy-7 or meshy-6 texture model: not meshy-6-lite or meshy-n1. | |
| geometry_resolution | No | Ultra geometry pass: standard (default) or 2k (+5 credits); meshy-7.1/latest only. No 4k here. | |
| multi_view_thumbnails | No | Also return front/back/left/right thumbnails. | |
| save_pre_remeshed_model | No | Also keep the GLB from before remeshing (with should_remesh). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| status | Yes | ||
| message | Yes | ||
| task_id | Yes | ||
| estimated_time | Yes |