Rodin - Gen 2.5 Fast Image-to-3D
The draft, not the deliverable
- api_key
- images
- model_path
Every 3D generation workflow starts with a hundred wrong guesses. Rodin - Gen 2.5 Fast Image-to-3D is built for exactly that phase. It's the image-to-3D node in the pack's 2.5 lineup that defaults to the cheapest tier, caps the mesh at a game-engine-friendly 20,000 faces, and gets you a result fast enough to say "no, that's not it" and immediately try again. This is the iteration node. Nothing more, and that's a compliment.
What it is
Image-to-3D on Rodin's Gen 2.5 model, in Fast mode. Like every node in this pack, it's a cloud API wrapper: your image tensors are converted to PNGs in memory, uploaded to https://api.hyper3d.com/api/v2/rodin with your key as a Bearer token, and the node polls a status endpoint every five seconds until the job is done, then downloads the mesh to ComfyUI/output/<timestamp>/. Fast here means the tier is fast and cheap - your machine's involvement doesn't change. The mesh comes back as raw topology by default, which is fine for looking at a shape and not fine for a final asset.
The inputs that matter
- tier -
Gen-2.5-Extreme-Low,Low,Medium, orHigh, defaulting toLow. This is your speed-versus-quality dial, and for a draft node Low is a perfectly good default. Go up only when Low's output is too rough to judge. - mesh_faces - the actual cap, 1,000 to 20,000 faces, default 20,000. This is the "fast" part made concrete: no million-face meshes here, so jobs complete faster and cost less. When you're iterating on a silhouette, 20K faces is plenty of signal.
- Material_Type -
Shadedby default here (unlike the older nodes that default to PBR). Makes sense for drafts: a shaded bake is enough to judge the shape, and you save credits by not asking for the full PBR stack until later.
seed_ for reproducibility, geometry_file_format (glb/usdz), texture_mode, and TAPose round out the required set. Optional bbox and height_cm pin the physical size if that's part of what you're testing.
What comes out
One output, model_path - a string path to the downloaded GLB. Wire it into ComfyUI's core Preview3D node to spin it in the viewport, which is the whole feedback loop this node exists for.
Where it fits
Rodin's 2.5 family has a clear division of labor, and Fast is the bottom of the ladder on purpose:
- Fast Image - iterate on shapes and composition, pay the least.
- Regular Image - the balanced middle; scale up to 1M faces when the idea survives.
- ExtremeHigh Image - the final pass with up to 2M faces, all the formats, and a Creative toggle.
If you're honest with yourself about which phase you're in, you'll naturally use all three. The trap is treating a Fast result as the deliverable - at 20K faces it'll look soft in any real render. When the shape is right, move up a tier and re-run with the same seed for a comparable result.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/DeemosTech/ComfyUI-Rodin.git
pip install -r requirements.txt
or "ComfyUI-Rodin" via ComfyUI Manager, then restart. Deps are light: aiohttp for HTTP, asyncio already in stdlib. Nothing to download, no GPU requirement - this whole pack is a remote-rendering frontend.
Troubleshooting
Standard pack family: MISS_API_KEY is the key node not being connected; a wrong or creditless key fails at generation time, not at the key node; and a job that polls past 30 minutes times out in the console - check the Rodin dashboard since the mesh might still have finished. One Fast-specific tip: if your drafts look worse than you expected, you're probably judging a Low-tier 20K-face output at final-asset standards. That's not the node failing; that's the tier working as designed.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| api_key | APIKEY | — | |
| images | IMAGE | — | |
| tier | COMBO | Gen-2.5-Low | 4 options: Gen-2.5-Extreme-Low, Gen-2.5-Low, Gen-2.5-Medium, Gen-2.5-High |
| seed_ | INT | 00–65535 | — |
| Material_Type | COMBO | Shaded | 4 options: PBR, Shaded, All, None |
| geometry_file_format | COMBO | glb | 2 options: glb, usdz |
| mesh_faces | INT | 200001000–20000 | — |
| texture_mode | COMBO | Default | 5 options: extreme-low, low, medium, high, Default |
| TAPose | BOOLEAN | false | — |
| bboxopt | STRING | — | |
| height_cmopt | INT | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model_path | STRING | — |