Guida alla migrazione da v2 a v3
Questo documento ti aiuta a migrare il codice esistente da Tripo API v2 a v3.
Passa da V2 a V3 con lo Skill
Non devi prima capire tutte le differenze tra le API. Scarica questo Skill, inserisci il file nella directory del progetto da migrare e chiedi al tuo strumento di programmazione basato sull’IA di usarlo. Ti aiuterà a trovare le chiamate V2 nel tuo progetto e a migrarle a V3 passo dopo passo.
Passaggio 1: Scarica lo Skill
Otterrai un file chiamato SKILL.md. Non modificare il nome del file.
Passaggio 2: Inserisci lo Skill nella directory del progetto e usalo
Inserisci il file SKILL.md scaricato nella directory del progetto da migrare. Poi apri il progetto e chiedi direttamente all’IA di usare questo Skill.
Passaggio 3: Copia questo messaggio per avviare la migrazione
Apri il progetto che vuoi migrare. Copia il messaggio completo qui sotto e invialo al tuo strumento di programmazione basato sull’IA:
Usa il file `SKILL.md` nella directory del progetto per migrare l'integrazione Tripo API di questo progetto da V2 a V3. Prima mostrami cosa deve cambiare. Attendi la mia conferma, quindi applica le modifiche. Infine, usa la checklist contenuta nel file per assicurarti che non sia stato tralasciato nulla.
Lo strumento troverà prima le chiamate V2 e ti mostrerà un piano, così non dovrai cercare in ogni file.
Grandi cambiamenti
1. Modifica base URL
# v2
https://api.tripo3d.ai/v2/openapi/
# v3
https://openapi.tripo3d.ai/v3/
2. Endpoint universale suddiviso in endpoint dedicati
v2 utilizza un singolo endpoint POST /v2/openapi/task e un campo type per distinguere i tipi di attività. v3 fornisce un endpoint dedicato per ciascuna funzionalità, quindi il campo type non è più obbligatorio.
// v2
POST /v2/openapi/task
{ "type": "text_to_model", "prompt": "a cat" }
// v3
POST /v3/generation/text-to-model
{ "prompt": "a cat" }
3. Ingressi file unificati come campo input
In v2, vengono utilizzati nomi di campo diversi a seconda della sorgente di input, come file, file_token, url e object. In v3, sono unificati nel campo input e il sistema deduce automaticamente il tipo di input.
// 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. Nomi di campo standardizzati
| Campo v2 | Campo v3 |
|---|---|
create_time |
created_at |
consumed_credit |
credits_consumed |
5. Divisione testo-immagine e immagine-immagine
In v2, testo-immagine e immagine-immagine condividono lo stesso API. In v3, sono suddivisi in endpoint dedicati:
POST /v3/generation/text-to-image- Genera un’immagine da input di solo testoPOST /v3/generation/image-to-image- Genera o modifica un’immagine basata su un’immagine di riferimento
Mappatura degli endpoint
Generazione
| Tipo v2 Valore | Punto finale 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 |
Elaborazione del modello
| Tipo v2 Valore | Punto finale 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 |
Animazione
| Tipo v2 Valore | Punto finale v3 |
|---|---|
animate_prerigcheck |
POST /v3/animations/rig-check |
animate_rig |
POST /v3/animations/rig |
animate_retarget |
POST /v3/animations/retarget |
Modifica della mesh
| Tipo v2 Valore | Punto finale v3 |
|---|---|
mesh_segmentation |
POST /v3/mesh/segment |
mesh_completion |
POST /v3/mesh/complete |
highpoly_to_lowpoly |
POST /v3/mesh/decimate |
Attività e file
| Punto finale v2 | Punto finale v3 |
|---|---|
GET /v2/openapi/task/{task_id} |
GET /v3/tasks/{task_id} |
POST /v2/openapi/upload |
POST /v3/files |
Passaggi di migrazione
Passaggio 1: aggiorna la base URL
# v2
BASE_URL = "https://api.tripo3d.ai/v2/openapi"
# v3
BASE_URL = "https://openapi.tripo3d.ai/v3"
Passaggio 2: sostituire gli endpoint utilizzando la tabella di mappatura
# 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"
})
Passaggio 3: rimuovere il campo type
In v3, il percorso dell’endpoint implica già il tipo di attività, quindi il corpo della richiesta non necessita più del campo type.
Passaggio 4: sostituisci i campi di input con 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"}
Passaggio 5: aggiornare i nomi dei campi di risposta
# v2
created = task["create_time"]
cost = task["consumed_credit"]
# v3
created = task["created_at"]
cost = task["credits_consumed"]
Passaggio 6: testare e convalidare
- Sostituisci e testa ciascun endpoint uno alla volta
- Verificare che la creazione delle attività e il polling funzionino correttamente
- Confermare che i collegamenti per il download siano disponibili
- Verificare che le query sulla detrazione del credito e sul saldo funzionino correttamente
Note
- v2 e v3 possono funzionare in parallelo. Ti consigliamo di eseguire la migrazione gradualmente invece di effettuare il passaggio tutto in una volta
- API Keys sono condivisi tra v2 e v3. Non è necessario creare nuove chiavi
- Il formato dell’attività ID rimane invariato. Le attività create in v2 possono essere interrogate in v3