Hunyuan3d V3 · Sketch to 3D
Intégrer
hunyuan3d-v3/sketch-to-3d
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.ru/v1/run/hunyuan3d-v3/sketch-to-3d?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.ru/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/hunyuan3d-v3/sketch-to-3d?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"input_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://api.doitong.ru/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"input_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/hunyuan3d-v3/sketch-to-3d", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
# 1. Connect once (Claude Code; Cursor, VS Code, Claude Desktop: https://doitong.com/fr/developers/docs/mcp)
claude mcp add --transport http doitong-models https://api.doitong.ru/v1/mcp \
--header "Authorization: Bearer $DOITONG_API_KEY"
# 2. Your agent calls the "run" tool with:
{
"model_id": "hunyuan3d-v3/sketch-to-3d",
"input": {
"input_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}
}
Appelez le modèle Hunyuan3d V3 · Sketch to 3D (hunyuan3d-v3/sketch-to-3d) via la Doitong API. Documentation pour les agents : https://doitong.com/fr/developers/models/hunyuan3d-v3/sketch-to-3d.md
POST https://api.doitong.ru/v1/run/hunyuan3d-v3/sketch-to-3d?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"input_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}
Si le statut de la réponse est "queued" ou "running", interrogez GET https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20 jusqu’à ce qu’il soit "succeeded" ; les fichiers se trouvent dans outputs[].url. POST https://api.doitong.ru/v1/quote/hunyuan3d-v3/sketch-to-3d avec le même corps renvoie le prix exact avant l’exécution.
Fichiers comme dans l’exemple: 0,375 $ 375 crédits API · ≈ 40,30 ₽ vos fichiers sont mesurés avant l’exécution L’exécuter sur cette page
Votre nouvelle clé API. Elle n’est affichée que maintenant et figure déjà dans le code et dans le champ de clé API ci-dessous. Gardez-la secrète : ne l’intégrez jamais dans du code exécuté dans un navigateur.
Votre premier résultat apparaîtra ici
Construisez une requête ci-dessous et exécutez-la avec votre clé API. Les sorties sont copiées dans notre stockage, conservées indéfiniment ou 7 jours gratuitement.
Créer une requête
Les contrôles sont générés à partir du schéma du modèle. Le code et le prix se mettent à jour lorsque vous les modifiez.
/run/hunyuan3d-v3/sketch-to-3d?wait=20
devis → 0,375 $
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.ru/v1/run/hunyuan3d-v3/sketch-to-3d?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}'
# Still "queued" or "running"? Poll with the id from the response:
curl "https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.ru/v1";
const headers = {
"Authorization": "Bearer " + process.env.DOITONG_API_KEY,
"Content-Type": "application/json",
};
// Run the model; wait up to 20 s for the finished result in the same call
let res = await fetch(API + "/run/hunyuan3d-v3/sketch-to-3d?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"input_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}),
});
let request = await res.json();
if (!res.ok) throw new Error(request.error.code + ": " + request.error.message);
// Not finished yet: long-poll until it is
while (request.status === "queued" || request.status === "running") {
res = await fetch(API + "/requests/" + request.id + "?wait=20", { headers });
request = await res.json();
}
if (request.status !== "succeeded") throw new Error(JSON.stringify(request.error));
console.log(request.outputs.map((o) => o.url), request.cost.credits + " API credits ($" + request.cost.usd + ")");
import os
import requests
API = "https://api.doitong.ru/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"input_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/hunyuan3d-v3/sketch-to-3d", params={"wait": 20}, json=payload, headers=headers)
request = r.json()
if not r.ok:
raise RuntimeError(request["error"]["code"] + ": " + request["error"]["message"])
# Not finished yet: long-poll until it is
while request["status"] in ("queued", "running"):
request = requests.get(API + "/requests/" + request["id"], params={"wait": 20}, headers=headers).json()
if request["status"] != "succeeded":
raise RuntimeError(request["error"])
print([o["url"] for o in request["outputs"]], request["cost"]["credits"], "API credits", "$" + request["cost"]["usd"])
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "run",
"arguments": {
"model_id": "hunyuan3d-v3/sketch-to-3d",
"input": {
"input_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
},
"wait_seconds": 20
}
}
}
Exécuter cette requête
Votre clé reste dans ce navigateur : elle est envoyée uniquement à la Doitong API et enregistrée dans localStorage uniquement si vous cochez Mémoriser. Obtenir une clé API
À propos de Hunyuan3d V3 · Sketch to 3D
Nécessite une image de croquis ou de dessin au trait (`input_image_url`, de 128x128 à 5000x5000 pixels) et un `prompt` de 1024 caractères maximum décrivant la couleur, la catégorie et le matériau. `enable_pbr` active les matériaux PBR et `face_count` définit le nombre cible de polygones, de 40000 à 1500000. Renvoie un fichier GLB, les URL des autres formats et une miniature.
Paramètres
input_image_urlrequis
enable_safety_checkerfacultatif
promptrequis
enable_pbrfacultatif
face_countfacultatif
Les paramètres de fichier acceptent une URL publique https://, un URI data: jusqu’à 10 MB ou le file_url d’un téléversement. Fichiers
Sortie
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "hunyuan3d-v3/sketch-to-3d",
"status": "succeeded",
"created_at": "2026-10-20T12:00:00Z",
"started_at": "2026-10-20T12:00:02Z",
"completed_at": "2026-10-20T12:00:09Z",
"queue_position": null,
"cost": {
"credits": 375,
"usd": "0.375",
"charged": 375,
"refunded": 0
},
"input": {
"input_image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
},
"output": {
"model_glb": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
},
"thumbnail": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
},
"model_urls": {
"glb": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
},
"fbx": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
},
"obj": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
},
"usdz": {
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_name": "0-output.jpeg",
"file_size": 1843200
}
},
"seed": 42
},
"outputs": [
{
"type": "file",
"url": "https://content.doitong.com/dev-api/2026/10/20/req_8k2m4q7x1z9c3v5b6n0p2r4t/0-output.jpeg",
"content_type": "image/jpeg",
"file_size": 1843200,
"stored": true
}
],
"error": null,
"metrics": {
"inference_seconds": 6.8
},
"urls": {
"self": "https://api.doitong.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://api.doitong.ru/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
Champs de sortie
- model_glb
- object {url, content_type, file_name, file_size}Fichier GLB contenant l'objet 3D généré.
- thumbnail
- object {url, content_type, file_name, file_size} | nullVignette affichant un aperçu du modèle généré.
- model_urls
- object {glb, fbx, obj, usdz}Liens vers le modèle 3D dans différents formats.
- seed
- integer | nullValeur de la graine utilisée pendant la génération.
Autres variantes Hunyuan3d V3
Plus de modèles : Image vers 3D
Pour les agents IA : cette page au format Markdown est disponible à https://doitong.com/fr/developers/models/hunyuan3d-v3/sketch-to-3d.md. Tous les modèles et guides : https://doitong.com/developers/llms.txt