Tripo P2 Text to 3D
Integriruj
tripo3d/p2/text-to-3d
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/tripo3d/p2/text-to-3d?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"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.com/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.com/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/tripo3d/p2/text-to-3d?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"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.com/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"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/tripo3d/p2/text-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/rom/developers/docs/mcp)
claude mcp add --transport http doitong-models https://api.doitong.com/v1/mcp \
--header "Authorization: Bearer $DOITONG_API_KEY"
# 2. Your agent calls the "run" tool with:
{
"model_id": "tripo3d/p2/text-to-3d",
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}
}
Kall o Tripo P2 Text to 3D modelo (tripo3d/p2/text-to-3d) vas o Doitong API. Dokumentacia vaš agentura: https://doitong.com/rom/developers/models/tripo3d/p2/text-to-3d.md
POST https://api.doitong.com/v1/run/tripo3d/p2/text-to-3d?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
}
Te o response status si "queued" vaj "running", ker polling GET https://api.doitong.com/v1/requests/REQUEST_ID?wait=20 dži kaj te avel "succeeded"; e fajlo si andro outputs[].url. POST https://api.doitong.com/v1/quote/tripo3d/p2/text-to-3d sa jekhe body-esa del o precizno molipen angl-o phiripen.
Fajlo sar o misalo: $1.10 1,100 API krediti tire fajlo si merime angl-o phiripen Phir les kate
Tiro nevo API klidin. Dikhavel pes akana numa thaj si angleder ando kodo thaj ando API klidin kotor tele. Garav les: na thovel les ande kodo savo keren andre jekh browser.
Tiro prvo rezultato si kate
Ker tele jekh mangipen thaj phir les tire API klidinosa. E rezultatur si kopirime amare arakhipneste, vično vaj 7 dives bilačhes.
Ker jekh mangipen
O kontrolura kerde si katar e schemaske. O kodo thaj e cena menjinen sar tu len menjines.
/run/tripo3d/p2/text-to-3d?wait=20
hesab → $1.10
# Run the model; wait up to 20 s for the finished result in the same call
curl -X POST "https://api.doitong.com/v1/run/tripo3d/p2/text-to-3d?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"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.com/v1/requests/REQUEST_ID?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY"
const API = "https://api.doitong.com/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/tripo3d/p2/text-to-3d?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"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.com/v1"
headers = {"Authorization": "Bearer " + os.environ["DOITONG_API_KEY"]}
payload = {
"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/tripo3d/p2/text-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": "tripo3d/p2/text-to-3d",
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
},
"wait_seconds": 20
}
}
}
Phandel kava mangipen
Tiro kluč ačhel kadale browsereste: bičhalel pes numa ko Doitong API thaj šuvav pes (localStorage) numa te tiknes Remember. Le jekh API ključ
Palal Tripo P2 Text to 3D
Generišinel jekh 3D modelo andar jekh prompto dži ko 1024 karakterenca, jekhe `negative_prompt`-osa dži ko 255 karakterenca. E mesh šaj te oven dži ko 50,000 mukhenca, vaj 25,000 kana `quad` si aktivno. E teksturaki kvalitet džal katar sigutni dži ko ekstremno, jekhe alosaribnasa vaš `texture_version`, opcionalno PBR, e svetlinako ikalipen thaj UV eksporto. Bića si dispozicijate vaš e kiposko paso, e geometrija thaj e teksture.
Parametra
prompttrubul
negative_promptopcionalno
image_seedopcionalno
model_seedopcionalno
face_limitopcionalno
textureopcionalno
pbropcionalno
texture_seedopcionalno
texture_qualityopcionalno
texture_versionopcionalno
delightopcionalno
auto_sizeopcionalno
export_uvopcionalno
export_orientationopcionalno
quadopcionalno
enable_safety_checkeropcionalno
Rezultato
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "tripo3d/p2/text-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": 1100,
"usd": "1.10",
"charged": 1100,
"refunded": 0
},
"input": {
"prompt": "A red fox trots through fresh snow at sunrise, soft golden light, shallow depth of field"
},
"output": {
"model_mesh": {
"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
},
"base_model": {
"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
},
"pbr_model": {
"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
}
},
"rendered_image": {
"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
},
"task_id": "string"
},
"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.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t",
"cancel": "https://api.doitong.com/v1/requests/req_8k2m4q7x1z9c3v5b6n0p2r4t/cancel"
}
}
Outputoske fieldura
- model_mesh
- object {url, content_type, file_name, file_size}GLB vaj FBX fajlo le generirime 3D modeloha, formato si palal oda so Tripo kerel.
- model_urls
- object {glb, fbx, base_model, pbr_model}URL-ja saven sikaven alternativo versije le 3D modeloha.
- rendered_image
- object {url, content_type, file_name, file_size} | nullRenderirime preview savo sikavel le generirime 3D modelo.
- task_id
- string | nullPalem butivar trupo task ID savo identifikujel le generirime modelos rig vaj rig-check sake, bi aver modelos uploadosko.
Aver variantura e Tripo P2
Bute modeli: Teksto ko 3D
AI agentenge: kadija rig sar Markdown si kate https://doitong.com/rom/developers/models/tripo3d/p2/text-to-3d.md. Sa e modelura thaj e gidura: https://doitong.com/developers/llms.txt