Vidu: Q2 Text-to-Video
Vidu Q2 vytváří video z textového zadání scény, s délkou 1–10 sekund, výstupem 540p, 720p nebo 1080p a pěti poměry stran. Tento přesný profil viduq2 používá prompt pro styl a pohyb a vrací výsledek prostřednictvím asynchronní úlohy.
O modelu
Tento popis zahrnuje schopnosti modelu. Vstupy, výstupy a možnosti dostupné v Ailoot jsou uvedeny níže pro vybranou metodu.
Vidu Q2 vytváří video z písemného popisu scény prostřednictvím profilu pro generování videa z textu, vybraného jako viduq2. Povinnými vstupy jsou přesný identifikátor modelu a prompt popisující scénu. Použijte jej pro krátký produktový koncept, úvodní pohled na místo nebo akci postavy, jejíž vzhled a pohyb lze určit slovy. Tato nastavená metoda generuje video z textu; její popis nepřiřazuje selektoru samostatný režim obrazových referencí ani úprav videa.
Postavte zadání na viditelné posloupnosti. Určete objekt, místo, akci, velikost záběru, pohyb kamery a závěrečnou kompozici. Pro produktový koncept popište předmět na stole, světlo pohybující se po jeho materiálu a pomalý nájezd kamery zakončený na rozpoznatelném detailu. U scény místa představte prostředí před přiblížením k ohnisku pozornosti. Přizpůsobte akci zvolené délce klipu, aby scéna měla prostor pro zamýšlené zakončení.
Limit promptu je 2 000 znaků. Nejdříve uveďte základní objekt a akci, poté přidejte osvětlení, materiál, prostředí a detaily kamery, které mění požadovaný výsledek. Vizuální styl určete v promptu. Příručka pro Q2 uvádí, že samostatné parametry style a movement_amplitude nemají na tento model účinek, takže předvolby general nebo anime a možnosti amplitudy pohybu nenahrazují jasný popis scény.
Nastavení délky pro tento model přijímá celé sekundy od jedné do deseti. Možnosti rozlišení pro Q2 jsou 540p, 720p a 1080p, s 720p jako dokumentovanou výchozí hodnotou. Délku a rozlišení vyberte společně podle akce a cílového použití. Krátké odhalení a delší pohyb potřebují odlišné časování; prodloužení požadované délky by mělo sloužit viditelné posloupnosti místo pouhého natažení nezměněného zadání. Při přípravě finálního umístění zkontrolujte skutečné rozměry a délku vráceného klipu.
Dokumentované možnosti aspect_ratio jsou 16:9, 9:16, 3:4, 4:3 a 1:1, s 16:9 jako výchozí hodnotou. Příručka výslovně zahrnuje 3:4 a 4:3 pro rodinu Q2. Před generováním zvolte formát a popište kompozici, která mu odpovídá: zachovejte čitelnost hlavního objektu ve svislém pohledu nebo využijte šířku vodorovného formátu pro okolní prostředí. Udržujte závěrečný pohled dostatečně jasný pro zamýšlenou stránku, prezentaci nebo pozdější práci s titulky.
Pole seed řídí proměnlivost. Jeho vynechání nebo zadání 0 vybírá náhodnou hodnotu; nenulová hodnota vybírá dokumentovanou možnost pevného seedu pro opakovatelné generování. Při porovnávání verzí uchovejte vrácený seed s promptem a nastaveními. Společná operace dokumentuje také nastavení audio a off_peak výslovně pro modely Q3. Tyto možnosti Q3 nejsou schopnostmi přiřazenými tomuto profilu Q2; plánujte tento požadavek podle jeho dokumentovaného textového vstupu a video výstupu.
Generování je asynchronní. Odeslání vrací task_id a počáteční stav, s hodnotou created pro nově vytvořenou úlohu. Uchovejte tuto identifikaci úlohy při sledování zpracování. Dokumentovaný dotaz na výsledek používá state=success pro úspěšný výsledek a vrací pole creations. Každá položka má URL svého videa v creations[].url; uložte každé vrácené video místo předpokladu, že úloha vždy obsahuje právě jeden vytvořený výstup.
Dokumentace výsledku také hlásí skutečnou délku videa, fps a šířku a výšku rozlišení. Uchovejte tyto hlášené hodnoty s dokončeným klipem místo považování snímkové frekvence nebo rozměrů z příkladu za pevnou specifikaci Q2. Odpověď na vytvoření úlohy obsahuje hodnotu credits spolu s konfigurací požadavku. Uchovejte tato hlášená metadata úlohy a identifikaci dokončené úlohy s výsledkem, aby každé video zůstalo spojeno se svými nastaveními generování.
Zkontrolujte celou sekvenci proti původnímu zadání: vzhled objektu, tvar předmětu, směr pohybu, návaznost kamery a zamýšlený závěrečný pohled. Při revizi určete konkrétní detail, který zadání nesplnil, a zachovejte úspěšné části scény. Uchovávejte prompt, přesný selektor, nastavení, identifikaci úlohy a dokončená videa společně, aby pozdější porovnání vycházelo ze skutečných artefaktů.
Ailoot Ultra · Tvorba videa POST /v1/videos viduq2
viduq2Úvod
Vidu Q2 vytváří video z textového zadání scény, s délkou 1–10 sekund, výstupem 540p, 720p nebo 1080p a pěti poměry stran. Tento přesný profil viduq2 používá prompt pro styl a pohyb a vrací výsledek prostřednictvím asynchronní úlohy.
- Přijímané vstupy
- Text
- Výsledky
- Video
Dostupné v Ailoot · vstupy a metody
Ailoot Ultra · Tvorba videa POST /v1/videos
- Vstup
text- Výstup
video
| Pole | Typ | Požadavek | Hodnoty a limity | Výchozí |
|---|---|---|---|---|
Polemodel | Typstring | PožadavekPovinné | Hodnoty a limity viduq2 | Výchozí— |
Poleprompt | Typstring | PožadavekPovinné | Hodnoty a limity Podmínky: Popište generovanou scénu. Dokumentovaný limit je 2000 znaků; Ailoot ověřuje, že řetězec není prázdný, a zachovává jeho text. | Výchozí— |
Poleduration | Typinteger | PožadavekVolitelné | Hodnoty a limity Minimum: 1 Maximum: 10 Podmínky: Popis konkrétního modelu viduq2 stanoví 1–10 celých sekund. Žádná výchozí délka pro tento model není dokumentována. Jednotka: sekundy | Výchozí— |
Poleseed | Typstring | PožadavekVolitelné | Hodnoty a limity Podmínky: Pro náhodnost vynechte nebo odešlete řetězec "0". Zadaný nenulový seed zvolí dokumentované chování s pevnou počáteční hodnotou seed; žádný číselný rozsah není uveden. | Výchozí— |
Poleaspect_ratio | Typstring | PožadavekVolitelné | Hodnoty a limity 16:9, 9:16, 3:4, 4:3, 1:1 | Výchozí16:9 |
Poleresolution | Typstring | PožadavekVolitelné | Hodnoty a limity 540p, 720p, 1080p Podmínky: Seznam pro konkrétní model viduq2 dokumentuje tato pásma pro 1–10 sekund. Společný výčet a tabulka uvádějí také 360p; jeho použitelnost je v rozporu s tímto seznamem, a proto se zde neuvádí. | Výchozí720p |
Polestyle | Typstring | PožadavekVolitelné | Hodnoty a limity general, anime Podmínky: Společný požadavek toto pole přijímá, dokumentace však výslovně uvádí, že pro viduq2 nemá žádný účinek. | Výchozígeneral |
Polemovement_amplitude | Typstring | PožadavekVolitelné | Hodnoty a limity auto, small, medium, large Podmínky: Společný požadavek toto pole přijímá, dokumentace však výslovně uvádí, že u modelů q2 nemá žádný účinek. | Výchozíauto |
Kombinace vstupních materiálů
Parametry a životní cyklus metody
| Parametr | Kontrakt |
|---|---|
Parametrcontent_type | Kontraktapplication/json |
Parametrrequired | Kontraktmodel, prompt |
Parametroptional | Kontraktduration, seed, aspect_ratio, resolution, style, movement_amplitude |
Parametrmaterial_types | Kontrakttext |
Parametradditional_properties | Kontrakttrue |
Parametrvalidation_scope | KontraktAiloot kontroluje neprázdné řetězce model/prompt. Níže uvedené typy a limity volitelných polí tvoří dokumentovaný kontrakt požadavku; ostatní pole požadavku se zachovávají pro vybraný model. |
Aliasy metody: /v1/videos/generations
Životní cyklus: submit_once_poll_original
GET /v1/videos/{request_id}
GET /v1/videos/generations/{request_id}
GET /v1/videos/{request_id}/content
GET /v1/videos/generations/{request_id}/content
Vytvořte pouze jednou a uchovejte vrácené veřejné id a polling_url.
Dotazujte se na původní operaci a čtěte state; operace je dokončena až při success a výsledku creations[].url spravovaném službou.
Stáhněte video z každé vrácené URL spravované službou; z příkladu neodvozujte pevný počet výstupů, délku ani snímkovou frekvenci.
Tarify
Jak se vypočítá konečný poplatek
Zobrazené sazby slouží k odhadu ceny před generováním. Konečný poplatek se vypočítá z nákladů zaznamenaných u původního generování. Naměřená délka výstupu ani odhadovaná množství nejsou konečným účtovaným množstvím.
Údaje o tarifech nepřidávají možnosti požadavku. Podporované parametry jsou uvedeny u vybrané metody.
- Rychlý režim
- Neuvedeno Při výběru rychlého režimu
- Režim flex
- Neuvedeno Při výběru režimu flex
- Maximální intenzita uvažování
- Neuvedeno Když se při maximální intenzitě uvažování použije výchozí úprava (default)
Odhadované sazby pro srovnání
Ceny podle konfigurace
Přiřaďte každý poplatek k uvedeným podmínkám. Pro každou sadu alternativních konfigurací použijte jednu sazbu.
| Konfigurace | Tabulka sazeb | Předpokládané množství | Poplatek |
|---|---|---|---|
| KonfiguraceZákladní sazby za tokeny | Tabulka sazebZákladní sazba | Předpokládané množství— | Poplatek Vstup · Vstupní tokeny · Odhad pouze pro srovnání — / 1K tokenů Výstup · Výstupní tokeny · Odhad pouze pro srovnání — / 1K tokenů Vstup · Čtení z mezipaměti · Odhad pouze pro srovnání — / 1K tokenů Vstup · Zápis do mezipaměti · Odhad pouze pro srovnání — / 1K tokenů Vstup · Zápis do mezipaměti, 1 hodina · Odhad pouze pro srovnání — / 1K tokenů |
| KonfiguraceOdhadovaná cena generování | Tabulka sazeb— | Předpokládané množstvíodhad pro jedno generování | Poplatek Výstup · Odhadovaná cena generování · Odhad pouze pro srovnání $5.12 odhad před generováním Tento odhad není dodatečným poplatkem ani pevnou sazbou za dokončené generování. |
Ailoot před požadavkem rezervuje odhadovanou částku. Po výsledku vyúčtuje konečný poplatek podle naměřeného využití. Při streamování se účtování řídí konečným záznamem využití. Jak funguje rezervace a vyúčtování →
Příklady požadavků
Ailoot Ultra · Tvorba videa
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON_REQUEST'
{"model":"viduq2","prompt":"In an ultra-realistic fashion photography style featuring light blue and pale amber tones, an astronaut in a spacesuit walks through the fog. The background consists of enchanting white and golden lights, creating a minimalist still life and an impressive panoramic scene."}
JSON_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_POLL'
import json
from pathlib import Path
from urllib.parse import quote,urljoin,urlsplit
r=json.loads(Path("result.json").read_text())
i=r.get("id")
if not isinstance(i,str) or not i:raise SystemExit("Keep original response/headers/id; do not resubmit creation.")
u=urljoin("https://api.ailoot.ai",r.get("polling_url") or "/v1/videos/"+quote(i,safe=""))
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or not p.path.startswith("/v1/videos/"):raise SystemExit("Use the actual Ailoot lookup path.")
Path("poll-url.txt").write_text(u)
PY_POLL
curl --fail-with-body --silent --show-error "$(cat poll-url.txt)" -H "Authorization: Bearer $AILOOT_API_KEY" -D status-headers.txt -o status.json
set -eu
python3 - <<'PY_ASSETS'
import json
from pathlib import Path
from urllib.parse import urlsplit
r=json.loads(Path("status.json").read_text())
if r.get("state")!="success":raise SystemExit("Poll the same original job until its owned result is returned.")
creations=r.get("creations")
if not isinstance(creations,list) or not creations:raise SystemExit("No completed video creations.")
urls=[]
for item in creations:
value=item.get("url") if isinstance(item,dict) else None
values=[value] if isinstance(value,str) else value
if not isinstance(values,list) or not values:raise SystemExit("No completed video URL.")
for u in values:
if not isinstance(u,str):raise SystemExit("Invalid returned URL.")
p=urlsplit(u)
if p.scheme!="https" or p.netloc!="api.ailoot.ai" or not p.path.startswith("/v1/media/assets/") or not p.path.endswith("/content") or not p.query:raise SystemExit("Wait for the actual Ailoot-owned signed result.")
urls.append(u)
Path("asset-urls.txt").write_text("\n".join(urls)+"\n")
PY_ASSETS
index=0
while IFS= read -r asset_url; do
curl --fail-with-body --silent --show-error "$asset_url" -o "video-${index}.bin"
index=$((index + 1))
done < asset-urls.txt
Přijímání a ukládání výsledků
Ailoot Ultra · Tvorba videa
JSON zachovává nativní state a pole creations a přidává veřejné id/provider_task_id/polling_url. Vybrané URL videí jsou před zveřejněním prázdné a po dokončení se změní na podepsané URL spravované službou Ailoot.
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Uchovejte všechny dokončené výsledky
Uložte každé dokončené video či vrácený soubor; stáhněte obsah každé skutečně vrácené URL souboru.
Stáhněte obsah každé skutečně vrácené URL v creations[].url; index obsahu označuje jeden skutečně vrácený výstup.
Pokud je nutné ověřit původní odpověď
Pevně určená deklarace neuvádí žádný konečný stav selhání. Zachovejte původní odpověď, hlavičky a id a při jakémkoli nerozpoznaném stavu nebo chybě result_pending_check kontrolujte tutéž operaci; vytvoření s neznámým výsledkem nikdy znovu neodesílejte.
Pole odpovědi
| Pole | Typ | Význam |
|---|---|---|
Poleid | Typstring | VýznamVrácený veřejný identifikátor úlohy nebo operace Ailoot. |
Poleprovider_task_id | Typstring | VýznamPůvodní identifikátor úlohy, odlišný od veřejného id. |
Polepolling_url | Typstring | VýznamVrácená cesta Ailoot pro vyhledání původní úlohy. |
Poletask_id | Typstring when supplied | VýznamPůvodní identifikátor obsažený v odpovědi na vytvoření. |
Polestate | Typstring when supplied | VýznamNativní stav úlohy: created pro pevně určený čekající stav a success pro dokončení. |
Poleerr_code | Typstring when supplied | VýznamDiagnostika úlohy; uložená specifikace neuvádí žádný výčet chybových kódů. |
Polecreations[].url | Typstring|string[] | VýznamKaždá vybraná URL dokončeného videa je nahrazena podepsanou URL spravovanou službou Ailoot. |
Polecreations[].video.duration | Typnumber when supplied | VýznamVrácená délka videa; zkontrolujte skutečný dokončený výsledek. |
Polecreations[].video.fps | Typinteger when supplied | VýznamVrácená snímková frekvence; žádná pevná snímková frekvence se neslibuje. |
Polecreations[].video.resolution.width | Typinteger when supplied | VýznamVrácená šířka výstupu v pixelech. |
Polecreations[].video.resolution.height | Typinteger when supplied | VýznamVrácená výška výstupu v pixelech. |
Chyby a další kroky
| Odpověď | Podmínka | Další krok |
|---|---|---|
Odpověď400 · invalid_request_error | PodmínkaNeplatný JSON/model, chybějící nebo prázdné povinné řetězce či neplatný index obsahu. | Další krok |
Odpověď401 · authentication_error | PodmínkaNeplatný klíč API Ailoot. | Další krok |
Odpověď403 · permission_error | PodmínkaSkupina klíče API nemá přístup k této trase pro média. | Další krok |
Odpověď404 · not_found_error | PodmínkaPůvodní úloha nebo požadovaný výstup chybí nebo nepatří stejnému uživateli, klíči API či skupině. | Další krok |
Odpověď502 · result_pending_check | PodmínkaPůvodní odeslání nebo stav jsou neúplné nebo je nelze sesouhlasit; zachovejte původní ID a požadavek znovu neodesílejte. | Další krok |
Odpověď503 · result_pending_check | PodmínkaPůvodní vazba, trasa nebo média spravovaná službou se stále kontrolují; pokračujte v kontrole původní operace. | Další krok |
Odpověď503 · server_error | PodmínkaSlužba médií nebo úložiště původních úloh nejsou dostupné. | Další krok |
Aliasy
Aliasy modelu
Ailoot Ultra viduq2
Aliasy cest metod
/v1/videos/generations
Související ID modelů
FAQ · Vidu: Q2 Text-to-Video
- Jaké vstupy a výsledky jsou dostupné?
POST /v1/videos·viduq2:text→video- Jaká pole požadavek používá?
POST /v1/videos·viduq2:model,prompt,duration,seed,aspect_ratio,resolution,style,movement_amplitude- Jaké limity platí?
POST /v1/videos·viduq2:duration.minimum:1;duration.maximum:10