Hunyuan3d V2 Multi View
Playground
Try it on WavespeedAI!Hunyuan3D-V2-Multi-View is a state-of-the-art image-to-3D generative model developed by Tencent and now available on WaveSpeedAI.
Features
Hunyuan3D-V2-Multi-View
Hunyuan3D-2 is an open-source 3D generation model series launched by Tencent. As of March 2025, the latest version is 2.0, supporting the generation of high-fidelity 3D models with high-resolution texture maps through text, image, or sketch inputs.
Technical Highlights
The system adopts a separated process of geometry generation + texture synthesis:
-Geometry Generation (Hunyuan3D-DiT): Based on a flow diffusion model that generates untextured 3D geometric models, with 2.6B parameters, capable of precisely extracting geometric information from input images or text.
- Texture Synthesis (Hunyuan3D-Paint): Adds high-resolution (4K) textures to geometric models, with 1.3B parameters, supporting multi-view diffusion generation technology to ensure realistic textures and consistent lighting.
- By decoupling shape and texture generation, it effectively reduces complexity and improves generation quality.
Performance and Efficiency Optimization
- Fast Generation: Completes model generation in as fast as 30 seconds, with the accelerated version (Hunyuan3D-DiT-v2-0-Fast) shortening inference time by 50% through guidance distillation techniques.
- Multi-modal Input: Supports various input methods including text descriptions, images, and sketches, compatible with Blender plugins and Gradio applications, lowering the usage threshold.
- Open Source Model Ecosystem The project has open-sourced 6 models (some simplified versions), covering different scenario needs:
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/wavespeed-ai/hunyuan3d-v2-multi-view" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
"front_image_url": "https://d3gnftk2yhz9lr.wavespeed.ai/media/images/1744448061406038945_mD5ACGR3.jpg",
"back_image_url": "https://d3gnftk2yhz9lr.wavespeed.ai/media/images/1744448063989972538_psGEBxuq.jpg",
"left_image_url": "https://d3gnftk2yhz9lr.wavespeed.ai/media/images/1744448066831654669_1hCzuqnj.jpg",
"num_inference_steps": 50,
"guidance_scale": 7.5,
"octree_resolution": 256,
"textured_mesh": false
}'
# 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 |
---|---|---|---|---|---|
front_image_url | string | Yes | https://d3gnftk2yhz9lr.wavespeed.ai/media/images/1744448061406038945_mD5ACGR3.jpg | - | URL of image to use while generating the 3D model. |
back_image_url | string | Yes | https://d3gnftk2yhz9lr.wavespeed.ai/media/images/1744448063989972538_psGEBxuq.jpg | - | URL of image to use while generating the 3D model. |
left_image_url | string | Yes | https://d3gnftk2yhz9lr.wavespeed.ai/media/images/1744448066831654669_1hCzuqnj.jpg | - | URL of image to use while generating the 3D model. |
seed | integer | No | - | -1 ~ 2147483647 | The random seed to use for the generation. |
num_inference_steps | integer | No | 50 | 1 ~ 50 | The number of inference steps to perform. |
guidance_scale | number | No | 7.5 | 0.0 ~ 20.0 | The guidance scale to use for the generation. |
octree_resolution | integer | No | 256 | 1 ~ 1024 | Octree resolution for the model. |
textured_mesh | boolean | No | false | - | If set true, textured mesh will be generated and the price charged would be 3 times that of white mesh. |
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 Query Parameters
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 | 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 |