Tripo: 3D Generation
Tripo maakt een 3D-modelbestand op basis van een schriftelijke objectbeschrijving. De bredere werkstromen van de maker onderscheiden geometrie, texturering en latere modelverwerking; inspecteer de voltooide mesh vanuit meerdere gezichtspunten en bewaar de werkelijke bestanden voor de beoogde scène of editor.
Over het model
Deze beschrijving gaat over de mogelijkheden van het model. De via Ailoot beschikbare invoer, uitvoer en opties staan hieronder voor de geselecteerde methode.
Tripo maakt 3D-modelbestanden op basis van een beschrijving of visuele referentie. De werkstromen scheiden objectgeneratie van latere stappen zoals texturering, rigging en conversie. Begin met het beoogde modelbestand en de bewerking die het produceert te benoemen: een statische mesh voor een scène, een getextureerd object voor rendering of een model dat verdere voorbereiding in een 3D-editor krijgt.
Beschrijf voor een tekst-naar-modelbriefing de vorm van het object en de belangrijke onderdelen. Een kleine lantaarn kan worden gespecificeerd via de behuizing, handgreep, openingen en verhoudingen; een wezen via het silhouet, de ledematen en pose. Benoem het materiaal of de visuele behandeling wanneer die voor het resultaat belangrijk zijn. Houd de beschrijving op het object zelf gericht zodat de gegenereerde geometrie aan een helder ontwerp kan worden getoetst.
Bereid voor een referentiegebaseerde werkstroom van de maker beelden voor die de omtrek en onderscheidende kenmerken van het onderwerp tonen. Meerdere weergaven moeten hetzelfde object met consistente verhoudingen en accessoires beschrijven. Beoordeel na generatie de onderdelen die in de referentie verborgen zijn, want een overtuigend vooraanzicht bewijst niet dat de achterkant, onderkant of verbindingen tussen componenten met het bedoelde ontwerp overeenkomen.
Bewaar de geselecteerde modelversie bij de aanvraag. Tripo’s generatie-interface identificeert de bewerking los van de instelling voor de modelversie en het gedocumenteerde tekst-naar-modelvoorbeeld kiest een expliciete versie. Behoud de exacte versie en instellingen bij het vergelijken van modelbestanden zodat een wijziging in de objectbeschrijving niet met een verandering in de generatieconfiguratie wordt verward.
Geometrie en het uiterlijk van het oppervlak zijn afzonderlijke productiebeslissingen. De basiswerkstroom van de maker onderscheidt een model zonder texturen van uitvoer met texturen en materialen voor fysisch gebaseerde rendering. Kies de vorm van het modelbestand die voor de volgende stap nodig is en inspecteer daarna zowel de mesh als eventueel bijbehorende materiaalbestanden. Een voorbeeldbeeld is nuttig voor oriëntatie, terwijl het werkelijke model nodig is voor het samenstellen van een scène en verdere bewerking.
Onderzoek het voltooide object vanuit meerdere hoeken. Let op het silhouet, de scheiding tussen onderdelen, dunne details, openingen en oppervlakken waar componenten samenkomen. Vergelijk voor een gestileerd rekwisiet de verhoudingen met de ontwerpbriefing. Controleer voor een productachtig object welke details door geometrie worden vertegenwoordigd en welke alleen in de oppervlaktebehandeling verschijnen. Benoem het kenmerk dat revisie nodig heeft voordat u de prompt of referentie verandert.
Generatie verloopt als een asynchrone taak. Behoud de oorspronkelijke taakidentiteit tijdens statuscontrole en bewaar het voltooide model, het voorbeeldbeeld en eventuele andere teruggegeven bestanden samen. Het gedocumenteerde resultaat omvat modelgerelateerde uitvoervelden en gerenderde beelden. Sla de bestanden zelf op voor de volgende productiestap in plaats van op een tijdelijke resultaatlink te vertrouwen of het voorbeeldbeeld als het volledige 3D-resultaat te behandelen.
Importeer het model in de beoogde editor of weergaveomgeving en inspecteer daar de oriëntatie, schaal, materialen en geometrie. Een scènerekwisiet, een close-uprender en een animatieklaar personage hebben verschillende afwerkingsbehoeften. Bewaar een werkkopie voor bewerkingen en behoud het gegenereerde bronbestand bij de briefing en referenties. Kies wanneer een andere bewerking nodig is, zoals textuurwerk of rigging, die bewerking bewust en beoordeel het resulterende modelbestand als een afzonderlijke fase.
Ailoot Ultra · 3D POST /v1/3d/generations tripo3d
tripo3dAan de slag
Tripo maakt een 3D-modelbestand op basis van een schriftelijke objectbeschrijving. De bredere werkstromen van de maker onderscheiden geometrie, texturering en latere modelverwerking; inspecteer de voltooide mesh vanuit meerdere gezichtspunten en bewaar de werkelijke bestanden voor de beoogde scène of editor.
- Toegestane invoer
- Tekst
- Resultaten
- model_3d · Afbeeldingen
Beschikbaar in Ailoot · invoer en methoden
Ailoot Ultra · 3D POST /v1/3d/generations
- Invoertypen
text- Uitvoertypen
model_3d,image
| Veld | Type | Vereiste | Waarden en limieten | Standaard |
|---|---|---|---|---|
Veldmodel | Typestring | VereisteVereist | Waarden en limieten tripo3d Voorwaarden: Gebruik de Ailoot-modelidentificatie. | Standaard— |
Veldtype | Typestring | VereisteVereist | Waarden en limieten text_to_model, image_to_model, multiview_to_model, texture_model, animate_prerigcheck, animate_rig, animate_retarget, stylize_model, convert_model Voorwaarden: Het volledige voorbeeld gebruikt text_to_model; andere taaktypen vereisen hun gedocumenteerde taakspecifieke invoer. | Standaard— |
Veldmodel_version | Typestring | VereisteVereist | Waarden en limieten v2.0-20240919, v1.4-20240625, v2.5-20250123, v3.0-20250812, Turbo-v1.0-20250506 Voorwaarden: Selecteer een expliciet gedocumenteerde versie; dit voorbeeld gebruikt v3.0-20250812. | Standaard— |
Veldprompt | Typestring | VereisteVereist | Waarden en limieten Voorwaarden: Beschrijf het aan te maken object. | Standaard— |
Methodeparameters en levenscyclus
| Parameter | Contract |
|---|---|
Parametercontent_type | Contractapplication/json |
Parameterrequired | Contractmodel, type, model_version, prompt |
Parameteroptional | Contract |
Parametermaterial_types | Contracttext |
Parameterconditions | ContractGebruik de Ailoot-modelidentificatie., Het volledige voorbeeld gebruikt text_to_model; andere taaktypen vereisen hun gedocumenteerde taakspecifieke invoer., Selecteer een expliciet gedocumenteerde versie; dit voorbeeld gebruikt v3.0-20250812., Beschrijf het aan te maken object. |
Levenscyclus: submit_once_poll_original
GET /v1/3d/generations/{request_id}
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Tarieven
Zo worden de uiteindelijke kosten berekend
De weergegeven tarieven geven een schatting van de kosten vóór de generatie. Het definitieve bedrag wordt berekend op basis van de kosten die voor de oorspronkelijke generatie zijn geregistreerd. De gemeten duur van de uitvoer en de geschatte hoeveelheden zijn niet de definitieve factureerbare hoeveelheid.
Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.
- Snelle modus
- Niet opgegeven Wanneer de snelle modus is geselecteerd
- Flexmodus
- Niet opgegeven Wanneer de modus flex is geselecteerd
- Maximale redeneerinspanning
- Niet opgegeven Wanneer bij maximale redeneerinspanning de default-aanpassing wordt gebruikt
Geschatte tarieven ter vergelijking
Prijzen per configuratie
Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.
| Configuratie | Tariefstaffel | Verwachte hoeveelheid | Kosten |
|---|---|---|---|
| ConfiguratieBasistarieven voor tokens | TariefstaffelBasistarief | Verwachte hoeveelheid— | Kosten Invoer · Invoertokens · Schatting uitsluitend ter vergelijking — / 1K tokens Uitvoer · Uitvoertokens · Schatting uitsluitend ter vergelijking — / 1K tokens Invoer · Cache lezen · Schatting uitsluitend ter vergelijking — / 1K tokens Invoer · Cache schrijven · Schatting uitsluitend ter vergelijking — / 1K tokens Invoer · Cache schrijven, 1 uur · Schatting uitsluitend ter vergelijking — / 1K tokens |
| ConfiguratieGeschatte generatiekosten | Tariefstaffel— | Verwachte hoeveelheidschatting voor één generatie | Kosten Uitvoer · Geschatte generatiekosten · Schatting uitsluitend ter vergelijking $1.35 schatting vóór generatie Deze schatting is geen extra bedrag of vast tarief voor de voltooide generatie. |
Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. Zo werken reservering en afrekening →
Voorbeeldverzoeken
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
Resultaten ophalen en opslaan
Ailoot Ultra · 3D
Download elke teruggegeven afbeelding of sla de Base64-inhoud ervan op
GET /v1/3d/generations/{request_id}GET /v1/media/assetsGET /v1/media/assets/{asset_id}
Alle voltooide resultaten bewaren
Bewaar elk volledig teruggegeven antwoord, bestand en inhoudsonderdeel.
Bewaar het volledige antwoord en de headers, de oorspronkelijke identificaties, alle daadwerkelijke uitvoer en alle gebruiks-/afrekenvelden. Sla elke unieke asset op die u bezit en behoud elke rol die ernaar verwijst.
Als het oorspronkelijke antwoord moet worden gecontroleerd
Bewaar de geretourneerde openbare taak- of operatie-id en alle headers. Lees uitsluitend de oorspronkelijke taak; unknown of result_pending_check geeft geen toestemming voor een nieuwe aanmaak.
Antwoordvelden
| Veld | Type |
|---|---|
Veldid | Typestring |
Veldpolling_url | Typestring |
Veldprovider_task_id | Typestring |
Veldcode | Typeinteger |
Velddata.task_id | Typestring |
Velddata.status | Typestring |
Velddata.progress | Typeinteger |
Velddata.output.* | Typestring |
Velddata.result.*.url | Typestring |
Velddata.result.*.type | Typestring |
Velddata.thumbnail | Typestring |
Aliasnamen
Modelaliasnamen
Ailoot Ultra tripo3d
Aliasnamen voor methodepaden
Gebruik de hierboven getoonde methodepaden.
Gerelateerde aanroeper-ID’s
FAQ · Tripo: 3D Generation
- Welke invoer en resultaten zijn beschikbaar?
POST /v1/3d/generations·tripo3d:text→model_3d,image- Welke velden gebruikt het verzoek?
POST /v1/3d/generations·tripo3d:model,type,model_version,prompt