Hyper3d Rodin V2 Image To 3d
Playground
Try it on WavespeedAI!Hyper3D Rodin v2 turns a single image into production-ready 3D assets with clean topology, UVs and textures. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.
Features
Hyper3D-Rodin-Gen-2 — Text / Image to 3D
Hyper3D-Rodin-Gen-2 is Hyper3D’s commercial 3D generation system that turns text prompts or 2D images into production-ready 3D assets with UVs and textures. It targets game art, film/TV, XR, product visualisation and even 3D printing workflows.
🔧 What it does
-
Text-to-3D & Image-to-3D in one model Enter a prompt, upload one or more images, or combine both. Multi-view images help reconstruct more accurate shapes.
-
Geometry + textures, ready for DCC / engines Outputs UV-unwrapped meshes plus PBR or shaded textures for use in Unity, Unreal, Blender, Maya, 3D printing pipelines, etc.
-
Topology & resolution control Choose between quad meshes (good for sculpting / rigging) or triangle meshes (game-ready), and pick an approximate polycount tier.
-
Geometric & pose control Optional bounding-box constraints and T/A-pose enforcement help keep characters and props within expected proportions and ready for rigging.
🧩 Parameters
1. Core inputs
-
prompt Natural-language description of the object (shape, style, material, usage).
-
images* One or more reference images (front / side / 3-view / concept art).
- With only text → Text-to-3D
- With images (and optional text) → Image-to-3D / guided Text-to-3D
-
material Rendering/material mode for textures:
- PBR – Physically-based maps (albedo, normal, roughness, metallic, etc.).
- Shaded – Baked / stylised look.
- All – Export both PBR and shaded variants.
2. Quality & mesh settings
-
quality_and_mesh Controls mesh type and target polycount:
-
4k_Quad, 8k_Quad, 18k_Quad, 50k_Quad → Quad-dominant topology at roughly 4k / 8k / 18k / 50k faces. Best for character work, sculpting, retopology and rigging.
-
2K_Triangle, 20K_Triangle, 250K_Triangle, 500K_Triangle → Triangle meshes at increasing density. Good for game engines, previs, or high-detail props.
Higher tiers give more detail but larger file sizes and longer generation time.
-
-
addons Optional enhancement packs. Currently:
- HighPack – Increases mesh and texture fidelity (higher polycount / resolution) for final-quality assets.
3. Output format
-
geometry_file_format Choose which 3D file you want back:
- glb – Compact, modern, web-friendly (recommended default).
- fbx – Widely used for DCC and game engines.
- obj – Simple geometry + MTL, highly compatible.
- stl – For 3D printing workflows.
- usdz – Apple-friendly AR format.
4. Advanced geometric control
-
bbox_condition A ControlNet-style bounding box that limits the maximum size of the generated model (width / height / depth). Useful when you need consistent scaling across a whole asset library.
-
TAPose When enabled, forces humanoid characters into a T-pose / A-pose for easier rigging and animation downstream.
-
use_original_alpha If your input image has transparency, this option lets the model respect the original alpha silhouette during generation (handy for cut-out product shots or stylised characters).
-
preview_render Adds a quick preview render (e.g., turntable / shaded view) to the download bundle so you can inspect the result without opening a DCC tool.
5. Randomness & reproducibility
-
seed Random seed for generation:
- Leave empty / default → random each time.
- Set to a fixed integer → reproduce the same model configuration (useful for iteration with small prompt tweaks).
🚀 Typical workflow
-
Decide on input mode
- For concepting: start with prompt only.
- For fidelity: upload one or more reference images and optionally add a short prompt.
-
Pick material & mesh quality
- PBR + 8k_Quad or 18k_Quad for game/film characters.
- PBR + 20K_Triangle for background props.
- Add HighPack when you’re close to final asset quality.
-
Set geometry_file_format to match your pipeline (e.g., glb for web, fbx for DCC, stl for printing).
-
(Optional) Add bbox_condition, enable TAPose for characters, and toggle use_original_alpha if your reference image uses transparency.
-
(Optional) Turn on preview_render to get a ready-to-view render in the output zip.
-
Set a seed if you want to be able to regenerate or slightly tweak the same base model.
-
Click Run — once the job finishes, download the mesh + textures bundle and import into your DCC, engine, or 3D-printing tool.
Price
- Per genration cost $0.3.
💡 Tips
- Use clean, centered references with good lighting for image-to-3D. Multi-view images greatly improve shape accuracy.
- Start with medium polycount tiers (8k_Quad, 20K_Triangle) for fast iteration, then switch to higher tiers + HighPack for final export.
- For rigged characters, combine TAPose + quad meshes and export as fbx or glb.
- If scale consistency matters across a project, define a shared bbox_condition and reuse it for all related assets.
Mode 3D Models
-
tripo3d/v2.5/image-to-3d Tripo3D’s v2.5 image-to-3D model turns a single product or concept image into a textured, game-ready 3D asset for e-commerce, AR/VR and real-time engines.
-
tripo3d/v2.5/multiview-to-3d Tripo3D’s multi-view 3D reconstruction model uses several photos of the same object to generate higher-fidelity meshes and textures for digital twins and 3D catalogs.
-
hunyuan3d/v2.1 Tencent Hunyuan3D v2.1 (hosted by WaveSpeedAI) converts text prompts into detailed 3D models, ideal for stylised characters, props and environment assets in games and animation.
-
hunyuan3d-v2-multi-view Tencent Hunyuan3D v2 multi-view leverages multiple reference images to create accurate, textured 3D assets for digital humans, product visualization and virtual production workflows.
Authentication
For authentication details, please refer to the Authentication Guide.
API Endpoints
Submit Task & Query Result
# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/hyper3d/rodin-v2/image-to-3d" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{}'
# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"
Parameters
Task Submission Parameters
Request Parameters
| Parameter | Type | Required | Default | Range | Description |
|---|---|---|---|---|---|
| prompt | string | No | - | A textual prompt to guide the model generation. | |
| images | array | Yes | [] | 1 ~ 5 items | Images to be used in generation, up to 5 images. As the form data request will preserve the order of the images, the first image will be the image for material generation. |
| material | string | No | - | PBR, All, Shaded | The material type. |
| quality_and_mesh | string | No | - | 4k_Quad, 8k_Quad, 18k_Quad, 50k_Quad, 2K_Triangle, 20K_Triangle, 250K_Triangle, 500K_Triangle | The generation quality and mesh mode. |
| geometry_file_format | string | No | - | glb, fbx, obj, stl, usdz | The format of the output geometry file. |
| addons | string | No | - | HighPack | Generate 4K resolution texture instead of the default 2K. If Quad mode, the number of faces will be ~16 times of the number of faces selected in the quality parameter. |
| bbox_condition | array | No | - | - | This is a controlnet that controls the maxmimum sized of the generated model. |
| ta_pose | boolean | No | - | - | Control the generation result to T/A Pose. |
| use_original_alpha | boolean | No | - | - | Used when processing the image. |
| preview_render | boolean | No | - | - | Provided in the download list. |
| seed | integer | No | - | -1 ~ 2147483647 | Seed for random number generator. Set to 0 to use a random seed. |
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data.id | string | Unique identifier for the prediction, Task Id |
| data.model | string | Model ID used for the prediction |
| data.outputs | array | Array of URLs to the generated content (empty when status is not completed) |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.has_nsfw_contents | array | Array of boolean values indicating NSFW detection for each output |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |
Result Request Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| id | string | Yes | - | Task ID |
Result Response Parameters
| Parameter | Type | Description |
|---|---|---|
| code | integer | HTTP status code (e.g., 200 for success) |
| message | string | Status message (e.g., “success”) |
| data | object | The prediction data object containing all details |
| data.id | string | Unique identifier for the prediction, the ID of the prediction to get |
| data.model | string | Model ID used for the prediction |
| data.outputs | string | Array of URLs to the generated content (empty when status is not completed). |
| data.urls | object | Object containing related API endpoints |
| data.urls.get | string | URL to retrieve the prediction result |
| data.status | string | Status of the task: created, processing, completed, or failed |
| data.created_at | string | ISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”) |
| data.error | string | Error message (empty if no error occurred) |
| data.timings | object | Object containing timing details |
| data.timings.inference | integer | Inference time in milliseconds |