Nodes/ComfyUI-Meshy/Meshy - Image to 3D
ComfyUI Node

Meshy - Image to 3D

Meshy Image-to-3D, Right Inside Your Graph

By Kazama-Suichiku·Created 9 months ago·Updated 9 months ago· 7
Meshy - Image to 3D
  • api_key
  • image
  • thumbnail
  • base_color
  • normal
  • metallic_roughness
  • model_path
ai_modellatest
topologytriangle
target_polycount30000
enable_pbrfalse
should_remeshtrue
should_texturetrue

You've got an image in your graph - a render, a sketch, a photo of a toy, whatever - and you want a mesh out of it. MeshyImageTo3D is the node that makes that happen: it ships your image to Meshy's image-to-3D API and comes back with a 3D model plus its texture maps, all without your GPU doing a single bit of generation work. It's the pack's answer to "I have a picture, I want a model I can spin around."

How it works

The mechanism is worth knowing because it explains the node's limits. The node takes the IMAGE tensor, encodes it to a base64 PNG data URL, and posts that directly to Meshy's image-to-3D endpoint (note: the image path uses Meshy's v1 API, while the text nodes use v2 - they're different services under the hood). Then it's the familiar song and dance: poll every five seconds, progress bar, up to a ten-minute window, download the result. It's a big base64 blob riding over HTTPS, so don't feed it a 4K render and expect snappy uploads.

The inputs that matter

  • image - required IMAGE input. Any image in your workflow.
  • ai_model - meshy-4, meshy-5, or latest (default). Leave it on latest.
  • topology - triangle (default) or quad; for game engines and sculpting tools you often want quads, but triangle is the safe default.
  • target_polycount - 100 to 300,000, default 30,000. Lower is lighter, cheaper, and friendlier to engines; higher holds more detail.
  • should_remesh - default on. Cleans up the topology into something usable rather than raw photogrammetry-style soup. Keep it on unless you know why you're turning it off.
  • should_texture - default on. Generates the texture pass. Turn it off and you get an untextured model, and the base_color/normal/metallic_roughness outputs become red error placeholders, because there's nothing to download.
  • enable_pbr - default off here, unlike the text-to-3D node where it's on. Flick it on if the model's headed into a PBR-capable renderer or engine.

The outputs

Five of them: thumbnail (the model render), base_color, normal, metallic_roughness (the PBR texture maps as IMAGE tensors - previewable and saveable right in the graph), and model_path, the string path to the downloaded .glb. The download step also grabs any other formats Meshy returns (FBX, OBJ, STL, USDZ) into the same meshy_<timestamp>_<short-task-id>/ output folder, so even though model_path points at the GLB, your STL for a slicer is usually sitting right next to it.

Where people get burned

Two things. First, the batch trap: if you feed this node a batched image - say, the output of a video or multi-frame node - the code silently takes only the first frame. You get one model, not a stack. Don't assume it processes a batch.

Second, the texture/print mismatch. Community reports comparing Meshy results from ComfyUI against the same prompt on meshy.ai's website note that the ComfyUI path hands over PBR textures as-is, so models can come back glossy and shiny, and users chasing 3D-print files find the result looks like a "beat up bumpy mess" once a slicer repair pass mangles those textures. If your target is printing, turn enable_pbr off and should_remesh on, and don't expect a watertight, texture-free engineering file - image-to-3D gives you an art asset, not a CAD part. There's no direct "export STL" toggle; you take whatever formats Meshy returns from the output folder.

Installing

Standard for this pack, and there are no model downloads - it's pure API. ComfyUI Manager, search "ComfyUI-Meshy", or:

cd ComfyUI/custom_nodes
git clone https://github.com/Kazama-Suichiku/ComfyUI-Meshy
pip install -r ComfyUI-Meshy/requirements.txt

then restart. Dependencies: numpy, Pillow, requests, torch, pyhocon. You'll need a Meshy API key and credits - image-to-3D pricing varies by model and is generally pricier than the text previews. The pack is brand new (single commit, late 2025), so if Manager doesn't find it, clone manually. As with the rest of the pack, failures surface as red placeholder images with the reason in the console: 401 for a bad key, content filters on the image, empty credits, or a task exceeding the ten-minute poll window.

CategoryMesh/Meshy

Inputs (8)

NameTypeDefaultDescription
api_keyAPIKEY
imageIMAGEInput image to convert to 3D model
ai_modeloptCOMBOlatestAI model version to use (latest recommended)
topologyoptCOMBOtriangleMesh topology type
target_polycountoptINT30000100–300000Target polygon count (100-300,000)
enable_pbroptBOOLEANfalseEnable PBR textures
should_remeshoptBOOLEANtrueEnable remeshing for better topology
should_textureoptBOOLEANtrueGenerate textures for the model

Outputs (5)

NameTypeDescription
thumbnailIMAGE
base_colorIMAGE
normalIMAGE
metallic_roughnessIMAGE
model_pathSTRING