生成纹理
为上传的 3D 模型生成纹理。
上传模型和参考图片,为现有 3D 模型生成纹理。
Authorization
bearer In: header
Request Body
multipart/form-data
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X POST "https://example.com/api/v2/rodin_texture_only" \ -F image="[ \"string\" ]" \ -F model="[ \"string\" ]"{ "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}输入
通过 multipart 上传恰好一张参考图片和恰好一个 3D 模型,两者都是必填项。
图片支持 JPEG、PNG、WebP、TIFF、GIF、AVIF、HEIC、HEIF、BMP 和 JPEG 2000;模型支持 OBJ、STL、glTF/GLB、FBX 和 USDZ。
material 可取 PBR、Shaded 或 All,默认为 PBR;All 会同时交付 PBR 和 Shaded 输出。resolution 可取 Basic(2K)或 High(4K),默认为 Basic。
示例
curl --fail-with-body --request POST 'https://api.hyper3d.com/api/v2/rodin_texture_only' \
--header "Authorization: Bearer ${RODIN_API_KEY}" \
--form 'image=@./reference.png' \
--form 'model=@./model.glb' \
--form 'material=PBR' \
--form 'resolution=Basic'
import os
from pathlib import Path
import requests
with Path("reference.png").open("rb") as image_file, Path("model.glb").open("rb") as model_file:
response = requests.post(
"https://api.hyper3d.com/api/v2/rodin_texture_only",
headers={"Authorization": f"Bearer {os.environ['RODIN_API_KEY']}"},
files={
"image": ("reference.png", image_file, "image/png"),
"model": ("model.glb", model_file, "model/gltf-binary"),
},
data={"material": "PBR", "resolution": "Basic"},
timeout=60,
)
response.raise_for_status()
print(response.json())
计费
每个生成纹理请求均扣除 0.5 credits,不受上传模型、参考图片、材质、分辨率或其他输入值影响。
响应与错误
提交成功后的标识规则与 Rodin 生成一致:用 jobs.subscription_key 查询状态,用顶层 uuid 下载结果。
{
"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
}
HTTP 201 仅表示 endpoint 已处理请求;只有在 error 缺失或为空且顶层 uuid 非空时,任务才算已受理。HTTP 400 表示字段或文件无效,401 表示鉴权无效,429 表示触发限流。