Tripo: 3D Generation
Tripo crée un modèle 3D à partir d’une description écrite de l’objet. Les processus plus larges de son éditeur distinguent la géométrie, la création de textures et le traitement ultérieur du modèle ; examinez le maillage terminé sous plusieurs angles et conservez les fichiers réels pour la scène ou l’éditeur de destination.
À propos du modèle
Cette description présente les capacités du modèle. Les entrées, sorties et options disponibles dans Ailoot pour la méthode sélectionnée figurent ci-dessous.
Tripo crée des modèles 3D à partir d’une description ou d’une référence visuelle. Ses processus séparent la génération d’un objet des étapes ultérieures telles que la création de textures, le rigging et la conversion. Commencez par identifier la ressource souhaitée et l’opération qui la produit : un maillage statique pour une scène, un objet texturé pour le rendu ou un modèle qui sera préparé davantage dans un éditeur 3D.
Pour une description destinée à la génération de modèle à partir de texte, décrivez la forme de l’objet et ses parties importantes. Une petite lanterne peut être définie par son corps, sa poignée, ses ouvertures et ses proportions ; une créature par sa silhouette, ses membres et sa pose. Précisez le matériau ou le traitement visuel lorsqu’il importe pour le résultat. Centrez la description sur l’objet lui-même pour pouvoir évaluer la géométrie générée par rapport à une conception clairement définie.
Pour un processus de l’éditeur fondé sur des références, préparez des images montrant le contour du sujet et ses caractéristiques distinctives. Les différentes vues doivent décrire le même objet avec des proportions et des accessoires cohérents. Examinez après la génération les parties cachées dans la référence, car une vue de face convaincante ne prouve pas que l’arrière, le dessous ou les liaisons entre composants correspondent à la conception souhaitée.
Conservez la version du modèle sélectionnée avec la requête. L’interface de génération de Tripo identifie l’opération séparément du paramètre de version du modèle, et l’exemple documenté de génération de modèle à partir de texte choisit une version explicite. Préservez la version et les paramètres exacts lorsque vous comparez les ressources, afin de ne pas confondre une modification de la description de l’objet avec un changement de configuration de génération.
La géométrie et l’apparence de la surface constituent des décisions de production distinctes. Le processus de base de l’éditeur distingue un modèle sans texture d’une sortie comportant des textures et des matériaux pour le rendu fondé sur la physique. Choisissez la forme de ressource nécessaire à l’étape suivante, puis examinez le maillage et les éventuels fichiers de matériaux qui l’accompagnent. Une image d’aperçu aide à s’orienter, tandis que le modèle réel est la ressource nécessaire à l’assemblage de la scène et aux modifications ultérieures.
Examinez l’objet terminé sous plusieurs angles. Observez la silhouette, la séparation des parties, les éléments fins, les ouvertures et les surfaces où les composants se rejoignent. Pour un accessoire stylisé, comparez les proportions à la description de conception. Pour un objet de type produit, vérifiez quels détails sont représentés par la géométrie et lesquels apparaissent uniquement dans le traitement de surface. Identifiez la caractéristique à réviser avant de modifier le prompt ou la référence.
La génération s’exécute comme une tâche asynchrone. Conservez l’identifiant d’origine de la tâche pendant la vérification de son état et regroupez le modèle terminé, l’aperçu et tous les autres fichiers renvoyés. Le résultat documenté comprend des champs de sortie liés au modèle et des images rendues. Enregistrez les fichiers eux-mêmes pour l’étape de production suivante, plutôt que de vous fier à un lien de résultat temporaire ou de considérer l’aperçu comme le livrable 3D complet.
Importez le modèle dans l’éditeur ou l’environnement de visualisation prévu et examinez-y son orientation, son échelle, ses matériaux et sa géométrie. Un accessoire de scène, un rendu en gros plan et un personnage prêt pour l’animation ont des besoins de finition différents. Gardez une copie de travail pour les modifications et conservez la ressource source générée avec sa description et ses références. Lorsqu’une autre opération est nécessaire, comme un travail de texture ou de rigging, choisissez-la délibérément et examinez la ressource obtenue comme une étape distincte.
Ailoot Ultra · 3D POST /v1/3d/generations tripo3d
tripo3dPremiers pas
Tripo crée un modèle 3D à partir d’une description écrite de l’objet. Les processus plus larges de son éditeur distinguent la géométrie, la création de textures et le traitement ultérieur du modèle ; examinez le maillage terminé sous plusieurs angles et conservez les fichiers réels pour la scène ou l’éditeur de destination.
- Entrées acceptées
- Texte
- Résultats
- model_3d · Images
Disponible dans Ailoot · entrées et méthodes
Ailoot Ultra · 3D POST /v1/3d/generations
- Entrée
text- Sortie
model_3d,image
| Champ | Type | Exigence | Valeurs et limites | Par défaut |
|---|---|---|---|---|
Champmodel | Typestring | ExigenceObligatoire | Valeurs et limites tripo3d Conditions: Utilisez le sélecteur de modèle Ailoot. | Par défaut— |
Champtype | Typestring | ExigenceObligatoire | Valeurs et limites text_to_model, image_to_model, multiview_to_model, texture_model, animate_prerigcheck, animate_rig, animate_retarget, stylize_model, convert_model Conditions: L’exemple complet utilise text_to_model ; les autres types de tâches nécessitent les entrées documentées propres à chaque tâche. | Par défaut— |
Champmodel_version | Typestring | ExigenceObligatoire | Valeurs et limites v2.0-20240919, v1.4-20240625, v2.5-20250123, v3.0-20250812, Turbo-v1.0-20250506 Conditions: Sélectionnez une version explicitement documentée ; cet exemple utilise v3.0-20250812. | Par défaut— |
Champprompt | Typestring | ExigenceObligatoire | Valeurs et limites Conditions: Décrivez l’objet à créer. | Par défaut— |
Paramètres et cycle de vie de la méthode
| Paramètre | Contrat |
|---|---|
Paramètrecontent_type | Contratapplication/json |
Paramètrerequired | Contratmodel, type, model_version, prompt |
Paramètreoptional | Contrat |
Paramètrematerial_types | Contrattext |
Paramètreconditions | ContratUtilisez le sélecteur de modèle Ailoot., L’exemple complet utilise text_to_model ; les autres types de tâches nécessitent les entrées documentées propres à chaque tâche., Sélectionnez une version explicitement documentée ; cet exemple utilise v3.0-20250812., Décrivez l’objet à créer. |
Cycle de vie : submit_once_poll_original
GET /v1/3d/generations/{request_id}
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Tarifs
Calcul du coût final
Les tarifs affichés servent à estimer le coût avant la génération. Le montant final est calculé à partir du coût enregistré pour la génération d’origine. La durée mesurée du résultat et les quantités prévisionnelles ne constituent pas la quantité finale facturable.
Les tarifs n’ajoutent pas d’options de requête. Les paramètres pris en charge figurent dans la méthode sélectionnée.
- Mode rapide
- Non précisé Lorsque le mode rapide est sélectionné
- Mode Flex
- Non précisé Lorsque le mode flex est sélectionné
- Effort de raisonnement maximal
- Non précisé Lorsque l’effort de raisonnement maximal utilise l’ajustement par défaut (default)
Tarifs estimés à des fins de comparaison
Prix par configuration
Associez chaque coût aux conditions indiquées. Utilisez un seul tarif pour chaque ensemble de configurations alternatives.
| Configuration | Barème tarifaire | Quantité prévisionnelle | Coût |
|---|---|---|---|
| ConfigurationTarifs de base des jetons | Barème tarifaireTarif de base | Quantité prévisionnelle— | Coût Entrée · Tokens en entrée · Estimation à des fins de comparaison uniquement — / 1K tokens Sortie · Tokens en sortie · Estimation à des fins de comparaison uniquement — / 1K tokens Entrée · Lecture du cache · Estimation à des fins de comparaison uniquement — / 1K tokens Entrée · Écriture dans le cache · Estimation à des fins de comparaison uniquement — / 1K tokens Entrée · Écriture dans le cache, 1 h · Estimation à des fins de comparaison uniquement — / 1K tokens |
| ConfigurationCoût estimé de la génération | Barème tarifaire— | Quantité prévisionnelleEstimation pour une génération | Coût Sortie · Coût estimé de génération · Estimation à des fins de comparaison uniquement $1.35 estimation avant génération Cette estimation ne constitue ni des frais supplémentaires ni un tarif fixe pour la génération terminée. |
Ailoot réserve un montant estimé avant une requête. Après le résultat, le montant final est débité selon l’utilisation mesurée. Pour le streaming, le montant final à débiter est calculé à partir du relevé final d’utilisation. Fonctionnement de la réservation et du débit →
Exemples de requêtes
Ailoot Ultra · 3D
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON'
{
"model": "tripo3d",
"type": "text_to_model",
"prompt": "a cute pig",
"model_version": "v3.0-20250812"
}
JSON
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/3d/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
# Create once; retain id, polling_url, original task identifiers and every header.
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_STATUS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
u=urljoin("https://api.ailoot.ai",r["polling_url"])
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or p.username or p.password:
raise SystemExit("Unexpected returned polling URL; preserve the response")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-D","status-headers.txt","-o","status.json"],check=True)
# Read this same original polling_url again while pending.
# Preserve unknown/result_pending_check; do not repeat creation.
PY_STATUS
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_ASSETS'
import json,os,subprocess
from pathlib import Path
from urllib.parse import urljoin,urlsplit
r=json.loads(Path("status.json").read_text())
roles={}
def visit(v,path=""):
if isinstance(v,dict):
for k,x in v.items(): visit(x,path+"/"+k)
elif isinstance(v,list):
for i,x in enumerate(v): visit(x,path+"/"+str(i))
elif isinstance(v,str):
u=urljoin("https://api.ailoot.ai",v); p=urlsplit(u)
if p.scheme=="https" and p.netloc=="api.ailoot.ai" and not p.username and not p.password and p.path.startswith("/v1/media/assets/") and p.path.endswith("/content"):
roles.setdefault(u,[]).append(path)
visit(r)
if not roles: raise SystemExit("No completed owned assets; retain the original status")
manifest=[]
for i,(u,paths) in enumerate(roles.items()):
target=Path(f"asset-{i}.bin")
subprocess.run(["curl","--fail-with-body","--silent","--show-error",u,"-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"],"-o",str(target)],check=True)
raw=target.read_bytes()
if not raw: raise SystemExit("Empty asset; retain original status and metadata")
ext="glb" if raw[:4]==b"glTF" else "png" if raw[:8]==b"\x89PNG\r\n\x1a\n" else "jpg" if raw[:3]==b"\xff\xd8\xff" else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "mp4" if raw[4:8]==b"ftyp" else "bin"
name=f"asset-{i}.{ext}"
if target.name!=name: target.rename(name)
manifest.append({"file":name,"response_paths":paths,"bytes":len(raw)})
Path("asset-manifest.json").write_text(json.dumps(manifest,indent=2))
print("Saved",len(manifest),"unique owned assets; every response role retained")
PY_ASSETS
Recevoir et enregistrer les résultats
Ailoot Ultra · 3D
Téléchargez chaque image renvoyée ou enregistrez son contenu Base64
GET /v1/3d/generations/{request_id}GET /v1/media/assetsGET /v1/media/assets/{asset_id}
Conserver tous les résultats terminés
Conservez chaque réponse, fichier et partie de contenu renvoyés dans leur intégralité.
Conservez la réponse complète et les en-têtes, les identifiants d’origine, chaque résultat réel et tous les champs de consommation et de comptabilisation. Enregistrez chaque ressource unique dont vous êtes propriétaire et conservez tous les rôles qui y font référence.
Si la réponse d’origine doit être vérifiée
Conservez l’identifiant public id de la tâche ou de l’opération renvoyée, ainsi que tous les en-têtes. Consultez uniquement la tâche d’origine ; unknown ou result_pending_check n’autorise pas une nouvelle création.
Champs de la réponse
| Champ | Type |
|---|---|
Champid | Typestring |
Champpolling_url | Typestring |
Champprovider_task_id | Typestring |
Champcode | Typeinteger |
Champdata.task_id | Typestring |
Champdata.status | Typestring |
Champdata.progress | Typeinteger |
Champdata.output.* | Typestring |
Champdata.result.*.url | Typestring |
Champdata.result.*.type | Typestring |
Champdata.thumbnail | Typestring |
Alias
Alias du modèle
Ailoot Ultra tripo3d
Alias des chemins de méthode
Utilisez les chemins de méthode indiqués ci-dessus.
ID d’appel associés
FAQ · Tripo: 3D Generation
- Quelles entrées et quels résultats sont disponibles ?
POST /v1/3d/generations·tripo3d:text→model_3d,image- Quels champs la requête utilise-t-elle ?
POST /v1/3d/generations·tripo3d:model,type,model_version,prompt