Guide de migration de v2 vers v3
Ce document vous aide à migrer le code existant de Tripo API v2 vers v3.
Passez de V2 à V3 avec le Skill
Vous n’avez pas besoin de comprendre d’abord toutes les différences entre les API. Téléchargez ce Skill, placez le fichier dans le dossier du projet à migrer, puis demandez à votre outil de programmation assistée par IA de l’utiliser. Il vous aidera à repérer les appels V2 dans votre projet et à les migrer vers V3 étape par étape.
Étape 1 : Téléchargez le Skill
Vous obtiendrez un fichier nommé SKILL.md. Conservez ce nom de fichier sans le modifier.
Étape 2 : Placez le Skill dans le dossier du projet et utilisez-le
Placez le fichier SKILL.md téléchargé dans le dossier du projet à migrer. Ouvrez ensuite ce projet et demandez directement à l’IA d’utiliser ce Skill.
Étape 3 : Copiez ce message pour commencer la migration
Ouvrez le projet que vous souhaitez migrer. Copiez l’intégralité du message ci-dessous et envoyez-le à votre outil de programmation assistée par IA :
Utilisez le fichier `SKILL.md` présent dans le dossier du projet pour migrer l'intégration de l'API Tripo de ce projet de V2 vers V3. Montrez-moi d'abord ce qui doit changer. Attendez ma confirmation, puis effectuez les modifications. Enfin, suivez la liste de contrôle incluse dans le fichier pour vérifier que rien n'a été oublié.
L’outil repérera d’abord les appels V2 et vous présentera un plan, afin que vous n’ayez pas à parcourir vous-même chaque fichier.
Changements majeurs
1. Changement de base URL
# v2
https://api.tripo3d.ai/v2/openapi/
# v3
https://openapi.tripo3d.ai/v3/
2. Point de terminaison universel divisé en points de terminaison dédiés
v2 utilise un seul point de terminaison POST /v2/openapi/task et un champ type pour distinguer les types de tâches. v3 fournit un point de terminaison dédié pour chaque fonctionnalité, le champ type n’est donc plus requis.
// v2
POST /v2/openapi/task
{ "type": "text_to_model", "prompt": "a cat" }
// v3
POST /v3/generation/text-to-model
{ "prompt": "a cat" }
3. Entrées de fichier unifiées en tant que champ input
Dans v2, différents noms de champ sont utilisés en fonction de la source d’entrée, tels que file, file_token, url et object. Dans v3, ils sont unifiés sous le champ input et le système déduit automatiquement le type d’entrée.
// v2 - different field names are required
{ "type": "refine_model", "draft_model_task_id": "task_abc123" }
{ "type": "convert_model", "original_model_task_id": "task_abc123" }
// v3 - use input consistently
{ "input": "task_abc123" }
{ "input": "https://example.com/model.glb" }
{ "input": "file_token_abc123" }
4. Noms de champs standardisés
| Champ v2 | Champ v3 |
|---|---|
create_time |
created_at |
consumed_credit |
credits_consumed |
5. Fractionnement texte-image et image-image
Dans v2, le texte vers image et l’image vers image partagent le même API. Dans v3, ils sont divisés en points de terminaison dédiés :
POST /v3/generation/text-to-image- Générer une image à partir d’une saisie de texte uniquementPOST /v3/generation/image-to-image- Générer ou modifier une image basée sur une image de référence
Mappage des points de terminaison
Génération
| Type v2 Valeur | Point de terminaison v3 |
|---|---|
text_to_model |
POST /v3/generation/text-to-model |
image_to_model |
POST /v3/generation/image-to-model |
multiview_to_model |
POST /v3/generation/multiview-to-model |
text_to_image |
POST /v3/generation/text-to-image |
generate_image |
POST /v3/generation/image-to-image |
generate_multiview_image |
POST /v3/generation/image-to-multiview |
edit_multiview_image |
POST /v3/generation/edit-multiview |
Traitement du modèle
| Type v2 Valeur | Point de terminaison v3 |
|---|---|
refine_model |
POST /v3/models/refine |
convert_model |
POST /v3/models/convert |
import_model |
POST /v3/models/import |
stylize_model |
POST /v3/models/stylize |
texture_model |
POST /v3/models/texture |
Animations
| Type v2 Valeur | Point de terminaison v3 |
|---|---|
animate_prerigcheck |
POST /v3/animations/rig-check |
animate_rig |
POST /v3/animations/rig |
animate_retarget |
POST /v3/animations/retarget |
Édition de maillage
| Type v2 Valeur | Point de terminaison v3 |
|---|---|
mesh_segmentation |
POST /v3/mesh/segment |
mesh_completion |
POST /v3/mesh/complete |
highpoly_to_lowpoly |
POST /v3/mesh/decimate |
Tâches et fichiers
| Point de terminaison v2 | Point de terminaison v3 |
|---|---|
GET /v2/openapi/task/{task_id} |
GET /v3/tasks/{task_id} |
POST /v2/openapi/upload |
POST /v3/files |
Étapes de migration
Étape 1 : Mettre à jour la base URL
# v2
BASE_URL = "https://api.tripo3d.ai/v2/openapi"
# v3
BASE_URL = "https://openapi.tripo3d.ai/v3"
Étape 2 : Remplacer les points de terminaison à l’aide de la table de mappage
# v2
response = requests.post(f"{BASE_URL}/task", json={
"type": "text_to_model",
"prompt": "a cat"
})
# v3
response = requests.post(f"{BASE_URL}/generation/text-to-model", json={
"prompt": "a cat"
})
Étape 3 : Supprimez le champ type
Dans v3, le chemin du point de terminaison implique déjà le type de tâche, le corps de la demande n’a donc plus besoin du champ type.
Étape 4 : Remplacer les champs de saisie par input
# v2 - different task types use different field names
payload = {"type": "refine_model", "draft_model_task_id": "task_abc123"}
payload = {"type": "convert_model", "original_model_task_id": "task_abc123"}
# v3 - use input consistently
payload = {"input": "task_abc123"}
Étape 5 : Mettre à jour les noms des champs de réponse
# v2
created = task["create_time"]
cost = task["consumed_credit"]
# v3
created = task["created_at"]
cost = task["credits_consumed"]
Étape 6 : tester et valider
- Remplacez et testez chaque point de terminaison un par un
- Vérifiez que la création de tâches et l’interrogation fonctionnent correctement
- Confirmez que les liens de téléchargement sont disponibles
- Vérifiez que les requêtes de déduction de crédit et de solde fonctionnent correctement
Remarques
- v2 et v3 peuvent fonctionner en parallèle. Nous vous recommandons de migrer progressivement plutôt que de tout changer d’un coup.
- Les API Keys sont partagés entre v2 et v3. Vous n’avez pas besoin de créer de nouvelles clés
- Le format de la tâche ID reste inchangé. Les tâches créées dans v2 peuvent être interrogées dans v3