Tripo: 3D Generation
Tripo tworzy model 3D z pisemnego opisu obiektu. Szersze procesy producenta rozdzielają geometrię, teksturowanie i późniejsze przetwarzanie modelu; sprawdź ukończoną siatkę z kilku stron i zachowaj rzeczywiste pliki do docelowej sceny lub edytora.
O modelu
Ten opis przedstawia możliwości modelu. Dane wejściowe, wyniki i opcje dostępne w Ailoot podano poniżej dla wybranej metody.
Tripo tworzy zasoby w postaci modeli 3D z opisu lub referencji wizualnej. Jego procesy oddzielają wygenerowanie obiektu od późniejszych kroków, takich jak teksturowanie, rigging i konwersja. Zacznij od wskazania zamierzonego zasobu i operacji, która go wytwarza: statycznej siatki do sceny, obiektu z teksturami do renderowania lub modelu przygotowywanego dalej w edytorze 3D.
Przy opisie tekstowym do tworzenia modelu przedstaw kształt obiektu i jego ważne części. Małą latarnię można określić przez korpus, uchwyt, otwory i proporcje; stworzenie przez sylwetkę, kończyny i pozę. Podaj materiał lub sposób wizualnego opracowania, gdy ma znaczenie dla wyniku. Skup opis na samym obiekcie, aby wygenerowaną geometrię można było ocenić względem jasnego projektu.
W procesie producenta opartym na referencjach przygotuj obrazy pokazujące obrys obiektu i jego charakterystyczne cechy. Kilka ujęć powinno przedstawiać ten sam obiekt ze spójnymi proporcjami i akcesoriami. Sprawdź po generowaniu części ukryte w referencji, ponieważ przekonujący widok z przodu nie dowodzi, że tył, spód lub połączenia elementów odpowiadają zamierzonemu projektowi.
Zachowaj wybraną wersję modelu przy żądaniu. Interfejs generowania Tripo identyfikuje operację osobno od ustawienia wersji modelu, a udokumentowany przykład tekstowego tworzenia modelu wybiera jawną wersję. Przy porównywaniu zasobów zachowaj dokładną wersję i ustawienia, aby zmiana opisu obiektu nie została pomylona ze zmianą konfiguracji generowania.
Geometria i wygląd powierzchni są osobnymi decyzjami produkcyjnymi. Bazowy proces producenta odróżnia model bez tekstur od wyniku z teksturami i materiałami do renderowania opartego na fizyce. Wybierz postać zasobu potrzebną w następnym kroku, a następnie sprawdź siatkę i towarzyszące pliki materiałów. Obraz podglądu ułatwia orientację, a rzeczywisty model jest zasobem potrzebnym do składania sceny i dalszej edycji.
Zbadaj ukończony obiekt pod kilkoma kątami. Sprawdź sylwetkę, rozdzielenie części, cienkie elementy, otwory i powierzchnie styku komponentów. Przy stylizowanym rekwizycie porównaj proporcje z założeniami projektu. Przy obiekcie przypominającym produkt sprawdź, które szczegóły są przedstawione geometrią, a które występują tylko w opracowaniu powierzchni. Wskaż cechę wymagającą poprawy przed zmianą promptu lub referencji.
Generowanie przebiega jako zadanie asynchroniczne. Zachowaj identyfikator pierwotnego zadania podczas sprawdzania statusu i przechowuj razem ukończony model, podgląd i wszystkie pozostałe zwrócone pliki. Udokumentowany wynik obejmuje pola wyjściowe związane z modelem i renderowane obrazy. Zapisz same pliki do następnego kroku produkcyjnego, zamiast polegać na tymczasowym odnośniku wyniku lub traktować podgląd jako kompletny zasób 3D.
Zaimportuj model do docelowego edytora lub środowiska oglądania i sprawdź tam jego orientację, skalę, materiały i geometrię. Rekwizyt sceny, render z bliska i postać gotowa do animacji mają różne potrzeby wykończenia. Zachowaj kopię roboczą do edycji i wygenerowany zasób źródłowy wraz z opisem i referencjami. Gdy potrzebna jest kolejna operacja, taka jak praca z teksturami lub rigging, wybierz ją świadomie i sprawdź wynikowy zasób jako osobny etap.
Ailoot Ultra · 3D POST /v1/3d/generations tripo3d
tripo3dStart
Tripo tworzy model 3D z pisemnego opisu obiektu. Szersze procesy producenta rozdzielają geometrię, teksturowanie i późniejsze przetwarzanie modelu; sprawdź ukończoną siatkę z kilku stron i zachowaj rzeczywiste pliki do docelowej sceny lub edytora.
- Akceptowane dane wejściowe
- Tekst
- Wyniki
- model_3d · Obrazy
Dostępne w Ailoot · dane wejściowe i metody
Ailoot Ultra · 3D POST /v1/3d/generations
- Wejście
text- Wyjście
model_3d,image
| Pole | Typ | Wymaganie | Wartości i limity | Domyślnie |
|---|---|---|---|---|
Polemodel | Typstring | WymaganieWymagane | Wartości i limity tripo3d Warunki: Użyj selektora modelu Ailoot. | Domyślnie— |
Poletype | Typstring | WymaganieWymagane | Wartości i limity text_to_model, image_to_model, multiview_to_model, texture_model, animate_prerigcheck, animate_rig, animate_retarget, stylize_model, convert_model Warunki: Kompletny przykład używa text_to_model; inne typy zadań wymagają udokumentowanych danych wejściowych właściwych dla danego zadania. | Domyślnie— |
Polemodel_version | Typstring | WymaganieWymagane | Wartości i limity v2.0-20240919, v1.4-20240625, v2.5-20250123, v3.0-20250812, Turbo-v1.0-20250506 Warunki: Wybierz wersję wyraźnie wskazaną w dokumentacji; ten przykład używa v3.0-20250812. | Domyślnie— |
Poleprompt | Typstring | WymaganieWymagane | Wartości i limity Warunki: Opisz obiekt, który chcesz utworzyć. | Domyślnie— |
Parametry i cykl życia metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, type, model_version, prompt |
Parametroptional | Kontrakt |
Parametrmaterial_types | Kontrakttext |
Parametrconditions | KontraktUżyj selektora modelu Ailoot., Kompletny przykład używa text_to_model; inne typy zadań wymagają udokumentowanych danych wejściowych właściwych dla danego zadania., Wybierz wersję wyraźnie wskazaną w dokumentacji; ten przykład używa v3.0-20250812., Opisz obiekt, który chcesz utworzyć. |
Cykl życia: submit_once_poll_original
GET /v1/3d/generations/{request_id}
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Cennik
Jak obliczana jest ostateczna opłata
Wyświetlane stawki służą do oszacowania kosztu przed generowaniem. Ostateczna opłata jest obliczana na podstawie kosztu zarejestrowanego dla pierwotnego generowania. Zmierzony czas trwania wyniku i prognozowane ilości nie stanowią ostatecznej ilości podlegającej rozliczeniu.
Informacje taryfowe nie dodają opcji żądania. Obsługiwane parametry podano przy wybranej metodzie.
- Tryb szybki
- Nie określono Gdy wybrany jest tryb szybki
- Tryb flex
- Nie określono Gdy wybrany jest tryb flex
- Maksymalna intensywność rozumowania
- Nie określono Gdy dla maksymalnej intensywności rozumowania stosowana jest domyślna korekta (default)
Szacunkowe stawki do porównania
Ceny według konfiguracji
Dopasuj każdą opłatę do pokazanych warunków. Użyj jednej stawki dla każdego zestawu alternatywnych konfiguracji.
| Konfiguracja | Tabela stawek | Przewidywana ilość | Opłata |
|---|---|---|---|
| KonfiguracjaBazowe stawki za tokeny | Tabela stawekStawka podstawowa | Przewidywana ilość— | Opłata Wejście · Tokeny wejściowe · Szacunek tylko do porównania — / 1K tokenów Wyjście · Tokeny wyjściowe · Szacunek tylko do porównania — / 1K tokenów Wejście · Odczyt cache · Szacunek tylko do porównania — / 1K tokenów Wejście · Zapis do cache · Szacunek tylko do porównania — / 1K tokenów Wejście · Zapis do cache, 1 godz. · Szacunek tylko do porównania — / 1K tokenów |
| KonfiguracjaSzacowany koszt generowania | Tabela stawek— | Przewidywana ilośćszacunek dla jednego generowania | Opłata Wyjście · Szacowany koszt generowania · Szacunek tylko do porównania $1.35 szacunek przed generowaniem Ten szacunek nie jest dodatkową opłatą ani stałą stawką za ukończone generowanie. |
Ailoot rezerwuje szacowaną kwotę przed żądaniem. Po otrzymaniu wyniku rozlicza ostateczną opłatę według zmierzonego użycia. Rozliczenie strumieniowania korzysta z końcowego rekordu użycia. Jak działają rezerwacja i rozliczenie →
Przykładowe żądania
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
Odbieranie i zapisywanie wyników
Ailoot Ultra · 3D
Pobierz każdy zwrócony obraz lub zapisz jego zawartość Base64
GET /v1/3d/generations/{request_id}GET /v1/media/assetsGET /v1/media/assets/{asset_id}
Zachowaj wszystkie ukończone wyniki
Zachowaj każdą kompletną zwróconą odpowiedź, plik i część treści.
Zachowaj kompletną odpowiedź i nagłówki, pierwotne identyfikatory, wszystkie rzeczywiste wyniki oraz wszystkie pola użycia i rozliczeń. Zapisz każdy unikalny zasób należący do użytkownika i zachowaj wszystkie role, które na niego wskazują.
Jeśli trzeba sprawdzić pierwotną odpowiedź
Zachowaj zwrócone publiczne id zadania lub operacji oraz wszystkie nagłówki. Odczytuj wyłącznie pierwotne zadanie; unknown ani result_pending_check nie uprawniają do ponownego utworzenia.
Pola odpowiedzi
| Pole | Typ |
|---|---|
Poleid | Typstring |
Polepolling_url | Typstring |
Poleprovider_task_id | Typstring |
Polecode | Typinteger |
Poledata.task_id | Typstring |
Poledata.status | Typstring |
Poledata.progress | Typinteger |
Poledata.output.* | Typstring |
Poledata.result.*.url | Typstring |
Poledata.result.*.type | Typstring |
Poledata.thumbnail | Typstring |
Aliasy
Aliasy modelu
Ailoot Ultra tripo3d
Aliasy ścieżek metod
Użyj ścieżek metod podanych powyżej.
Powiązane ID modeli
FAQ · Tripo: 3D Generation
- Jakie dane wejściowe i wyniki są dostępne?
POST /v1/3d/generations·tripo3d:text→model_3d,image- Jakich pól używa żądanie?
POST /v1/3d/generations·tripo3d:model,type,model_version,prompt