Rodin - Gen 2.5 ExtremeHigh Image-to-3D
The Rodin node you pay for when 'good enough' isn't
- api_key
- images
- model_path
Some ComfyUI nodes are free. This one never is - and for once, that's the point. The Rodin - Gen 2.5 ExtremeHigh Image-to-3D node is the top tier of the Hyper3D/Rodin cloud generation service, wired into ComfyUI. Feed it an image, wait a few minutes, and it hands you a textured, game-ready mesh. It costs API credits, it runs entirely on someone else's GPUs, and if you're making a hero asset rather than a rough draft, it's the node in this pack you actually want.
What it is, honestly
DeemosTech built the ComfyUI-Rodin pack to wrap the Rodin API in graph form. "ExtremeHigh" is the flagship mode: up to two million mesh faces, full texture control, and output formats most of the other nodes don't even offer. Nothing runs locally - no checkpoint download, no VRAM pressure; your machine just waits politely. The wider ComfyUI ecosystem is mostly "pay with VRAM and electricity"; this pack is the "pay with credits" corner, and this node is its most expensive room.
How it works
The node takes your IMAGE tensors, converts them to PNGs in memory, and uploads them as multipart form data to https://api.hyper3d.com/api/v2/rodin, with your key as a Bearer token. The API returns a job UUID, and the node then polls a status endpoint every five seconds for up to thirty minutes. When the job finishes, it downloads the result into ComfyUI/output/<timestamp>/ and returns the file path. That's the whole pipeline: submit, poll, download. One practical upshot: a run looks frozen - the node is just sleeping between polls while the console prints Status: lines.
The inputs that actually matter
The node is opinionated, so here's the short list:
- Material_Type -
PBR,Shaded,All, orNone. PBR gives you the full texture set (albedo, normal, roughness…) game engines want;Shadedis a flat shaded bake, faster and lighter;Allgets you both. - mesh_mode / mesh_faces -
RawvsQuadtopology, and face count from 20K to 2M. More faces = more detail, but also more download time and more work for whatever engine eats the file; 1M is the default and plenty for almost everything. - geometry_file_format -
glb,usdz,fbx,obj, orstl. This is the one node in the pack that offers all five; pick the format your target app actually eats. - texture_mode -
highby default; drop it if you want a smaller texture. - Creative - the sneaky-good one. Off means the reconstruction sticks to what's visible in your image (faithful mode). On flips it to "creative" mode and lets the model hallucinate plausible geometry for whatever's hidden behind the object. Great for a single reference photo, annoying if you need exact reproduction.
- is_micro - an optimization flag for small/simple objects; leave it off unless you know you want it.
seed_ and TAPose round out the required set (TAPose asks for a rigged/posed character - leave it off for objects). The optional bbox and height_cm inputs pin the model's physical dimensions; feed bbox from the pack's BBox Controlnet node if you want sliders instead of typing.
What comes out
One output: model_path, a string path to the downloaded mesh on disk. Wire it into the core Preview3D node's model_file input to spin the result on screen - that's the pack's own example-workflow pattern. From there it's Ctrl+C into Blender/Unity/whatever.
Installing it
ComfyUI Manager, search "ComfyUI-Rodin". Or the manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/DeemosTech/ComfyUI-Rodin.git
pip install -r requirements.txt
Then restart ComfyUI. Dependencies are light - aiohttp for the HTTP calls, plus asyncio, which ships with Python so that pip line is a free no-op. No model downloads, no CUDA deps.
Where people get burned
- Credits. ExtremeHigh burns them faster than any other node here. A run that times out at 30 minutes is still a run the API billed.
MISS_API_KEY- the key node output isn't connected, or the key widget is empty. The node won't tell you the key is wrong until the API rejects it, so test with a cheap tier first.- The long wait. Jobs commonly take minutes; polling caps at 30. If the console says "Job polling timed out", check the Rodin dashboard - the job may have finished there without downloading.
- Write permission. The node saves into
ComfyUI/output/. If that's read-only (a container, a locked install), the download fails withUNKNOWN_ERROR.
One more opinion: don't draft with this node. For iteration, use the Fast or Regular 2.5 nodes and keep ExtremeHigh for the final pass. Your credits - and your patience - will thank you.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| api_key | APIKEY | — | |
| images | IMAGE | — | |
| seed_ | INT | 00–65535 | — |
| Material_Type | COMBO | Shaded | 4 options: PBR, Shaded, All, None |
| mesh_mode | COMBO | Raw | 2 options: Raw, Quad |
| mesh_faces | INT | 100000020000–2000000 | — |
| geometry_file_format | COMBO | glb | 5 options: glb, usdz, fbx, obj, stl |
| texture_mode | COMBO | high | 5 options: legacy, extreme-low, low, medium, high |
| is_micro | BOOLEAN | false | — |
| Creative | BOOLEAN | false | — |
| TAPose | BOOLEAN | false | — |
| bboxopt | STRING | — | |
| height_cmopt | INT | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model_path | STRING | — |