Rodin Gen-2
Generate a 3D asset with the Rodin Gen-2 tier.
Generate a 3D model and textures from images or a text prompt.
bearerAuthorizationBearer <token>multipart/form-data- body
images*array<>Images to be used in generation, up to 5 images. As the form data request will preserve the order of the images, For Image-to-3D generation: required (one or more images are needed, maximum 5 images) For Text-to-3D generation: omit this field.
1 <= items <= 5prompt?stringA textual prompt to guide the model generation. For Image-to-3D generation: optional, provide orientation-level guidance (symmetric, sharp, detail...) for generation process For Text-to-3D generation: required. The prompt is first rendered to an image, so a text-only request can also be rejected with `IMAGE_CONTENT_VIOLATION`. Tips: it is recommended to omit this field for Image-to-3D generation.
length <= 1024seed?integerOptional. A seed value for randomization in the mesh and texture generation.
0 <= value <= 65535mesh_mode?stringOptional. Mesh topology of the generated model. `Raw` stands for Triangle face, `Quad` stands for Quad face. When omitted the default depends on `tier`: Gen-2.5 tiers default to `Raw`, every other tier defaults to `Quad`.
"Quad""Quad""Raw"geometry_file_format?stringOptional. Output geometry file format. Supported formats: `glb`, `usdz`, `fbx`, `obj`, and `stl`.
"glb""glb""usdz""fbx""obj""stl"material?stringOptional. Material type. - `PBR`: Physically Based Materials, including base color texture, metallicness texture, normal texture and roughness texture, providing high realism and physically accurate response to dynamic lighting. - `Shaded`: Only base color texture with baked lighting, providing stylized visuals. - `All`: Both PBR and Shaded will be delivered. - `Hybrid`: PBR texture maps with a base color texture that includes baked lighting. - `None`: Asset without material. This will speed up generation.
"PBR""PBR""Shaded""All""Hybrid""None"quality?stringOptional. Preset target face count for Gen-2. Defaults to `medium`. The mapping depends on `mesh_mode`: - `Quad`: `high` 50000, `medium` 18000, `low` 8000, `extra-low` 4000; - `Raw`: `high` 500000, `medium` 150000, `low` 20000, `extra-low` 2000.
"medium""high""medium""low""extra-low"quality_override?integerOptional. Custom target face count from 500 to 1000000 for Gen-2. Takes precedence over `quality` when present. `Quad` mode has an additional maximum of 200000; `Raw` mode supports up to 1000000.
500 <= value <= 1000000tier*"Gen-2"Required. Set this field explicitly to `Gen-2`. If omitted, the endpoint falls back to `Regular` and generates a Gen-1/1.5 asset.
"Regular""Gen-2"bbox_condition?array<>Optional. Controls the maximum dimensions of the generated model. Provide exactly three integers in Width (X-axis), Height (Y-axis), Length (Z-axis) order `(x, y, z)`. See [BBOX Control](/en/api-specification/bbox-control).
3 <= items <= 3addons?array<>Optional paid add-on. Upgrades pack textures from 2K to 4K. For Gen-2, HighPack does not change geometry or generate an additional high-poly model.
[]TAPose?booleanOptional. For a human-like subject, enables rest-pose conditioning so the result is generated in a T-pose or A-pose suitable for animation. When `false`, the input pose is reconstructed as-is.
falseuse_original_alpha?booleanOptional. If `true`, preserves and uses the uploaded image alpha channel during image preprocessing. Has no effect when the input image has no alpha channel.
falsepreview_render?booleanfalsehd_texture?booleanOptional. Enables an additional texture super-resolution and enhancement pass. This can improve fine-detail clarity but may also introduce artifacts. It does not select the final 2K or 4K pack resolution; use the `HighPack` add-on for 4K output.
falsesoft?booleanOptional. Appends smooth edges to the final geometry-generation prompt without changing the generation tier. Tips: We recommend leaving this parameter unset or omitting it entirely.
falsedetail_level?integerOptional. Controls how many final geometry-refinement stages use RGB image conditioning. Higher values preserve more visual detail. Omit to use the default refinement path. Tips: We recommend leaving this parameter unset or omitting it entirely.
1 <= value <= 3is_symmetric?stringOptional. Intended symmetry of the generated geometry. Use `symmetric` for objects that should mirror left and right, `asymmetric` for posed or irregular objects, and `balanced` for mostly symmetric objects that should retain small natural differences. Use `unknown` to let the system infer the mode from the prompt and input images.
"unknown""symmetric""balanced""asymmetric""unknown"quad_normal?booleanOptional. Bakes high-resolution geometry detail into a normal map during mesh refinement.
falseapplication/json- response
error?stringError code, if the request could not be submitted. This is returned in the response body alongside HTTP 201, so clients must check this field rather than relying on the HTTP status alone. This field is omitted on success. For detailed error code information, please refer to: [errors](/en/api-specification/errors)
"NO_SUCH_TASK""ASSET_NOT_AVAILABLE""IMAGE_LABEL_LENGTH_TOO_LONG""INVALID_REQUEST""API_NO_ACTIVE_SUBSCRIPTION""API_SUBSCRIPTION_PLAN_TOO_LOW""API_PARALLELISM_LIMIT_REACHED""API_INSUFFICIENT_FUNDS""API_OBJECT_NOT_FOUND_ON_IMAGE""IMAGE_CONTENT_VIOLATION""PERMISSION_DENIED""API_UNKNOWN"message?stringSuccess message or detailed error information.
uuid?stringUnique identifier for the submitted generation task.
uuidsubmit_time?stringServer time when the task was submitted.
date-timejobs?A job object, containing details of individual jobs executed as part of the generation process.
consumed?numberCredits consumed by this request.
prompt?stringThe prompt actually used for generation.
curl -X POST 'https://api.hyper3d.com/api/v2/rodin' \ -F 'tier=Gen-2'{ "error": "NO_SUCH_TASK", "message": "Submitted.", "uuid": "123e4567-e89b-12d3-a456-426614174000", "submit_time": "2019-08-24T14:15:22Z", "jobs": { "uuids": [ "52faea01-729e-4195-85e8-6050a65315e3" ], "subscription_key": "string" }, "consumed": 0.5, "prompt": "string"}Input
Set tier=Gen-2. For Image-to-3D, submit one to five images and optionally a prompt. For Text-to-3D, submit prompt and omit images.
tier is required
Always send tier=Gen-2. If tier is omitted, the endpoint falls back to Regular and generates a Gen-1/1.5 asset.
curl --fail-with-body --request POST 'https://api.hyper3d.com/api/v2/rodin' \
--header "Authorization: Bearer ${RODIN_API_KEY}" \
--form 'images=@./input.png' \
--form 'tier=Gen-2' \
--form 'mesh_mode=Raw' \
--form 'quality=medium'
HighPack upgrades pack textures from 2K to 4K. For Gen-2 it does not change geometry or generate an additional high-poly model.
Pricing
| Item | Charge |
|---|---|
| Base Gen-2 generation | 0.5 credits |
Charges are additive. Base generation costs only 0.5 credits, and parameters not listed above do not incur additional charges.
Response and lifecycle
{
"message": "Submitted.",
"uuid": "123e4567-e89b-12d3-a456-426614174000",
"jobs": {
"uuids": ["223e4567-e89b-12d3-a456-426614174000"],
"subscription_key": "subscription-key-from-generation-response"
},
"consumed": 0.5
}
Use jobs.subscription_key for Check Status and top-level uuid for Download Results. HTTP 201 means the endpoint handled the request; acceptance requires an absent or empty error and a non-empty top-level uuid. HTTP 400 indicates invalid fields/files, 401 indicates invalid authentication, and 429 indicates throttling.