Vidu: Q2 Text-to-Video
Vidu Q2 mencipta video daripada arahan adegan bertulis, dengan tempoh 1–10 saat, output 540p, 720p atau 1080p serta lima nisbah aspek. Profil viduq2 khusus ini menggunakan prom untuk gaya dan pergerakan serta mengembalikan hasil melalui tugasan tak segerak.
Tentang model
Huraian ini merangkumi keupayaan model. Input, output dan pilihan yang tersedia di Ailoot disenaraikan di bawah untuk kaedah yang dipilih.
Vidu Q2 mencipta video daripada adegan bertulis melalui profil teks-ke-video yang dipilih dengan viduq2. Input wajibnya ialah pengecam model yang tepat dan prom yang menerangkan adegan. Gunakannya untuk konsep produk pendek, pandangan pembukaan atau aksi watak yang penampilan dan pergerakannya boleh ditentukan dengan perkataan. Kaedah yang dikonfigurasi ini ialah teks-ke-video; penerangannya tidak menetapkan mod imej rujukan atau penyuntingan video yang berasingan kepada pemilih itu.
Bina arahan berdasarkan urutan yang kelihatan. Kenal pasti subjek, lokasi, aksi, saiz syot, pergerakan kamera dan komposisi akhir. Untuk konsep produk, terangkan objek di atas meja, cahaya yang bergerak merentasi bahannya dan kamera yang menghampiri perlahan lalu berakhir pada butiran yang boleh dikenal pasti. Untuk adegan lokasi, perkenalkan persekitaran sebelum bergerak menuju titik fokus. Pastikan aksi sesuai dengan panjang klip yang dipilih supaya adegan mempunyai ruang untuk pengakhiran yang dimaksudkan.
Had prom ialah 2,000 aksara. Letakkan subjek dan aksi utama terlebih dahulu, kemudian tambahkan butiran pencahayaan, bahan, persekitaran dan kamera yang mengubah hasil yang diingini. Nyatakan gaya visual dalam prom. Panduan khusus Q2 menyatakan bahawa parameter style dan movement_amplitude yang berasingan tidak memberi kesan pada model ini, maka pratetap general atau anime serta pilihan amplitud pergerakan bukan pengganti penerangan adegan yang jelas.
Tetapan tempoh khusus model menerima saat bulat daripada satu hingga sepuluh. Pilihan resolusi khusus Q2 ialah 540p, 720p dan 1080p, dengan 720p sebagai lalai yang didokumentasikan. Pilih tempoh dan resolusi bersama mengikut aksi dan destinasi penggunaannya. Pendedahan pendek dan pergerakan yang lebih panjang memerlukan pemasaan berbeza; pertambahan tempoh yang diminta patut menyokong urutan yang kelihatan dan bukannya sekadar memanjangkan arahan yang tidak berubah. Periksa dimensi dan panjang sebenar klip yang dikembalikan apabila menyediakan penempatan akhirnya.
Pilihan aspect_ratio yang didokumentasikan ialah 16:9, 9:16, 3:4, 4:3 dan 1:1, dengan 16:9 sebagai lalai. Panduan menyertakan 3:4 dan 4:3 secara jelas untuk keluarga Q2. Pilih bingkai sebelum penjanaan dan terangkan komposisi yang sesuai: pastikan subjek utama jelas dalam pandangan potret, atau gunakan lebar bingkai landskap untuk persekitaran sekeliling. Pastikan pandangan penutup cukup jelas untuk halaman yang dimaksudkan, pembentangan atau pengolahan teks keterangan kemudian.
Medan seed mengawal variasi. Menggugurkannya atau memberikan 0 memilih nilai rawak; nilai bukan sifar memilih pilihan seed tetap yang didokumentasikan untuk penjanaan yang boleh dihasilkan semula. Simpan seed yang dikembalikan bersama prom dan tetapan apabila membandingkan versi. Operasi bersama turut mendokumentasikan kawalan audio dan off_peak khusus untuk model Q3. Pilihan Q3 itu bukan keupayaan yang ditetapkan pada profil Q2 ini; rancang permintaan berdasarkan input teks dan output video yang didokumentasikan.
Penjanaan berlaku secara tak segerak. Penyerahan mengembalikan task_id dan keadaan awal, dengan created digunakan untuk tugasan yang baru diwujudkan. Kekalkan identiti tugasan itu semasa mengikuti pemprosesan. Pertanyaan hasil yang didokumentasikan menggunakan state=success untuk hasil yang berjaya dan mengembalikan tatasusunan creations. Setiap entri mempunyai URL video dalam creations[].url; simpan setiap video yang dikembalikan dan bukannya menganggap tugasan sentiasa mengandungi tepat satu hasil penjanaan.
Dokumentasi hasil turut melaporkan tempoh video sebenar, fps serta lebar dan tinggi resolusi. Simpan nilai yang dilaporkan itu bersama klip siap dan bukannya menganggap kadar bingkai atau dimensi dalam contoh sebagai spesifikasi Q2 yang tetap. Respons penciptaan tugasan merangkumi nilai credits bersama konfigurasi permintaan. Simpan metadata tugasan yang dilaporkan dan identiti tugasan yang selesai bersama hasil supaya setiap video kekal berkaitan dengan tetapan penjanaannya.
Semak seluruh urutan berdasarkan arahan asal: penampilan subjek, bentuk objek, arah pergerakan, kesinambungan kamera dan pandangan akhir yang dimaksudkan. Untuk semakan, kenal pasti butiran khusus yang tidak menepati arahan dan kekalkan bahagian adegan yang berjaya. Simpan prom, pemilih yang tepat, tetapan, identiti tugasan dan video siap bersama supaya perbandingan kemudian berasaskan artifak sebenar.
Ailoot Ultra · Penjanaan video POST /v1/videos viduq2
viduq2Pengenalan
Vidu Q2 mencipta video daripada arahan adegan bertulis, dengan tempoh 1–10 saat, output 540p, 720p atau 1080p serta lima nisbah aspek. Profil viduq2 khusus ini menggunakan prom untuk gaya dan pergerakan serta mengembalikan hasil melalui tugasan tak segerak.
- Input yang diterima
- Teks
- Hasil
- Video
Tersedia di Ailoot · input & kaedah
Ailoot Ultra · Penjanaan video POST /v1/videos
- Input
text- Output
video
| Medan | Jenis | Keperluan | Nilai & had | Lalai |
|---|---|---|---|---|
Medanmodel | Jenisstring | KeperluanDiperlukan | Nilai & had viduq2 | Lalai— |
Medanprompt | Jenisstring | KeperluanDiperlukan | Nilai & had Syarat: Huraikan adegan yang dijana. Had yang didokumenkan ialah 2000 aksara; Ailoot menyemak bahawa rentetan tidak kosong dan mengekalkan teks tersebut. | Lalai— |
Medanduration | Jenisinteger | KeperluanPilihan | Nilai & had Minimum: 1 Maksimum: 10 Syarat: Huraian khusus model viduq2 menetapkan 1–10 saat bulat. Tiada tempoh lalai khusus model didokumenkan. Unit: saat | Lalai— |
Medanseed | Jenisstring | KeperluanPilihan | Nilai & had Syarat: Gugurkan atau hantar rentetan "0" untuk rawakan hasil. Nilai seed bukan sifar yang diberikan memilih kelakuan seed tetap yang didokumenkan; tiada julat angka ditetapkan. | Lalai— |
Medanaspect_ratio | Jenisstring | KeperluanPilihan | Nilai & had 16:9, 9:16, 3:4, 4:3, 1:1 | Lalai16:9 |
Medanresolution | Jenisstring | KeperluanPilihan | Nilai & had 540p, 720p, 1080p Syarat: Senarai khusus model viduq2 mendokumenkan peringkat ini untuk 1–10 saat. Enum bersama dan jadual turut menyebut 360p; kesesuaiannya bercanggah dengan senarai tersebut dan tidak dinyatakan sebagai terjamin di sini. | Lalai720p |
Medanstyle | Jenisstring | KeperluanPilihan | Nilai & had general, anime Syarat: Permintaan bersama menerima medan ini, tetapi dokumentasi menyatakan secara jelas bahawa medan ini tidak memberi kesan kepada viduq2. | Lalaigeneral |
Medanmovement_amplitude | Jenisstring | KeperluanPilihan | Nilai & had auto, small, medium, large Syarat: Permintaan bersama menerima medan ini, tetapi dokumentasi menyatakan secara jelas bahawa medan ini tidak memberi kesan kepada model q2. | Lalaiauto |
Gabungan bahan input
Parameter kaedah dan kitar hayat
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakmodel, prompt |
Parameteroptional | Kontrakduration, seed, aspect_ratio, resolution, style, movement_amplitude |
Parametermaterial_types | Kontraktext |
Parameteradditional_properties | Kontraktrue |
Parametervalidation_scope | KontrakAiloot mengesahkan rentetan model/prompt yang tidak kosong. Jenis pilihan dan had di bawah ialah kontrak permintaan yang didokumenkan; medan permintaan lain dikekalkan untuk model yang dipilih. |
Alias kaedah: /v1/videos/generations
Kitar hayat: 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
Cipta sekali dan simpan id awam serta polling_url yang dikembalikan.
Semak operasi asal secara berkala dan baca state; success serta hasil creations[].url milik anda menandakan operasi telah selesai.
Muat turun setiap URL video milik anda yang dikembalikan; jangan andaikan bilangan output, tempoh atau kadar bingkai yang tetap berdasarkan contoh.
Pelan harga
Cara caj akhir dikira
Kadar yang dipaparkan menganggarkan kos sebelum penjanaan. Caj akhir dikira berdasarkan kos yang direkodkan untuk penjanaan asal. Tempoh output yang diukur dan kuantiti ramalan bukan kuantiti akhir yang boleh dibilkan.
Rujukan tarif tidak menambah pilihan permintaan. Parameter yang disokong disenaraikan untuk kaedah yang dipilih.
- Mod pantas
- Tidak dinyatakan Apabila mod pantas dipilih
- Mod flex
- Tidak dinyatakan Apabila mod flex dipilih
- Usaha penaakulan maksimum
- Tidak dinyatakan Apabila usaha penaakulan maksimum menggunakan pelarasan default
Anggaran kadar untuk perbandingan
Harga mengikut konfigurasi
Padankan setiap caj dengan syarat yang dipaparkan. Gunakan satu kadar bagi setiap set konfigurasi alternatif.
| Konfigurasi | Jadual kadar | Kuantiti ramalan | Caj |
|---|---|---|---|
| KonfigurasiKadar asas token | Jadual kadarKadar asas | Kuantiti ramalan— | Caj Input · Token input · Anggaran untuk perbandingan sahaja — / 1K token Output · Token output · Anggaran untuk perbandingan sahaja — / 1K token Input · Bacaan cache · Anggaran untuk perbandingan sahaja — / 1K token Input · Penulisan cache · Anggaran untuk perbandingan sahaja — / 1K token Input · Penulisan cache, 1 jam · Anggaran untuk perbandingan sahaja — / 1K token |
| KonfigurasiAnggaran kos penjanaan | Jadual kadar— | Kuantiti ramalananggaran untuk satu penjanaan | Caj Output · Anggaran kos penjanaan · Anggaran untuk perbandingan sahaja $5.12 anggaran sebelum penjanaan Anggaran ini bukan caj tambahan atau kadar tetap bagi penjanaan yang telah selesai. |
Ailoot merizabkan anggaran amaun sebelum permintaan. Selepas hasil diterima, caj akhir diselesaikan berdasarkan penggunaan terukur. Penyelesaian caj penstriman menggunakan rekod penggunaan akhir. Cara rizab dan penyelesaian caj berfungsi →
Contoh permintaan
Ailoot Ultra · Penjanaan video
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
Terima dan simpan hasil
Ailoot Ultra · Penjanaan video
JSON mengekalkan state natif dan tatasusunan creations, dengan tambahan id/provider_task_id/polling_url awam. URL video yang dipilih dikosongkan sebelum penerbitan dan menjadi URL bertandatangan milik Ailoot selepas selesai.
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/videos/generations/{request_id}/content
Simpan semua hasil yang selesai
Simpan setiap video yang selesai atau fail yang dikembalikan; dapatkan setiap URL aset yang benar-benar dikembalikan.
Muat turun setiap URL sebenar yang dikembalikan dalam creations[].url; indeks kandungan mengenal pasti satu output sebenar yang dikembalikan.
Jika respons asal perlu disemak
Pengisytiharan yang dipinkan tidak menyenaraikan sebarang keadaan kegagalan terminal. Simpan respons/pengepala/id asal dan semak operasi yang sama bagi sebarang keadaan yang tidak dikenali atau ralat result_pending_check; jangan sekali-kali hantar semula penciptaan yang tidak diketahui hasilnya.
Medan respons
| Medan | Jenis | Maksud |
|---|---|---|
Medanid | Jenisstring | MaksudPengecam tugas atau operasi awam Ailoot yang dikembalikan. |
Medanprovider_task_id | Jenisstring | MaksudPengecam tugas asal, berasingan daripada id awam. |
Medanpolling_url | Jenisstring | MaksudLaluan carian Ailoot yang dikembalikan untuk tugas asal. |
Medantask_id | Jenisstring when supplied | MaksudPengecam asal yang terdapat dalam respons penciptaan. |
Medanstate | Jenisstring when supplied | MaksudKeadaan tugas natif: created untuk keadaan menunggu yang dipinkan dan success untuk penyelesaian. |
Medanerr_code | Jenisstring when supplied | MaksudDiagnostik tugas; spesifikasi yang disimpan tidak mengisytiharkan senarai kod ralat yang dienumerasikan. |
Medancreations[].url | Jenisstring|string[] | MaksudSetiap URL video siap yang dipilih digantikan dengan URL bertandatangan milik Ailoot. |
Medancreations[].video.duration | Jenisnumber when supplied | MaksudTempoh video yang dikembalikan; semak hasil siap sebenar. |
Medancreations[].video.fps | Jenisinteger when supplied | MaksudKadar bingkai yang dikembalikan; tiada kadar bingkai tetap dijanjikan. |
Medancreations[].video.resolution.width | Jenisinteger when supplied | MaksudLebar output yang dikembalikan dalam piksel. |
Medancreations[].video.resolution.height | Jenisinteger when supplied | MaksudKetinggian output yang dikembalikan dalam piksel. |
Ralat dan langkah seterusnya
| Respons | Syarat | Langkah seterusnya |
|---|---|---|
Respons400 · invalid_request_error | SyaratJSON/model tidak sah, rentetan wajib tiada atau kosong, atau indeks kandungan tidak sah. | Langkah seterusnya |
Respons401 · authentication_error | SyaratKunci API Ailoot tidak sah. | Langkah seterusnya |
Respons403 · permission_error | SyaratKumpulan kunci API tidak dibenarkan mengakses laluan media ini. | Langkah seterusnya |
Respons404 · not_found_error | SyaratTugas asal atau output yang diminta tiada atau bukan milik pengguna/kunci API/kumpulan yang sama. | Langkah seterusnya |
Respons502 · result_pending_check | SyaratPenghantaran atau status asal tidak lengkap atau tidak dapat diselaraskan; simpan ID asal dan jangan hantar semula. | Langkah seterusnya |
Respons503 · result_pending_check | SyaratPengikatan asal, laluan atau media milik anda masih disemak; teruskan menyemak operasi asal tersebut. | Langkah seterusnya |
Respons503 · server_error | SyaratPerkhidmatan media atau storan tugas asal tidak tersedia. | Langkah seterusnya |
Alias
Alias model
Ailoot Ultra viduq2
Alias laluan kaedah
/v1/videos/generations
ID pemanggil berkaitan
FAQ · Vidu: Q2 Text-to-Video
- Apakah input dan hasil yang tersedia?
POST /v1/videos·viduq2:text→video- Apakah medan yang digunakan oleh permintaan?
POST /v1/videos·viduq2:model,prompt,duration,seed,aspect_ratio,resolution,style,movement_amplitude- Apakah had yang terpakai?
POST /v1/videos·viduq2:duration.minimum:1;duration.maximum:10