# Démarrage rapide
Démarrez avec le Tripo API en 15 minutes et générez votre premier modèle 3D à partir de zéro.
## 1. Obtenez un API Key
Accédez à la [Console Tripo] (https://platform.tripo3d.ai), créez un compte et ouvrez la page « API Keys » pour créer un API Key.
## 2. Envoyez votre première demande
Générez un modèle 3D à partir d'une description textuelle :
### 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"
}'
```
Réponse réussie :
```json
{
"code": 0,
"data": {
"task_id": "task_abc123"
}
}
```
## 3. Interrogez le résultat de la tâche
La génération 3D s'exécute comme une tâche asynchrone. Utilisez le `task_id` renvoyé pour interroger l'état de la tâche :
```bash
curl -X GET https://openapi.tripo3d.ai/v3/tasks/task_abc123 \
-H "Authorization: Bearer {api_key}"
```
Lorsque `status` est `success`, la tâche est terminée :
```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. Téléchargez le modèle
Téléchargez le fichier de modèle 3D GLB à partir de `output.model_url` dans la réponse. Vous pouvez l'utiliser directement dans des outils tels que Blender, Unity et Three.js.
## Exemple complet
### 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);
```
Démarrez avec le Tripo API en 15 minutes et générez votre premier modèle 3D.
1
Obtenez un API Key
Allez au API Keys page, créez une nouvelle clé et copiez-la. Conservez-le en toute sécurité : il n'est affiché qu'une seule fois.
Conseil de sécurité :
Stockez votre clé API dans une variable d'environnement (export TRIPO_API_KEY="sk-..."). Ne le codez jamais en dur dans le code source et ne le validez pas dans des référentiels.
2
Envoyez votre première demande
Générez un modèle 3D à partir d'une description textuelle. Toutes les générations API sont asynchrones : la réponse renvoie immédiatement un task_id.
Les modèles URL expirent après 5 minutes. Téléchargez immédiatement après la réussite de la tâche. Utilisez output.model_url pour le fichier de modèle 3D.
Flux de travail avancés
Explorez les pipelines API complets pour des cas d'utilisation et des fonctionnalités spécifiques.
Personnage prêt pour le jeu
Générez un personnage low-poly avec un squelette et des animations, prêt pour Unity/Unreal.
Séquence d'appel
Votre application
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
Flux de données API
POST image-to-model
POST rig-check
POST rig
POST retarget
1
POST /v3/generation/image-to-model
Entrée
Image URL or file_token
Sortie
task_id
Poll GET /v3/tasks/{task_id} until status=success
2
POST /v3/animations/rig-check
Entrée
{ input: "task_abc123" }
Sortie
riggable: true, rig_type: "biped"
If riggable=true, pass task_id + rig_type to rig
3
POST /v3/animations/rig
Entrée
{ input: "task_abc123", rig_type: "biped" }
Sortie
New task_id for rigged model
Poll until success, pass rigged task_id to retarget
4
POST /v3/animations/retarget
Entrée
{ input: "task_rig456", animations: [...] }
Sortie
task_id with animated model URLs
Download output.model_urls
Paramètres clés
Paramètre
Valeur
Pourquoi
model
P1-20260311
Meilleure topologie low-poly pour les ressources de jeu