Skip to main content
Glama
Meshy MCP Server

Meshy MCP Server

Official
by meshy-dev

Generate 3D Model from Multiple Images

meshy_multi_image_to_3d

Generate 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

NameRequiredDescriptionDefault
ai_modelNo'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
topologyNoquad or triangle (default).
auto_sizeNoAI-estimate the real-world height and resize to it (default false).
origin_atNo'bottom' or 'center' (default bottom with auto_size).
pose_modeNo'a-pose' or 't-pose'; use 't-pose' when the model will be rigged or animated.
enable_pbrNoAlso make metallic/roughness/normal maps. Not with texture_model meshy-n1.
file_pathsNo1–4 absolute paths to local .jpg/.jpeg/.png/.webp images; the server encodes them.
hd_textureNoDeprecated: use texture_resolution '4k'.
image_urlsNo1–4 public image URLs.
model_typeNoDeprecated; ignored (this endpoint has no model_type).
ultra_modeNoDeprecated: use geometry_resolution '2k'.
input_task_idNoA SUCCEEDED text-to-image / image-to-image task (multi-view included) whose images are the input.
should_remeshNoRemesh to target_polycount / topology (default false).
symmetry_modeNoDeprecated: has no effect.
texture_modelNoTexture 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_textureNoGenerate textures (default true); false gives a cheaper untextured mesh.
target_formatsNoFormats to produce (default: all but 3mf; list '3mf' to get it). Fewer formats finish faster.
texture_promptNoText to guide texturing (max 800 characters). Not with texture_model meshy-n1.
alpha_thumbnailNoAlso return a transparent-background preview (alpha_thumbnail_url).
decimation_modeNoAdaptive decimation 1 (ultra) – 4 (low); overrides target_polycount.
remove_lightingNoRemove highlights/shadows from the base color (meshy-6/7.1/latest; API default true). Not true with texture_model meshy-n1.
response_formatNomarkdown (default) or jsonmarkdown
target_polycountNoRemesh target 100–300,000, needs should_remesh true.
image_enhancementNoOptimize the input image (meshy-6/7.1/latest); false keeps deliberate styling.
texture_image_urlNoImage URL to guide texturing. With texture_model meshy-n1, the front view it textures from.
texture_image_urlsNo1–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_resolutionNoBase 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_resolutionNoUltra geometry pass: standard (default) or 2k (+5 credits); meshy-7.1/latest only. No 4k here.
multi_view_thumbnailsNoAlso return front/back/left/right thumbnails.
save_pre_remeshed_modelNoAlso keep the GLB from before remeshing (with should_remesh).

Output Schema

NameRequiredDescriptionDefault
statusYes
messageYes
task_idYes
estimated_timeYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changedv0.6.9
    • changedInput schema / properties / enable_pbr / description
      Previous value: -"Also make metallic/roughness/normal maps."New value: +"Also make metallic/roughness/normal maps. Not with texture_model meshy-n1."
    • changedInput schema / properties / remove_lighting / description
      Previous value: -"Remove highlights/shadows from the base color (meshy-6/7.1/latest; API default true)."New value: +"Remove highlights/shadows from the base color (meshy-6/7.1/latest; API default true). Not true with texture_model meshy-n1."
    • changedInput schema / properties / texture_image_url / description
      Previous value: -"Image URL to guide texturing."New value: +"Image URL to guide texturing. With texture_model meshy-n1, the front view it textures from."
    • changedInput schema / properties / texture_image_urls / description
      Previous value: -"1–4 views (URLs or data URIs) of the SAME object to drive the texture; element 0 is the front. meshy-7.1/latest only; not with texture_prompt / texture_image_url."New value: +"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."
    • addedInput schema / properties / texture_model
      Added value: +{
      +  "description": "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.",
      +  "enum": [
      +    "meshy-7",
      +    "meshy-n1"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / texture_prompt / description
      Previous value: -"Text to guide texturing (max 800 characters)."New value: +"Text to guide texturing (max 800 characters). Not with texture_model meshy-n1."
    • changedInput schema / properties / texture_resolution / description
      Previous value: -"Base color texture: 2k (default), 4k or 8k (+5 credits; PBR maps stay 4K, no emission map). 4k/8k not on meshy-6-lite."New value: +"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."
  2. First observedv0.6.4

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only declare safety flags (not read-only, non-idempotent, open-world, non-destructive); the description goes far beyond by disclosing the credit cost formula per model and per add-on, that texturing is on by default, and that input_task_id must reference a SUCCEEDED task. It also actively warns about deprecated parameters that the schema still exposes, which an agent would otherwise misuse.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose and cost, then organized into labeled blocks (IMAGE INPUT, model selection, a worked example). It is long, and a few lines restate what the schema already annotates, but for a 30-parameter tool with an enum-heavy matrix the density is largely justified.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 30-parameter generation tool, the definition covers input modalities, cost, model-combination rules, defaults, deprecations, and a concrete end-to-end example. An output schema exists and annotations carry the safety profile, so the remaining burden on the description is fully discharged.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is already 100%, so the baseline is 3, but the description earns more by mapping model choices to project intent (e.g. meshy-t2.5 + meshy-n1 for a riggable character) and translating options into plain terms ('"none" is should_texture false', 'omit texture_model for the geometry's default'). It does repeat some schema-level detail (file_paths vs image_urls) rather than adding to it, and mutual-exclusion rules between texture_image_urls / texture_prompt are only partly restated.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Generate a 3D model') plus the distinctive scope ('from 1–4 views of the same object'), and notes the default texturing behavior. That scope immediately separates it from the single-image sibling meshy_image_to_3d and from meshy_text_to_3d.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit input contract ('IMAGE INPUT (exactly ONE)') and a project-to-model mapping table (hero asset, game character, props, real object from photos, 3D print, cheap drafts) with concrete parameter pairings. It also flags a cross-tool constraint ('smart topology is meshy_image_to_3d only'). What it never states outright is the boundary case: when a single photo should route to meshy_image_to_3d instead.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.