# Schnellstart
Beginnen Sie mit dem Tripo API in 15 Minuten und erstellen Sie Ihr erstes 3D-Modell von Grund auf.
## 1. Holen Sie sich ein API Key
Gehen Sie zur [Tripo-Konsole](https://platform.tripo3d.ai), erstellen Sie ein Konto und öffnen Sie die Seite „API Keys“, um ein API Key zu erstellen.
## 2. Senden Sie Ihre erste Anfrage
Generieren Sie ein 3D-Modell aus einer Textbeschreibung:
### curl
```bash
curl -X POST https://openapi.tripo3d.ai/v3/generation/text-to-model \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {api_key}" \
-d '{
"prompt": "a cute cat",
"model": "tripo-v3.1"
}'
```
Erfolgsantwort:
```json
{
"code": 0,
"data": {
"task_id": "task_abc123"
}
}
```
## 3. Fragen Sie das Aufgabenergebnis ab
Die 3D-Generierung wird als asynchrone Aufgabe ausgeführt. Verwenden Sie das zurückgegebene `task_id`, um den Aufgabenstatus abzufragen:
```bash
curl -X GET https://openapi.tripo3d.ai/v3/tasks/task_abc123 \
-H "Authorization: Bearer {api_key}"
```
Wenn `status` `success` ist, ist die Aufgabe abgeschlossen:
```json
{
"code": 0,
"data": {
"task_id": "task_abc123",
"type": "text_to_model",
"status": "success",
"progress": 100,
"output": {
"model_url": "https://...",
"rendered_image_url": "https://..."
}
}
}
```
## 4. Laden Sie das Modell herunter
Laden Sie die 3D-Modelldatei GLB von `output.model_url` in der Antwort herunter. Sie können es direkt in Tools wie Blender, Unity und Three.js verwenden.
## Vollständiges Beispiel
### Python
```python
import time
import requests
API_KEY = "your_api_key_here"
BASE_URL = "https://openapi.tripo3d.ai/v3"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {API_KEY}"
}
# 1. Create a text-to-3D task
response = requests.post(
f"{BASE_URL}/generation/text-to-model",
headers=headers,
json={
"prompt": "a cute cat",
"model": "tripo-v3.1"
}
)
task_id = response.json()["data"]["task_id"]
print(f"Task created: {task_id}")
# 2. Poll until the task is complete
while True:
response = requests.get(
f"{BASE_URL}/tasks/{task_id}",
headers={"Authorization": f"Bearer {API_KEY}"}
)
task = response.json()["data"]
status = task["status"]
progress = task.get("progress", 0)
print(f"Status: {status}, progress: {progress}%")
if status == "success":
model_url = task["output"]["model_url"]
print(f"Model download URL: {model_url}")
break
elif status in ("failed", "cancelled", "banned"):
print(f"Task failed: {status}")
break
time.sleep(2)
# 3. Download the model file
if status == "success":
model_data = requests.get(model_url)
with open("model.glb", "wb") as f:
f.write(model_data.content)
print("Model saved as model.glb")
```
### JavaScript
```javascript
const API_KEY = "your_api_key_here";
const BASE_URL = "https://openapi.tripo3d.ai/v3";
async function generateModel() {
// 1. Create a text-to-3D task
const createResponse = await fetch(`${BASE_URL}/generation/text-to-model`, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": `Bearer ${API_KEY}`
},
body: JSON.stringify({
prompt: "a cute cat",
model: "tripo-v3.1"
})
});
const { data: { task_id } } = await createResponse.json();
console.log(`Task created: ${task_id}`);
// 2. Poll until the task is complete
while (true) {
const pollResponse = await fetch(`${BASE_URL}/tasks/${task_id}`, {
headers: { "Authorization": `Bearer ${API_KEY}` }
});
const { data: task } = await pollResponse.json();
const { status, progress = 0 } = task;
console.log(`Status: ${status}, progress: ${progress}%`);
if (status === "success") {
console.log(`Model download URL: ${task.output.model_url}`);
return task.output;
}
if (["failed", "cancelled", "banned"].includes(status)) {
throw new Error(`Task failed: ${status}`);
}
await new Promise(resolve => setTimeout(resolve, 2000));
}
}
generateModel().catch(console.error);
```
Beginnen Sie mit dem Tripo API in 15 Minuten und erstellen Sie Ihr erstes 3D-Modell.
1
Holen Sie sich ein API Key
Gehe zum API Keys Seite, erstellen Sie einen neuen Schlüssel und kopieren Sie ihn. Bewahren Sie es sicher auf – es wird nur einmal angezeigt.
Sicherheitstipp:
Speichern Sie Ihren API-Schlüssel in einer Umgebungsvariablen (export TRIPO_API_KEY="sk-..."). Kodieren Sie es niemals fest im Quellcode oder übertragen Sie es in Repositorys.
2
Senden Sie Ihre erste Anfrage
Generieren Sie ein 3D-Modell aus einer Textbeschreibung. Alle APIs der Generation sind asynchron – die Antwort gibt sofort einen task_id zurück.
Modell URLs laufen nach 5 Minuten ab. Laden Sie den Download sofort herunter, nachdem die Aufgabe erfolgreich abgeschlossen wurde. Verwenden Sie „output.model_url“ für die 3D-Modelldatei.
Erweiterte Arbeitsabläufe
Entdecken Sie vollständige API-Pipelines für bestimmte Anwendungsfälle und Funktionen.
Spielbereiter Charakter
Generieren Sie einen Low-Poly-Charakter mit Skelett und Animationen, bereit für Unity/Unreal.
Aufrufreihenfolge
Ihre App
Tripo API
1POSTimage-to-model
task_id
POLLGET tasks/{task_id} → until success
2POSTrig-check
riggable: true, rig_type: "biped"
3POSTrig
New task_id for rigged model
POLLGET tasks/{task_id} → until success
4POSTretarget
task_id with animated model URLs
POLLGET tasks/{task_id} → until success
API Datenfluss
POST image-to-model
POST rig-check
POST rig
POST retarget
1
POST /v3/generation/image-to-model
Eingabe
Image URL or file_token
Ausgabe
task_id
Poll GET /v3/tasks/{task_id} until status=success
2
POST /v3/animations/rig-check
Eingabe
{ input: "task_abc123" }
Ausgabe
riggable: true, rig_type: "biped"
If riggable=true, pass task_id + rig_type to rig
3
POST /v3/animations/rig
Eingabe
{ input: "task_abc123", rig_type: "biped" }
Ausgabe
New task_id for rigged model
Poll until success, pass rigged task_id to retarget
•Rufen Sie rig-check immer vor rig auf – es gibt den empfohlenen rig_type zurück und verhindert Fehler
•Aufgaben alle 2 Sekunden abfragen; Überschreiten Sie nicht 1 request/second, um Ratenbeschränkungen zu vermeiden
•Verwenden Sie spec: „mixamo“ für Unity/Unreal; Verwenden Sie spec: „tripo“ für benutzerdefinierte Pipelines
Häufige Fallstricke
•Wenn Rig-Check „riggable=false“ zurückgibt, versuchen Sie eine Neugenerierung mit einer saubereren Eingabeaufforderung (vermeiden Sie komplexe Posen).
•Retarget akzeptiert nur das manipulierte Modell task_ids – das Übergeben einer Rohgeneration task_id schlägt fehl