Trellis 2 · Retexture
Integrieren
trellis-2/retexture
# 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/trellis-2/retexture?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"mesh_url": "https://example.com/your-file.glb"
}'
# 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/trellis-2/retexture?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"mesh_url": "https://example.com/your-file.glb"
}),
});
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 = {
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"mesh_url": "https://example.com/your-file.glb",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/trellis-2/retexture", 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/de/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": "trellis-2/retexture",
"input": {
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"mesh_url": "https://example.com/your-file.glb"
}
}
Rufe das Modell Trellis 2 · Retexture (trellis-2/retexture) über die Doitong API auf. Dokumentation für Agenten: https://doitong.com/de/developers/models/trellis-2/retexture.md
POST https://api.doitong.ru/v1/run/trellis-2/retexture?wait=20
Authorization: Bearer $DOITONG_API_KEY
Content-Type: application/json
{
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"mesh_url": "https://example.com/your-file.glb"
}
Wenn der Antwortstatus "queued" oder "running" lautet, frage GET https://api.doitong.ru/v1/requests/REQUEST_ID?wait=20 ab, bis er "succeeded" lautet; die Dateien befinden sich in outputs[].url. POST https://api.doitong.ru/v1/quote/trellis-2/retexture mit demselben Body gibt den exakten Preis vor der Ausführung zurück.
Diese Anfrage: 0,24 $ 240 API-Credits · ≈ 25,31 ₽ Auf dieser Seite ausführen
Dein neuer API-Schlüssel. Sie wird nur jetzt angezeigt und befindet sich bereits im Code und im untenstehenden API-Schlüssel-Feld. Halten Sie sie geheim: Fügen Sie sie niemals in Code ein, der in einem Browser ausgeführt wird.
Dein erstes Ergebnis erscheint hier
Erstelle unten eine Anfrage und führe sie mit deinem API-Schlüssel aus. Ausgaben werden in unseren Speicher kopiert und dauerhaft oder 7 Tage kostenlos aufbewahrt.
Anfrage erstellen
Die Steuerelemente werden aus dem Modellschema generiert. Code und Preis werden aktualisiert, während du sie änderst.
/run/trellis-2/retexture?wait=20
Preis → 0,24 $
# 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/trellis-2/retexture?wait=20" \
-H "Authorization: Bearer $DOITONG_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"mesh_url": "https://example.com/your-file.glb"
}'
# 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/trellis-2/retexture?wait=20", {
method: "POST",
headers,
body: JSON.stringify({
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"mesh_url": "https://example.com/your-file.glb"
}),
});
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 = {
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"mesh_url": "https://example.com/your-file.glb",
}
# Run the model; wait up to 20 s for the finished result in the same call
r = requests.post(API + "/run/trellis-2/retexture", 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": "trellis-2/retexture",
"input": {
"image": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"mesh_url": "https://example.com/your-file.glb"
},
"wait_seconds": 20
}
}
}
Diese Anfrage ausführen
Dein Schlüssel bleibt in diesem Browser: Er wird nur an die Doitong API gesendet und nur gespeichert (localStorage), wenn du „Merken“ aktivierst. API-Schlüssel abrufen
Über Trellis 2 · Retexture
Wendet auf das Mesh unter `mesh_url` (GLB, OBJ, PLY oder STL) eine neue Textur basierend auf einem Referenzbild `image_url` an. `resolution` ist 512 oder 1024; `texture_size` ist 1024, 2048 oder 4096. Einstellungen für Führung und Sampling der Texturstufe sind verfügbar. Die Geometrie wird nicht neu erzeugt.
Parameter
Sende entweder den kanonischen Namen oder den nativen Namen, nicht beide. Kanonische Namen
image_urlerforderlich
image
mesh_urlerforderlich
seedoptional
resolutionoptional
tex_slat_guidance_strengthoptional
tex_slat_guidance_rescaleoptional
tex_slat_guidance_interval_startoptional
tex_slat_guidance_interval_endoptional
tex_slat_sampling_stepsoptional
tex_slat_rescale_toptional
texture_sizeoptional
Dateiparameter akzeptieren eine öffentliche https://-URL, eine data:-URI bis 10 MB oder die file_url eines Uploads. Dateien
Ausgabe
{
"id": "req_8k2m4q7x1z9c3v5b6n0p2r4t",
"object": "request",
"model": "trellis-2/retexture",
"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": 240,
"usd": "0.24",
"charged": 240,
"refunded": 0
},
"input": {
"image_url": "https://content.doitong.com/images/showcase/v3/gen_fox_cartoon.jpg",
"mesh_url": "https://example.com/your-file.glb"
},
"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
}
},
"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"
}
}
Ausgabefelder
- model_glb
- object {url, content_type, file_name, file_size}Im GLB-Format generiertes 3D-Modell.
Weitere Trellis 2-Varianten
Weitere Modelle: Bild zu 3D
Für KI-Agenten: Diese Seite ist als Markdown verfügbar unter https://doitong.com/de/developers/models/trellis-2/retexture.md. Alle Modelle und Anleitungen: https://doitong.com/developers/llms.txt