Nodes/Civitai Comfy Nodes/meshy / v7 / imageTo3D
ComfyUI Node

meshy / v7 / imageTo3D

The character-generation node with the pose controls

By civitai·Created 4 months ago·Updated about a month ago· 55
meshy / v7 / imageTo3D
  • api_config
  • model
  • fbx_model
  • thumbnail
  • rigged_model
  • rigged_fbx_model
  • animated_model
  • animated_fbx_model
  • basic_animations
  • workflow_id
  • raw_json
◄image_url►
◄target_polycount30000►
◄topologytriangle►
◄symmetry_modeauto►
◄should_remeshtrue►
◄enable_pbrfalse►
◄texture_prompt►
◄enable_riggingfalse►
◄enable_animationfalse►
◄should_texturetrue►
◄pose_modenone►
◄texture_image_url►
◄rigging_height_meters1.70►
◄animation_action_id92►
◄ultra_modefalse►
◄model_typestandard►

Meshy v7 is where the hosted image-to-3D services start to feel like a real character pipeline instead of a shape guesser. This node adds the controls that matter for people making people: explicit pose selection, a reference for the texture pass, a character height in meters, and a whole animation library. If you want a rigged, posed, animated character from a single image, this is the node in this pack that's built for it.

What it is

meshy / v7 / imageTo3D from civitai/civitai-comfy-nodes. Your reference image goes up to Civitai's orchestration API, a Meshy v7 job runs on the fal-hosted backend, and a mesh comes back - with the v7 extras. Same STRING-not-IMAGE gotcha as the other Meshy nodes: image_url is a URL string, not an image socket.

The inputs

  • image_url - required STRING. Your reference image, hosted somewhere reachable.
  • pose_mode - none (Meshy picks), a-pose, or t-pose. The tooltip says it plainly: "none" lets Meshy choose. If you're rigging for animation, forcing a T or A pose is usually the smart move so the skeleton behaves.
  • texture_image_url - a second 2D image guiding the texturing. Nice control: use a clean render for geometry and a styled version for the paint.
  • rigging_height_meters - approximate character height in meters, default 1.7. Only used when rigging is enabled; set it to your game's scale convention.
  • animation_action_id - a preset from Meshy's animation library (0 is "Idle"), referenced by ID. The tooltip points at the Meshy docs for the full list. Only used when animation is enabled.
  • ultra_mode - off by default; higher-fidelity geometry with finer surface detail. Expensive, but for a hero asset it's the button.
  • model_type - standard or lowpoly. Here's the trap: lowpoly makes Meshy ignore the remesh controls - topology, target_polycount, should_remesh all become no-ops. Pick it deliberately for game-ready low-poly, not by accident.
  • The v6 family's knobs are all here too: target_polycount, topology, symmetry_mode, should_remesh, enable_pbr, texture_prompt, enable_rigging, enable_animation, should_texture, seed.

The outputs

model (GLB URL), fbx_model, thumbnail (IMAGE), rigged_model, rigged_fbx_model, animated_model, animated_fbx_model, basic_animations - the rigged and animated outputs actually populate on Meshy - 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

  • URL, not image - the classic Meshy-node confusion. Feed it a URL string.
  • lowpoly overrides your mesh controls. If your topology settings seem to do nothing, check model_type - that's the documented behavior, not a bug.
  • It's a metered commercial service. Buzz per run; ultra_mode, rigging, and animation stack on top of the base price. Read raw_json if cost matters.
  • Credentials - Civitai Auth node, CIVITAI_API_TOKEN, or sidebar OAuth.
  • Organic shapes still bite. Meshy v7 is good at characters, but the whole field's honest limit stands: generated topology needs cleanup for anything that ships.
CategoryCivitai/Misc/meshy

Inputs (17)

NameTypeDefaultDescription
image_urlSTRING—
target_polycountoptINT30000100–300000—
topologyoptCOMBOtriangle2 options: quad, triangle
symmetry_modeoptCOMBOauto3 options: off, auto, on
should_remeshoptBOOLEANtrue—
enable_pbroptBOOLEANfalse—
texture_promptoptSTRING—
enable_riggingoptBOOLEANfalse—
enable_animationoptBOOLEANfalse—
should_textureoptBOOLEANtrue—
pose_modeoptCOMBOnonePose to generate the character in. "none" lets Meshy pick.
texture_image_urloptSTRING2D image guiding the texturing process.
rigging_height_metersoptFLOAT1.700.01–100Approximate character height in meters. Only used when enableRigging is set.
animation_action_idoptINT920–696Animation 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.
ultra_modeoptBOOLEANfalseHigher-fidelity geometry with finer surface detail.
model_typeoptCOMBOstandard"lowpoly" makes Meshy ignore the remesh controls (topology, targetPolycount, shouldRemesh).
api_configoptCIVITAI_CONFIGOptional Civitai Auth connection; defaults to CIVITAI_API_TOKEN or stored OAuth login.

Outputs (10)

NameTypeDescription
modelSTRING—
fbx_modelSTRING—
thumbnailIMAGE—
rigged_modelSTRING—
rigged_fbx_modelSTRING—
animated_modelSTRING—
animated_fbx_modelSTRING—
basic_animationsSTRING—
workflow_idSTRING—
raw_jsonSTRING—