Rodin - Smooth Generate
The sibling that trades detail for clean surfaces
- images
- api_key
- model_path
Rodin - Smooth Generate sits right next to Regular Generate in the pack's Gen 1/1.5 row, and it answers a different question. Regular reconstructs faithfully; Smooth reconstructs smoothly. If your input image is noisy, low-detail, or a character concept with messy silhouettes, this node's whole pitch is that it'll sand off the rough edges and hand you a cleaner surface. It shares Regular's input list almost exactly - which makes the difference all the more deliberate: same controls, different model behavior.
What it is
Image-to-3D on Rodin's Gen 1.5-era model line, tuned for smooth output. Mechanically it's the pack standard: your images are PNG-encoded and uploaded to https://api.hyper3d.com/api/v2/rodin with the API key as a Bearer token, the API returns a job UUID, and the node polls every five seconds until the mesh is ready, then downloads it to ComfyUI/output/<timestamp>/. The source shows it forwarding tier="Smooth" to the API along with your polygon and material choices - the "smooth" part is the model's reconstruction behavior, not a post-process on your machine.
The inputs that matter
The required set matches Regular: images, api_key, seed_, Material_Type, and Polygon_count. The two worth touching:
- Polygon_count - six presets, default
18K-Quad, from4K-Quadup to200K-Triangle. The quad options give you subdivision-friendly topology, which pairs naturally with a smoothing mode - you're expected to take the result into an engine and let subdivision do the rest. Start at the 18K default and step up if surfaces still read as lumpy. - Material_Type -
PBRby default, plusShaded,All,None. PBR for anything that'll be lit in a real engine.
Optional bbox and height_cm pin physical dimensions, fed by the pack's BBox Controlnet node if you want sliders.
What comes out
One output, model_path - a string path to the downloaded GLB. Wire it into ComfyUI's core Preview3D node to inspect, which is worth doing here: "smooth" is a flavor, and you'll want to see whether it's the flavor you wanted before you spend real credits on a bigger job.
Regular vs. Smooth, bluntly
Same node, same buttons, different model mode. Regular is the faithful reconstruction - better if your source is already clean and you want what's in the image, warts and all. Smooth is the forgiving one - better for noisy or low-quality inputs, organic shapes, and anything where a clean silhouette matters more than surface-level fidelity. Character artists tend to reach for Smooth for exactly this reason; hard-surface and prop people usually stay on Regular. If you're not sure which camp you're in, run the same image through both once. The comparison is educational, and at these tiers a couple of test jobs is cheap.
Installing it
cd ComfyUI/custom_nodes
git clone https://github.com/DeemosTech/ComfyUI-Rodin.git
pip install -r requirements.txt
or install "ComfyUI-Rodin" from ComfyUI Manager and restart. Light dependencies - aiohttp for the HTTP layer, asyncio already in stdlib - and nothing to download. The heavy lifting happens on Hyper3D's servers, so your GPU is free to keep rendering everything else.
Troubleshooting
Standard pack family: MISS_API_KEY = key node not connected or its box empty; a wrong or creditless key errors at generation time; a 30-minute polling timeout on the console means checking the Rodin dashboard, since the mesh may have completed without the download landing. The Smooth-specific failure mode isn't an error - it's disappointment: feed it a super-detailed reference and the output may look too clean, because that's literally the mode you asked for. If you want the detail back, that's Regular's job.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — | |
| api_key | APIKEY | — | |
| seed_ | INT | 00–65535 | — |
| Material_Type | COMBO | PBR | 4 options: PBR, Shaded, All, None |
| Polygon_count | COMBO | 18K-Quad | 6 options: 4K-Quad, 8K-Quad, 18K-Quad, 50K-Quad, 200K-Quad, 200K-Triangle |
| bboxopt | STRING | — | |
| height_cmopt | INT | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model_path | STRING | — |