ComfyUI Node

Rodin Gen-2

Rodin Gen-2 puts a 3D modeler in your ComfyUI graph

By Runware·Created 2 years ago·Updated about a month ago· 140
Rodin Gen-2
  • images
  • file_path
positivePrompt
seed0
numberResults1
settings.hdTexturefalse
settings.materialPBR
settings.meshModeQuad
settings.polyCountfalse
settings.polyCount_value500
settings.qualitymedium
settings.taPosefalse
settings.useOriginalAlphafalse
ttlfalse
ttl_value60
outputFormatGLB
advanced_json

Most of the Runware pack's nodes hand you an image or a video. This one hands you a 3D model. Rodin Gen-2 is Hyper3D's (Deemos) image-to-3D and text-to-3D model, and through this node it turns a photo or a prompt into a proper GLB mesh with PBR materials - no Blender, no photogrammetry rig, no local GPU. You get a usable asset for game prototyping, product shots, or just seeing what your favorite 2D character looks like in the round.

A couple of honest caveats before you get excited. First, the output is a file_path string, not something ComfyUI can render in the viewport - the model saves to your output folder and the node hands you the path. That's the tradeoff for putting 3D in a 2D-first tool. Second, "Gen-2" quality on a 500-poly budget is a rough model; the detail settings exist for a reason.

How it works

The node posts an image (or just a prompt) to Runware's cloud, which runs Rodin's generation pipeline and saves the result as a GLB to your ComfyUI output folder. The request is assembled from the images input, the prompt, and a pile of mesh/texture settings, and the returned file_path string points at the saved file. Because it's an API call, quality is a parameter rather than a hardware problem - crank it and pay, or keep it light.

The inputs that matter

  • images (IMAGE) - the reference. Image-to-3D is where Rodin genuinely shines: feed it a product photo or a character render and it reconstructs the shape, including alpha if you keep settings.useOriginalAlpha on.
  • positivePrompt - text-to-3D fallback, and useful for nudging the image result ("sneakers, detailed soles").
  • settings.quality - extra-low to high. This sets the preset polygon budget, and it's the first knob you should touch.
  • settings.polyCount / settings.polyCount_value - the manual override, 500 to 1,000,000. The tooltip is blunt: 150k+ recommended for real detail. That's the difference between a usable asset and a lump.
  • settings.material - PBR, Shaded, or All. PBR gets you the textured, game-ready output; All returns both.
  • settings.meshMode - Raw or Quad. Quad topologies rig and animate better; pick it if the model's going into a game engine or character pipeline.
  • settings.hdTexture - on for clean close-ups, off to save cost.
  • settings.taPose - forces a T/A-pose on humanoids, which you want if you're rigging.

There's also seed (max 65535 here), numberResults (max 4), outputFormat (GLB only - not much of a dropdown), and an advanced_json escape hatch documented for settings.addons and settings.boundingBox.

Installing

Same pack, same drill:

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

Restart ComfyUI (or ComfyUI Manager → search Runware). Needs a Runware API key via Settings, RUNWARE_API_KEY, or runware auth login.

Where people get burned

The most common stumble is expecting the node to show you the model. It won't - the file_path output is a string. Point it at a Save/Preview text node or just check your output/ folder for the GLB and open it in any 3D viewer. Next: polygon count. Default quality is medium and the default budget is far below what looks good; if your result looks melted, that's the poly budget, not the model. And riggers, don't skip taPose - retopologizing a non-T-pose humanoid by hand is nobody's idea of a fun afternoon.

CategoryRunware/3D/hyper3d

Inputs (16)

NameTypeDefaultDescription
imagesoptIMAGE
positivePromptoptSTRINGText prompt describing elements to include in the generated output.
seedoptINT00–65535Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range.
numberResultsoptINT11–4Number of results to generate. Each result uses a different seed, producing variations of the same parameters.
settings.hdTextureoptBOOLEANfalseEnables high-quality texture generation.
settings.materialoptCOMBOPBRRendering material type for the output model.
settings.meshModeoptCOMBOQuadMesh topology for the output model.
settings.polyCountoptBOOLEANfalseEnable to set settings.polyCount. Off uses the model's default.
settings.polyCount_valueoptINT500500–1000000Custom polygon count for the output mesh. Values of 150,000 or higher are recommended for the best detail.
settings.qualityoptCOMBOmediumPreset polygon count for the output mesh.
settings.taPoseoptBOOLEANfalseForces a T-pose or A-pose for humanoid models.
settings.useOriginalAlphaoptBOOLEANfalsePreserves the original image transparency channel.
ttloptBOOLEANfalseEnable to set ttl. Off uses the model's default.
ttl_valueoptINT60Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`.
outputFormatoptCOMBOGLBFile format for the generated 3D model.
advanced_jsonoptSTRINGOptional JSON merged into the request. For: settings.addons, settings.boundingBox

Outputs (1)

NameTypeDescription
file_pathSTRING