meshy / v7 / multiImageTo3D
Give Meshy v7 four views, get a better character
- api_config
- model
- fbx_model
- thumbnail
- rigged_model
- rigged_fbx_model
- animated_model
- animated_fbx_model
- basic_animations
- workflow_id
- raw_json
Single-image 3D reconstruction is a miracle with a flaw: the model has to invent everything it can't see, and with one photo that's roughly two-thirds of the object. Meshy v7's multi-image mode is the fix - feed it multiple views of the same subject and it hallucinates a lot less. This node is how you run that from ComfyUI, and for characters specifically it's usually worth the extra reference images.
What it is
meshy / v7 / multiImageTo3D from civitai/civitai-comfy-nodes. Instead of one image_url, the required input is image_urls_json - a JSON array holding 1 to 4 views of the same object. More views means better geometry on the sides the generator would otherwise guess. The tooltip also gives you a gift: "Meshy has no ultra or lowpoly mode on this operation," so this node's schema is the v7 set minus ultra_mode and model_type.
The inputs
image_urls_json- required, multiline JSON, 1–4 URLs. Format it as a JSON array of strings. Keep the views consistent - same subject, different angles, ideally a rough orbit of shots - because wildly inconsistent references confuse the reconstruction.pose_mode-none/a-pose/t-pose. Same as the single-image v7: force a T or A pose if you're rigging for animation.texture_image_url- an optional 2D image to guide texturing on top of the reference views.rigging_height_meters(1.7),animation_action_id(0 = "Idle") - character scale and animation preset, used when rigging/animation are enabled.target_polycount,topology,symmetry_mode,should_remesh,enable_pbr,texture_prompt,enable_rigging,enable_animation,should_texture,seed- the rest of the v7 family's controls, unchanged.
The outputs
model (GLB URL), fbx_model, thumbnail (IMAGE), then the rigged/animated set - rigged_model, rigged_fbx_model, animated_model, animated_fbx_model, basic_animations - which populate when you enable rigging and animation. Plus workflow_id and raw_json.
Installing it
ComfyUI Manager → Civitai Comfy Nodes → Install → restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/civitai/civitai-comfy-nodes.git
pip install -r civitai-comfy-nodes/requirements.txt
Gotchas
- JSON, not an image.
image_urls_jsonwants a JSON array of URL strings - paste it as text, and make sure the JSON parses (trailing commas and single quotes are the classic killers). A malformed array fails before anything is submitted. - Views must be the same subject. Multi-view reconstruction assumes consistency. Different outfit, different pose, different lighting between shots and you're paying extra for worse results.
- Metered, and multi-view isn't the cheap end. You're running a commercial Meshy job with more inputs; rigging and animation stack on top. Check
raw_jsonfor the per-run cost. - Credentials - Civitai Auth node,
CIVITAI_API_TOKEN, or sidebar OAuth, no exceptions. - Expect cleanup. More views reduce the hallucination problem; they don't fix topology. Same field-wide caveat as every 3D node here.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| image_urls_json | STRING | 1–4 views of the same object. Meshy has no ultra or lowpoly mode on this operation. | |
| target_polycountopt | INT | 30000100–300000 | — |
| topologyopt | COMBO | triangle | 2 options: quad, triangle |
| symmetry_modeopt | COMBO | auto | 3 options: off, auto, on |
| should_remeshopt | BOOLEAN | true | — |
| enable_pbropt | BOOLEAN | false | — |
| texture_promptopt | STRING | — | |
| enable_riggingopt | BOOLEAN | false | — |
| enable_animationopt | BOOLEAN | false | — |
| should_textureopt | BOOLEAN | true | — |
| pose_modeopt | COMBO | none | Pose to generate the character in. "none" lets Meshy pick. |
| texture_image_urlopt | STRING | 2D image guiding the texturing process. | |
| rigging_height_metersopt | FLOAT | 1.700.01–100 | Approximate character height in meters. Only used when enableRigging is set. |
| animation_action_idopt | INT | 920–696 | Animation preset from Meshy's library (0 is "Idle"); see https://docs.meshy.ai/en/api/animation-library. Only used when Civitai.Orchestration.Grains.Workflows.Steps.PolyGen.Fal.MeshyFalPolyGenInput.EnableAnimation is set. |
| api_configopt | CIVITAI_CONFIG | Optional Civitai Auth connection; defaults to CIVITAI_API_TOKEN or stored OAuth login. |
Outputs (10)
| Name | Type | Description |
|---|---|---|
| model | STRING | — |
| fbx_model | STRING | — |
| thumbnail | IMAGE | — |
| rigged_model | STRING | — |
| rigged_fbx_model | STRING | — |
| animated_model | STRING | — |
| animated_fbx_model | STRING | — |
| basic_animations | STRING | — |
| workflow_id | STRING | — |
| raw_json | STRING | — |