Vidu: Q2 Text-to-Video
Vidu Q2 kuria vaizdo įrašą pagal tekstinį scenos aprašą; trukmė – 1–10 sekundžių, išvesties raiška – 540p, 720p arba 1080p, galimi penki kraštinių santykiai. Šis konkretus viduq2 profilis stilių ir judėjimą nustato pagal užklausos tekstą, o rezultatą grąžina per asinchroninę užduotį.
Apie modelį
Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.
Vidu Q2 kuria vaizdo įrašą pagal rašytinę sceną, naudodamas viduq2 parenkamą vaizdo generavimo iš teksto profilį. Privalomos įvestys – tikslus modelio identifikatorius ir sceną aprašantis užklausos tekstas. Naudokite jį trumpai gaminio idėjai, bendram vietovės planui ar veikėjo veiksmui, kurio išvaizdą ir judėjimą galima nusakyti žodžiais. Šis sukonfigūruotas metodas generuoja vaizdo įrašą iš teksto; jo apraše identifikatoriui nepriskiriamas atskiras atskaitos vaizdo ar vaizdo redagavimo režimas.
Aprašą grįskite matoma seka. Nurodykite objektą, vietą, veiksmą, plano stambumą, kameros judėjimą ir galutinę kompoziciją. Gaminio idėjai aprašykite ant stalo esantį objektą, jo medžiagos paviršiumi slenkančią šviesą ir lėtą kameros artėjimą, kuris baigiasi ties atpažįstama detale. Vietovės scenoje prieš artėdami prie akcento parodykite aplinką. Veiksmą pritaikykite pasirinktai klipo trukmei, kad scenai pakaktų laiko numatytai pabaigai.
Užklausos teksto riba – 2 000 simbolių. Pirmiausia nurodykite esminį objektą ir veiksmą, tada pridėkite norimą rezultatą keičiančias apšvietimo, medžiagos, aplinkos ir kameros detales. Vaizdinį stilių nurodykite užklausos tekste. Q2 skirtame vadove teigiama, kad atskiri style ir movement_amplitude parametrai šiam modeliui neturi poveikio, todėl general arba anime parinktys ir judėjimo amplitudės parinktys nepakeičia aiškaus scenos aprašo.
Konkretaus modelio trukmės nuostata priima sveikas sekundes nuo vienos iki dešimties. Q2 raiškos pasirinktys yra 540p, 720p ir 1080p, o dokumentuota numatytoji reikšmė – 720p. Trukmę ir raišką rinkitės kartu pagal veiksmą bei paskirtį. Trumpam atskleidimui ir ilgesniam judėjimui reikia skirtingo laiko; ilgesnė prašoma trukmė turi būti naudinga matomai sekai, o ne vien ištempti nepakeistą aprašą. Ruošdami galutinį pateikimą patikrinkite tikrus grąžinto klipo matmenis ir trukmę.
Dokumentuotos aspect_ratio parinktys yra 16:9, 9:16, 3:4, 4:3 ir 1:1, o numatytoji – 16:9. Vadove Q2 šeimai aiškiai įtraukti 3:4 ir 4:3. Prieš generuodami pasirinkite kadravimą ir aprašykite jam tinkamą kompoziciją: vertikaliame vaizde pagrindinis objektas turi būti aiškiai matomas, o horizontalaus kadro plotį galima skirti aplinkai. Baigiamasis vaizdas turi likti pakankamai aiškus numatytam puslapiui, pristatymui ar vėliau pridedamiems užrašams.
Seed laukas valdo variaciją. Jo nepateikus arba pateikus 0 parenkama atsitiktinė reikšmė; nenulinė reikšmė parenka dokumentuotą fiksuoto seed parinktį pakartojamam generavimui. Lygindami versijas išsaugokite grąžintą seed kartu su užklausos tekstu ir nuostatomis. Bendra operacija taip pat dokumentuoja audio ir off_peak valdiklius būtent Q3 modeliams. Šios Q3 parinktys nėra šiam Q2 profiliui priskirtos galimybės; užklausą planuokite pagal dokumentuotą tekstinę įvestį ir vaizdo išvestį.
Generavimas yra asinchroninis. Pateikus užklausą grąžinamas task_id ir pradinė būsena; naujai sukurtai užduočiai naudojama created. Sekdami apdorojimą išsaugokite šį užduoties identifikatorių. Dokumentuota rezultato užklausa sėkmingam rezultatui naudoja state=success ir grąžina creations masyvą. Kiekvieno elemento vaizdo URL yra creations[].url; išsaugokite kiekvieną grąžintą vaizdo įrašą, užuot manę, kad užduotis visada turi tik vieną kūrinį.
Rezultato dokumentacijoje taip pat pateikiama tikro vaizdo įrašo trukmė, fps ir raiškos plotis bei aukštis. Išsaugokite šias pateiktas reikšmes kartu su užbaigtu klipu, užuot pavyzdžio kadrų dažnį ar matmenis laikę fiksuota Q2 specifikacija. Užduoties sukūrimo atsakyme kartu su užklausos konfigūracija pateikiama credits reikšmė. Išsaugokite šiuos pateiktus užduoties metaduomenis ir užbaigtos užduoties identifikatorių kartu su rezultatu, kad kiekvienas vaizdo įrašas liktų susietas su jo generavimo nuostatomis.
Peržiūrėkite visą seką pagal pradinį aprašą: objekto išvaizdą, formą, judėjimo kryptį, kameros tęstinumą ir numatytą galutinį vaizdą. Taisydami nurodykite konkrečią aprašo neatitikusią detalę ir išlaikykite pavykusias scenos dalis. Užklausos tekstą, tikslų identifikatorių, nuostatas, užduoties identifikatorių ir užbaigtus vaizdo įrašus laikykite kartu, kad vėlesnis palyginimas būtų grindžiamas tikrais rezultatais.
Ailoot Ultra · Vaizdo įrašai POST /v1/videos viduq2
viduq2Pradžia
Vidu Q2 kuria vaizdo įrašą pagal tekstinį scenos aprašą; trukmė – 1–10 sekundžių, išvesties raiška – 540p, 720p arba 1080p, galimi penki kraštinių santykiai. Šis konkretus viduq2 profilis stilių ir judėjimą nustato pagal užklausos tekstą, o rezultatą grąžina per asinchroninę užduotį.
- Leidžiamos įvestys
- Tekstas
- Rezultatai
- Vaizdo įrašai
Prieinama Ailoot · įvestys ir metodai
Ailoot Ultra · Vaizdo įrašai POST /v1/videos
- Įvestis
text- Išvestis
video
| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
|---|---|---|---|---|
Laukasmodel | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos viduq2 | Numatyta— |
Laukasprompt | Tipasstring | ReikalavimasPrivaloma | Reikšmės ir ribos Sąlygos: Aprašykite generuojamą sceną. Dokumentacijoje nurodyta riba yra 2000 simbolių; Ailoot tikrina, ar eilutė netuščia, ir išsaugo tekstą. | Numatyta— |
Laukasduration | Tipasinteger | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausia reikšmė: 1 Didžiausia reikšmė: 10 Sąlygos: Konkretaus viduq2 modelio apraše nurodyta 1–10 sveikų sekundžių. Dokumentacijoje nepateikta šio modelio numatytoji trukmė. Vienetas: sekundės | Numatyta— |
Laukasseed | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: Jei norite atsitiktinumo, praleiskite arba siųskite eilutę "0". Pateikta nenulinė seed reikšmė parenka dokumentacijoje aprašytą fiksuotos seed reikšmės veikimą; skaitinis intervalas nenurodytas. | Numatyta— |
Laukasaspect_ratio | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos 16:9, 9:16, 3:4, 4:3, 1:1 | Numatyta16:9 |
Laukasresolution | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos 540p, 720p, 1080p Sąlygos: Konkretaus viduq2 modelio sąraše šios pakopos dokumentuotos 1–10 sekundžių trukmei. Bendrame išvardijimo tipe ir lentelėje taip pat minima 360p; jos taikymas prieštarauja tam sąrašui ir čia netvirtinamas. | Numatyta720p |
Laukasstyle | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos general, anime Sąlygos: Bendra užklausos struktūra priima šį lauką, tačiau dokumentacijoje aiškiai nurodyta, kad viduq2 jis neturi poveikio. | Numatytageneral |
Laukasmovement_amplitude | Tipasstring | ReikalavimasNeprivaloma | Reikšmės ir ribos auto, small, medium, large Sąlygos: Bendra užklausos struktūra priima šį lauką, tačiau dokumentacijoje aiškiai nurodyta, kad q2 modeliams jis neturi poveikio. | Numatytaauto |
Įvesties medžiagos deriniai
Metodo parametrai ir gyvavimo ciklas
| Parametras | Specifikacija |
|---|---|
Parametrascontent_type | Specifikacijaapplication/json |
Parametrasrequired | Specifikacijamodel, prompt |
Parametrasoptional | Specifikacijaduration, seed, aspect_ratio, resolution, style, movement_amplitude |
Parametrasmaterial_types | Specifikacijatext |
Parametrasadditional_properties | Specifikacijatrue |
Parametrasvalidation_scope | SpecifikacijaAiloot tikrina, ar model/prompt eilutės netuščios. Toliau pateikti neprivalomų laukų tipai ir ribos sudaro dokumentuotą užklausos sutartį; kiti užklausos laukai išsaugomi pasirinktam modeliui. |
Metodo pseudonimai: /v1/videos/generations
Gyvavimo ciklas: 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
Sukurkite vieną kartą ir išsaugokite grąžintus viešuosius id bei polling_url.
Periodiškai tikrinkite pradinę operaciją ir skaitykite state; užbaigimą patvirtina success ir jums priklausantis creations[].url rezultatas.
Atsisiųskite vaizdo įrašą iš kiekvieno grąžinto jums priklausančio URL; pagal pavyzdį nespręskite apie fiksuotą rezultatų skaičių, trukmę ar kadrų dažnį.
Planai
Kaip apskaičiuojamas galutinis mokestis
Rodomi įkainiai leidžia įvertinti kainą prieš generavimą. Galutinė suma apskaičiuojama pagal užfiksuotą pradinio generavimo kainą. Išmatuota rezultato trukmė ir prognozuoti kiekiai nėra galutinis apmokestinamas kiekis.
Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.
- Spartusis režimas
- Nenurodyta Pasirinkus spartųjį režimą
- Flex režimas
- Nenurodyta Pasirinkus flex režimą
- Didžiausios samprotavimo pastangos
- Nenurodyta Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)
Numatomi įkainiai palyginimui
Kainos pagal konfigūraciją
Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.
| Konfigūracija | Įkainių lentelė | Numatomas kiekis | Mokestis |
|---|---|---|---|
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Numatomas kiekis— | Mokestis Įvestis · Įvesties tokenai · Įvertis tik palyginimui — / 1K tokenų Išvestis · Išvesties tokenai · Įvertis tik palyginimui — / 1K tokenų Įvestis · Talpyklos skaitymas · Įvertis tik palyginimui — / 1K tokenų Įvestis · Rašymas į talpyklą · Įvertis tik palyginimui — / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val · Įvertis tik palyginimui — / 1K tokenų |
| KonfigūracijaNumatoma generavimo kaina | Įkainių lentelė— | Numatomas kiekisvieno generavimo įvertis | Mokestis Išvestis · Numatoma generavimo kaina · Įvertis tik palyginimui $5.12 įvertis prieš generavimą Šis įvertis nėra papildomas mokestis ar fiksuotas užbaigto generavimo įkainis. |
Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. Kaip veikia rezervavimas ir atsiskaitymas →
Užklausų pavyzdžiai
Ailoot Ultra · Vaizdo įrašai
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
Gauti ir išsaugoti rezultatus
Ailoot Ultra · Vaizdo įrašai
JSON išsaugo pirminius state ir creations masyvą, pridėdamas viešus id/provider_task_id/polling_url. Pasirinktų vaizdo įrašų URL prieš paskelbimą yra tušti, o užbaigus tampa Ailoot priklausančiais pasirašytais URL.
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Išsaugoti visus baigtus rezultatus
Išsaugokite kiekvieną baigtą vaizdo įrašą arba grąžintą failą; gaukite turinį iš kiekvieno faktiškai grąžinto medžiagos URL.
Atsisiųskite kiekvieną tikrą grąžintą URL iš creations[].url; turinio indeksas nurodo vieną tikrą grąžintą rezultatą.
Jei reikia patikrinti pradinį atsakymą
Užfiksuotoje deklaracijoje neišvardyta nė viena galutinė nesėkmės būsena. Išsaugokite pradinį atsakymą, antraštes ir id; gavę bet kurią neatpažintą būseną arba result_pending_check klaidą, tikrinkite tą pačią operaciją; niekada neteikite kūrimo užklausos pakartotinai, kai jos baigtis nežinoma.
Atsakymo laukai
| Laukas | Tipas | Reikšmė |
|---|---|---|
Laukasid | Tipasstring | ReikšmėGrąžintas viešas Ailoot užduoties arba operacijos identifikatorius. |
Laukasprovider_task_id | Tipasstring | ReikšmėPradinės užduoties identifikatorius, atskiras nuo viešo id. |
Laukaspolling_url | Tipasstring | ReikšmėGrąžintas Ailoot pradinės užduoties duomenų paieškos kelias. |
Laukastask_id | Tipasstring when supplied | ReikšmėKūrimo atsakyme esantis pradinis identifikatorius. |
Laukasstate | Tipasstring when supplied | ReikšmėSavojo formato užduoties būsena: created reiškia užfiksuotą laukimo būseną, o success – užbaigimą. |
Laukaserr_code | Tipasstring when supplied | ReikšmėUžduoties diagnostikos duomenys; išsaugotoje specifikacijoje neišvardytas klaidų kodų sąrašas. |
Laukascreations[].url | Tipasstring|string[] | ReikšmėKiekvienas pasirinktas užbaigto vaizdo įrašo URL pakeičiamas Ailoot priklausančiu pasirašytu URL. |
Laukascreations[].video.duration | Tipasnumber when supplied | ReikšmėGrąžinta vaizdo įrašo trukmė; patikrinkite tikrą užbaigtą rezultatą. |
Laukascreations[].video.fps | Tipasinteger when supplied | ReikšmėGrąžintas kadrų dažnis; fiksuotas kadrų dažnis nežadamas. |
Laukascreations[].video.resolution.width | Tipasinteger when supplied | ReikšmėGrąžintas išvesties plotis pikseliais. |
Laukascreations[].video.resolution.height | Tipasinteger when supplied | ReikšmėGrąžintas išvesties aukštis pikseliais. |
Klaidos ir tolesni veiksmai
| Atsakymas | Sąlyga | Kitas žingsnis |
|---|---|---|
Atsakymas400 · invalid_request_error | SąlygaNetinkamas JSON/model, trūkstamos arba tuščios privalomos eilutės, arba netinkamas turinio indeksas. | Kitas žingsnis |
Atsakymas401 · authentication_error | SąlygaNegaliojantis Ailoot API raktas. | Kitas žingsnis |
Atsakymas403 · permission_error | SąlygaAPI rakto grupei nesuteikta prieiga prie šio medijos maršruto. | Kitas žingsnis |
Atsakymas404 · not_found_error | SąlygaPradinės užduoties arba pageidaujamo rezultato nėra, arba jis nepriklauso tam pačiam naudotojui, API raktui ir grupei. | Kitas žingsnis |
Atsakymas502 · result_pending_check | SąlygaPradinio pateikimo ar būsenos duomenys yra neišsamūs arba jų nepavyksta suderinti; išsaugokite pradinį ID ir neteikite užklausos pakartotinai. | Kitas žingsnis |
Atsakymas503 · result_pending_check | SąlygaPradinis susiejimas, maršrutas arba jums priklausanti medija vis dar tikrinami; tęskite tos pradinės operacijos tikrinimą. | Kitas žingsnis |
Atsakymas503 · server_error | SąlygaMedijos paslauga arba pradinių užduočių saugykla nepasiekiama. | Kitas žingsnis |
Pseudonimai
Modelių pseudonimai
Ailoot Ultra viduq2
Metodų kelių pseudonimai
/v1/videos/generations
Susiję ID iškvietimui
FAQ · Vidu: Q2 Text-to-Video
- Kokios įvestys ir rezultatai prieinami?
POST /v1/videos·viduq2:text→video- Kokius laukus naudoja užklausa?
POST /v1/videos·viduq2:model,prompt,duration,seed,aspect_ratio,resolution,style,movement_amplitude- Kokie apribojimai taikomi?
POST /v1/videos·viduq2:duration.minimum:1;duration.maximum:10