wan2.7-r2v
Wan 2.7 R2V menyediakan bidang image, reference_images, dan reference_voice untuk brief video berbasis referensi. Pilih durasi, resolusi, dan ratio, lalu ambil hasil Ailoot asli.
Tentang model
Deskripsi ini mencakup kemampuan model. Masukan, keluaran, dan opsi yang tersedia di Ailoot tercantum di bawah untuk metode yang dipilih.
Pilih wan2.7-r2v di /v1/videos. Permintaannya menyediakan prompt, negative_prompt, image, reference_images, reference_voice, prompt_extend, dan watermark. Resolution menawarkan 720P atau 1080P, ratio mencakup lanskap, potret, persegi, 4:3, dan 3:4, serta duration menerima detik bulat dari dua hingga lima belas.
Jelaskan apa yang harus ditetapkan oleh setiap referensi yang diberikan dan apa yang harus dilakukan adegan. Tentukan penampilan subjek, latar, gerakan, dan komposisi akhir secara terpisah. Simpan nilai reference_images dan reference_voice dalam bentuk bidang yang didokumentasikan bersama aset sumber. Untuk rangkaian, jelaskan urutan dan kesinambungan yang dituju agar video yang selesai memiliki sasaran peninjauan konkret.
Kirim adegan satu kali melalui /v1/videos dan simpan ID permintaan yang dikembalikan. Lakukan polling pada operasi yang sama melalui /v1/videos/{request_id}, lalu simpan setiap keluaran video yang selesai dan respons lengkap. Tinjau seluruh aksi dan komposisi akhir terhadap materi serta brief yang diberikan.
Ailoot Ultra · Video POST /v1/videos wan2.7-r2v
wan2.7-r2vMulai
Wan 2.7 R2V menyediakan bidang image, reference_images, dan reference_voice untuk brief video berbasis referensi. Pilih durasi, resolusi, dan ratio, lalu ambil hasil Ailoot asli.
- Masukan yang diterima
- Teks · Gambar
- Hasil
- Video
Tersedia di Ailoot · masukan & metode
Ailoot Ultra · Video POST /v1/videos
- Masukan
text,image- Keluaran
video
| Kolom | Jenis | Persyaratan | Nilai & batasan | Bawaan |
|---|---|---|---|---|
Kolommodel | Jenisstring | PersyaratanWajib | Nilai & batasan wan2.7-r2v Kondisi: Gunakan pemilih perutean Ailoot ini persis seperti yang ditampilkan. | Bawaan— |
Kolomprompt | Jenisstring | PersyaratanOpsional | Nilai & batasan Kondisi: Gunakan kolom yang didokumentasikan dan pilihan yang tercantum untuk model yang dipilih; jangan sertakan nilai opsional yang tidak ditentukan. | Bawaan |
Kolomnegative_prompt | Jenisstring | PersyaratanOpsional | Nilai & batasan Kondisi: Gunakan kolom yang didokumentasikan dan pilihan yang tercantum untuk model yang dipilih; jangan sertakan nilai opsional yang tidak ditentukan. | Bawaan |
Kolomresolution | Jenisstring | PersyaratanOpsional | Nilai & batasan 720P, 1080P Kondisi: Gunakan kolom yang didokumentasikan dan pilihan yang tercantum untuk model yang dipilih; jangan sertakan nilai opsional yang tidak ditentukan. | Bawaan— |
Kolomratio | Jenisstring | PersyaratanOpsional | Nilai & batasan 16:9, 9:16, 1:1, 4:3, 3:4 Kondisi: Gunakan kolom yang didokumentasikan dan pilihan yang tercantum untuk model yang dipilih; jangan sertakan nilai opsional yang tidak ditentukan. | Bawaan— |
Kolomduration | Jenisinteger | PersyaratanOpsional | Nilai & batasan Minimum: 2 Maksimum: 15 Kondisi: Gunakan kolom yang didokumentasikan dan pilihan yang tercantum untuk model yang dipilih; jangan sertakan nilai opsional yang tidak ditentukan. | Bawaan— |
Kolomprompt_extend | Jenisboolean | PersyaratanOpsional | Nilai & batasan Kondisi: Gunakan kolom yang didokumentasikan dan pilihan yang tercantum untuk model yang dipilih; jangan sertakan nilai opsional yang tidak ditentukan. | Bawaan— |
Kolomwatermark | Jenisboolean | PersyaratanOpsional | Nilai & batasan Kondisi: Gunakan kolom yang didokumentasikan dan pilihan yang tercantum untuk model yang dipilih; jangan sertakan nilai opsional yang tidak ditentukan. | Bawaan— |
Kolomimage | Jenisstring | PersyaratanOpsional | Nilai & batasan Kondisi: Gunakan kolom yang didokumentasikan dan pilihan yang tercantum untuk model yang dipilih; jangan sertakan nilai opsional yang tidak ditentukan. | Bawaan— |
Kolomreference_images | Jenisstring | PersyaratanOpsional | Nilai & batasan Kondisi: Gunakan kolom yang didokumentasikan dan pilihan yang tercantum untuk model yang dipilih; jangan sertakan nilai opsional yang tidak ditentukan. | Bawaan— |
Kolomreference_voice | Jenisstring | PersyaratanOpsional | Nilai & batasan Kondisi: Gunakan kolom yang didokumentasikan dan pilihan yang tercantum untuk model yang dipilih; jangan sertakan nilai opsional yang tidak ditentukan. | Bawaan— |
Parameter metode dan siklus hidup
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakmodel |
Parameteroptional | Kontrakprompt, negative_prompt, resolution, ratio, duration, prompt_extend, watermark, image, reference_images, reference_voice |
Parametermaterial_types | Kontraktext, image |
Parameterconditions | KontrakGunakan pemilih perutean Ailoot ini persis seperti yang ditampilkan., Gunakan kolom yang didokumentasikan dan pilihan yang tercantum untuk model yang dipilih; jangan sertakan nilai opsional yang tidak ditentukan., Gunakan kolom yang didokumentasikan dan pilihan yang tercantum untuk model yang dipilih; jangan sertakan nilai opsional yang tidak ditentukan., Gunakan kolom yang didokumentasikan dan pilihan yang tercantum untuk model yang dipilih; jangan sertakan nilai opsional yang tidak ditentukan., Gunakan kolom yang didokumentasikan dan pilihan yang tercantum untuk model yang dipilih; jangan sertakan nilai opsional yang tidak ditentukan., Gunakan kolom yang didokumentasikan dan pilihan yang tercantum untuk model yang dipilih; jangan sertakan nilai opsional yang tidak ditentukan., Gunakan kolom yang didokumentasikan dan pilihan yang tercantum untuk model yang dipilih; jangan sertakan nilai opsional yang tidak ditentukan., Gunakan kolom yang didokumentasikan dan pilihan yang tercantum untuk model yang dipilih; jangan sertakan nilai opsional yang tidak ditentukan., Gunakan kolom yang didokumentasikan dan pilihan yang tercantum untuk model yang dipilih; jangan sertakan nilai opsional yang tidak ditentukan., Gunakan kolom yang didokumentasikan dan pilihan yang tercantum untuk model yang dipilih; jangan sertakan nilai opsional yang tidak ditentukan., Gunakan kolom yang didokumentasikan dan pilihan yang tercantum untuk model yang dipilih; jangan sertakan nilai opsional yang tidak ditentukan. |
Alias metode: /v1/videos/generations
Siklus hidup: submit_once_poll_original
GET /v1/videos/{request_id}
GET /v1/videos/generations/{request_id}
GET /v1/videos/{request_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Paket
Cara menghitung biaya akhir
Tarif yang ditampilkan memperkirakan biaya sebelum pembuatan. Biaya akhir dihitung dari biaya yang tercatat untuk proses pembuatan awal. Durasi keluaran yang terukur dan kuantitas perkiraan bukanlah kuantitas akhir yang ditagihkan.
Referensi tarif tidak menambah opsi permintaan. Parameter yang didukung tercantum pada metode yang dipilih.
- Mode Fast
- Tidak ditentukan Saat mode fast dipilih
- Mode Flex
- Tidak ditentukan Saat mode flex dipilih
- Upaya penalaran maksimum
- Tidak ditentukan Saat upaya penalaran maksimum menggunakan penyesuaian default
Perkiraan tarif untuk perbandingan
Harga menurut konfigurasi
Cocokkan setiap biaya dengan kondisi yang ditampilkan. Gunakan satu tarif untuk setiap kelompok konfigurasi alternatif.
| Konfigurasi | Jadwal tarif | Jumlah perkiraan | Resolusi keluaran | Satuan penagihan | Kondisi penagihan | Biaya |
|---|---|---|---|---|---|---|
| KonfigurasiTarif dasar token | Jadwal tarifTarif dasar | Jumlah perkiraan— | Resolusi keluaran— | Satuan penagihan— | Kondisi penagihan— | Biaya Masukan · Token masukan · Perkiraan hanya untuk perbandingan — / 1K token Keluaran · Token keluaran · Perkiraan hanya untuk perbandingan — / 1K token Masukan · Pembacaan cache · Perkiraan hanya untuk perbandingan — / 1K token Masukan · Penulisan cache · Perkiraan hanya untuk perbandingan — / 1K token Masukan · Penulisan cache, 1 jam · Perkiraan hanya untuk perbandingan — / 1K token |
| KonfigurasiVideo keluaran | Jadwal tarif— | Jumlah perkiraan— | Resolusi keluaran1080P | Satuan penagihanper detik video | Kondisi penagihanPerkiraan acuan untuk video keluaran beresolusi 1080P. Biaya akhir mengikuti faktur asli yang tercatat. | Biaya Keluaran · Video keluaran · Perkiraan hanya untuk perbandingan $0.3 per detik video Hanya perkiraan sebagai acuan; biaya akhir mengikuti faktur asli yang tercatat. |
| KonfigurasiVideo keluaran | Jadwal tarif— | Jumlah perkiraan— | Resolusi keluaran720P | Satuan penagihanper detik video | Kondisi penagihanPerkiraan acuan untuk video keluaran beresolusi 720P. Biaya akhir mengikuti faktur asli yang tercatat. | Biaya Keluaran · Video keluaran · Perkiraan hanya untuk perbandingan $0.2 per detik video Hanya perkiraan sebagai acuan; biaya akhir mengikuti faktur asli yang tercatat. |
| KonfigurasiPerkiraan biaya pembuatan | Jadwal tarif— | Jumlah perkiraanestimasi satu kali pembuatan | Resolusi keluaran— | Satuan penagihan— | Kondisi penagihan— | Biaya Keluaran · Perkiraan biaya pembuatan · Perkiraan hanya untuk perbandingan $0.2 estimasi sebelum pembuatan Perkiraan ini bukan biaya tambahan maupun tarif tetap untuk proses pembuatan yang telah selesai. |
Ailoot mencadangkan perkiraan dana sebelum permintaan. Setelah hasil diterima, tagihan akhir diselesaikan berdasarkan penggunaan yang terukur. Penyelesaian tagihan streaming menggunakan catatan penggunaan akhir. Cara kerja cadangan dan penyelesaian tagihan →
Contoh permintaan
Ailoot Ultra · Video
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
: "${AILOOT_IMAGE_URL:?Set an actual customer material or documented value}"
export AILOOT_IMAGE_URL
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "wan2.7-r2v", "reference_images": "YOUR_ACCESSIBLE_IMAGE_URL"}')
p['reference_images']=os.environ['AILOOT_IMAGE_URL']
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_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
# Submit once. Retain the complete result, original identifiers and every response 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
Terima dan simpan hasil
Ailoot Ultra · Video
GET /v1/videos/{request_id}GET /v1/videos/generations/{request_id}GET /v1/videos/{request_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Simpan semua hasil yang selesai
Simpan setiap video yang selesai atau berkas yang dikembalikan; ambil setiap URL aset yang benar-benar dikembalikan.
Simpan respons dan header secara utuh, pengenal asli, setiap keluaran aktual, dan semua bidang penggunaan/akuntansi. Simpan setiap aset unik milik Ailoot dan pertahankan setiap peran yang menunjuk kepadanya.
Jika respons asli perlu diperiksa
Simpan id tugas atau operasi publik yang dikembalikan beserta semua header. Baca hanya tugas awal; unknown atau result_pending_check tidak mengizinkan pembuatan lain.
Kolom respons
| Kolom | Jenis |
|---|---|
Kolomid | Jenisstring |
Kolompolling_url | Jenisstring |
Kolomprovider_task_id | Jenisstring |
Kolomtask_id | Jenisstring |
Kolomstatus | Jenisstring |
Kolomvideo_url | Jenisstring |
Kesalahan dan langkah berikutnya
| Respons | Kondisi | Langkah berikutnya |
|---|---|---|
Respons400 · invalid_request_error | KondisiKolom wajib, pemilih model, tipe, atau bentuk masukan tidak valid. | Langkah berikutnyaPeriksa rincian validasi yang dikembalikan sebelum menyiapkan permintaan terpisah. |
Respons | KondisiPermintaan atau hasil asli tidak diketahui atau perlu diperiksa. | Langkah berikutnyaSimpan pengenal dan header asli; baca hanya catatan status/pustaka yang didukung. Jangan kirim ulang permintaan pembuatan. |
Alias
Alias model
Ailoot Ultra wan2.7-r2v
Alias jalur metode
/v1/videos/generations
ID pemanggil terkait
FAQ · wan2.7-r2v
- Input dan hasil apa yang tersedia?
POST /v1/videos·wan2.7-r2v:text,image→video- Kolom apa yang digunakan permintaan?
POST /v1/videos·wan2.7-r2v:model,prompt,negative_prompt,resolution,ratio,duration,prompt_extend,watermark,image,reference_images,reference_voice- Batasan apa yang berlaku?
POST /v1/videos·wan2.7-r2v:duration.minimum:2;duration.maximum:15