Tripo: 3D Generation
Tripo skapar en 3D-modell från en skriftlig objektbeskrivning. Tillverkarens bredare arbetsflöden skiljer mellan geometri, texturering och senare modellbearbetning; granska den färdiga modellen från flera håll och behåll de faktiska filerna för målscenen eller redigeringsprogrammet.
Om modellen
Den här beskrivningen omfattar modellens förmågor. Tillgängliga indata, utdata och alternativ i Ailoot anges nedan för den valda metoden.
Tripo skapar 3D-modeller från en beskrivning eller en visuell referens. Arbetsflödena skiljer mellan att generera ett objekt och senare steg som texturering, riggning och konvertering. Börja med att identifiera det avsedda objektet och operationen som skapar det: ett statiskt mesh-objekt för en scen, ett texturerat objekt för rendering eller en modell som ska förberedas vidare i ett 3D-program.
Beskriv objektets form och viktiga delar i ett text-till-modell-brief. En liten lykta kan specificeras genom sin kropp, sitt handtag, sina öppningar och proportioner; en varelse genom sin silhuett, sina lemmar och sin pose. Ange material eller visuellt uttryck när det påverkar resultatet. Håll beskrivningen inriktad på själva objektet så att den genererade geometrin kan bedömas mot en tydlig design.
I tillverkarens referensbaserade arbetsflöde förbereds bilder som visar motivets kontur och särskiljande drag. Flera vyer bör visa samma objekt med konsekventa proportioner och tillbehör. Granska delar som är dolda i referensen efter genereringen, eftersom en övertygande framsida inte visar att baksidan, undersidan eller kopplingarna mellan delar motsvarar den avsedda designen.
Behåll den valda modellversionen med förfrågan. Tripo skiljer i sitt genereringsgränssnitt mellan operationen och modellversionsinställningen, och det dokumenterade text-till-modell-exemplet väljer en uttrycklig version. Bevara exakt version och inställningar vid jämförelser mellan modeller så att en ändrad objektbeskrivning inte förväxlas med en ändrad genereringskonfiguration.
Geometri och ytegenskaper är separata produktionsbeslut. Tillverkarens grundarbetsflöde skiljer en modell utan texturer från utdata med texturer och material för fysiskt baserad rendering. Välj den tillgångstyp som behövs i nästa steg och granska både mesh-geometrin och eventuella tillhörande materialfiler. En förhandsbild hjälper vid orienteringen, medan den faktiska modellen är det som behövs för scenbygge och vidare redigering.
Granska det färdiga objektet från flera vinklar. Titta på silhuetten, delarnas avgränsning, tunna detaljer, öppningar och ytor där komponenter möts. För ett stiliserat rekvisitaobjekt jämförs proportionerna med designbeskrivningen. För ett produktliknande objekt bör det kontrolleras vilka detaljer som finns i geometrin och vilka som bara syns i ytbehandlingen. Identifiera den egenskap som behöver revideras innan prompten eller referensen ändras.
Genereringen körs som en asynkron uppgift. Behåll den ursprungliga uppgiftsidentiteten under statuskontrollen och håll den färdiga modellen, förhandsbilderna och alla andra returnerade filer tillsammans. Det dokumenterade resultatet omfattar modellrelaterade utdatafält och renderade bilder. Spara själva filerna för nästa produktionssteg i stället för att förlita dig på en tillfällig resultatlänk eller behandla förhandsbilden som hela 3D-leveransen.
Importera modellen i det avsedda redigeringsprogrammet eller visningsverktyget och granska dess orientering, skala, material och geometri där. Ett rekvisitaobjekt för en scen, en närbildsrendering och en animationsklar karaktär har olika behov av slutbearbetning. Behåll en arbetskopia för redigering och spara den genererade källmodellen med dess brief och referenser. Om ytterligare en operation behövs, exempelvis texturering eller riggning, välj den medvetet och granska den resulterande modellen som ett separat steg.
Ailoot Ultra · 3D POST /v1/3d/generations tripo3d
tripo3dStart
Tripo skapar en 3D-modell från en skriftlig objektbeskrivning. Tillverkarens bredare arbetsflöden skiljer mellan geometri, texturering och senare modellbearbetning; granska den färdiga modellen från flera håll och behåll de faktiska filerna för målscenen eller redigeringsprogrammet.
- Godkända indata
- Text
- Resultat
- model_3d · Bilder
Tillgängligt i Ailoot · indata & metoder
Ailoot Ultra · 3D POST /v1/3d/generations
- Indatatyper
text- Utdatatyper
model_3d,image
| Fält | Typ | Krav | Värden & gränser | Standard |
|---|---|---|---|---|
Fältmodel | Typstring | KravObligatoriskt | Värden & gränser tripo3d Villkor: Använd modellväljaren för Ailoot. | Standard— |
Fälttype | Typstring | KravObligatoriskt | Värden & gränser text_to_model, image_to_model, multiview_to_model, texture_model, animate_prerigcheck, animate_rig, animate_retarget, stylize_model, convert_model Villkor: Det fullständiga exemplet använder text_to_model; andra uppgiftstyper kräver sina dokumenterade uppgiftsspecifika indata. | Standard— |
Fältmodel_version | Typstring | KravObligatoriskt | Värden & gränser v2.0-20240919, v1.4-20240625, v2.5-20250123, v3.0-20250812, Turbo-v1.0-20250506 Villkor: Välj en uttryckligen dokumenterad version; detta exempel använder v3.0-20250812. | Standard— |
Fältprompt | Typstring | KravObligatoriskt | Värden & gränser Villkor: Beskriv objektet som ska skapas. | Standard— |
Metodparametrar och livscykel
| Parameter | Avtal |
|---|---|
Parametercontent_type | Avtalapplication/json |
Parameterrequired | Avtalmodel, type, model_version, prompt |
Parameteroptional | Avtal |
Parametermaterial_types | Avtaltext |
Parameterconditions | AvtalAnvänd modellväljaren för Ailoot., Det fullständiga exemplet använder text_to_model; andra uppgiftstyper kräver sina dokumenterade uppgiftsspecifika indata., Välj en uttryckligen dokumenterad version; detta exempel använder v3.0-20250812., Beskriv objektet som ska skapas. |
Livscykel: submit_once_poll_original
GET /v1/3d/generations/{request_id}
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Priser
Så beräknas slutavgiften
De visade priserna används för att uppskatta kostnaden före genereringen. Den slutliga debiteringen beräknas utifrån den kostnad som registrerats för den ursprungliga genereringen. Uppmätt längd på resultatet och uppskattade mängder utgör inte den slutliga debiterbara mängden.
Tariffuppgifter lägger inte till begäransalternativ. Parametrar som stöds anges för den valda metoden.
- Snabbt läge
- Ej angivet När snabbt läge är valt
- Flex-läge
- Ej angivet När läget flex är valt
- Högsta resonemangsnivå
- Ej angivet När den högsta resonemangsnivån använder standardjusteringen (default)
Uppskattade priser för jämförelse
Priser efter konfiguration
Matcha varje avgift mot de visade villkoren. Använd ett pris för varje uppsättning alternativa konfigurationer.
| Konfiguration | Prislista | Prognostiserad mängd | Avgift |
|---|---|---|---|
| KonfigurationGrundpriser för token | PrislistaGrundpris | Prognostiserad mängd— | Avgift Indata · Indatatoken · Uppskattning endast för jämförelse — / 1K token Utdata · Utdatatoken · Uppskattning endast för jämförelse — / 1K token Indata · Cacheläsning · Uppskattning endast för jämförelse — / 1K token Indata · Skrivning till cache · Uppskattning endast för jämförelse — / 1K token Indata · Skrivning till cache, 1 tim · Uppskattning endast för jämförelse — / 1K token |
| KonfigurationUppskattad genereringskostnad | Prislista— | Prognostiserad mängduppskattning för en generering | Avgift Utdata · Uppskattad genereringskostnad · Uppskattning endast för jämförelse $1.35 uppskattning före generering Denna uppskattning är varken en extra avgift eller ett fast pris för den slutförda genereringen. |
Ailoot reserverar ett uppskattat belopp före en begäran. Efter resultatet slutregleras avgiften utifrån uppmätt förbrukning. Slutreglering för strömning använder den slutliga förbrukningsposten. Så fungerar reservation och slutreglering →
Exempelbegäranden
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
Ta emot och spara resultat
Ailoot Ultra · 3D
Ladda ned varje returnerad bild eller spara dess Base64-innehåll
GET /v1/3d/generations/{request_id}GET /v1/media/assetsGET /v1/media/assets/{asset_id}
Behåll alla färdiga resultat
Behåll varje fullständigt returnerat svar, fil och innehållsdel.
Behåll hela svaret och svarshuvudena, ursprungliga identifierare, varje faktiskt resultat och alla förbruknings- och redovisningsfält. Spara varje unik tillgång som du äger och behåll varje roll som pekar på den.
Om det ursprungliga svaret behöver kontrolleras
Behåll det returnerade offentliga uppgifts- eller operations-id:t och samtliga svarshuvuden. Läs endast den ursprungliga uppgiften; unknown eller result_pending_check ger inte tillstånd att skapa på nytt.
Svarsfält
| Fält | Typ |
|---|---|
Fältid | Typstring |
Fältpolling_url | Typstring |
Fältprovider_task_id | Typstring |
Fältcode | Typinteger |
Fältdata.task_id | Typstring |
Fältdata.status | Typstring |
Fältdata.progress | Typinteger |
Fältdata.output.* | Typstring |
Fältdata.result.*.url | Typstring |
Fältdata.result.*.type | Typstring |
Fältdata.thumbnail | Typstring |
Alias
Modellalias
Ailoot Ultra tripo3d
Alias för metodsökvägar
Använd metodsökvägarna som visas ovan.
Relaterade anropar-ID:n
FAQ · Tripo: 3D Generation
- Vilka indata och resultat finns?
POST /v1/3d/generations·tripo3d:text→model_3d,image- Vilka fält använder begäran?
POST /v1/3d/generations·tripo3d:model,type,model_version,prompt