ByteDance: Seedance 2.5
Seedance 2.5 membuat video dari teks serta rujukan gambar, video, atau audio, dengan alur penyuntingan dan perpanjangan yang didokumentasikan. Contoh 2.5 yang spesifik menggabungkan gambar produk dengan beberapa rujukan gerakan dan mengaktifkan suara yang dihasilkan untuk urutan iklan yang terkoordinasi.
Tentang model
Deskripsi ini mencakup kemampuan model. Masukan, keluaran, dan opsi yang tersedia di Ailoot tercantum di bawah untuk metode yang dipilih.
Seedance 2.5 membuat video menggunakan adegan tertulis dan rujukan multimodal. Selektor doubao-seedance-2-5-260628 memiliki operasi dan contoh tersendiri yang didokumentasikan. Operasi itu menjelaskan generasi, penyuntingan, dan perpanjangan video, dengan gambar, video, audio, dan teks sebagai media masukan. Gunakan rujukan untuk menyampaikan penampilan subjek, aksi, gerakan kamera, gaya, dan suara, lalu jelaskan hasil yang perlu dibuat darinya.
Kombinasi masukan mencakup teks saja, gambar atau video dengan teks opsional, gambar dengan audio, video dengan audio, serta gambar, video, dan audio bersama. Kombinasi yang tercantum memasangkan audio dengan media visual, bukan menjelaskan permintaan yang hanya berisi audio. Atur setiap item berdasarkan perannya: gambar menetapkan subjek atau tampilan, video menunjukkan gerakan atau adegan yang ada, dan audio menyediakan rujukan suara. Nyatakan peran yang penting untuk pengambilan gambar yang diminta agar rujukan latar belakang tidak disalahartikan sebagai karakter utama.
Contoh 2.5 yang spesifik adalah urutan iklan produk. Contoh ini menyediakan gambar dan beberapa rujukan video, lalu menjelaskan fokus pembuka, susunan produk yang berurutan, pengambilan gambar detail, aksi gerak lambat, dan komposisi merek penutup. Permintaan menetapkan peran reference_image dan reference_video serta menggunakan rujukan masing-masing untuk komposisi, gerakan, pekerjaan kamera, dan dampak. Ini memberikan struktur praktis untuk konsep kampanye: rencanakan momen yang terlihat, tentukan rujukan untuk setiap momen, dan nyatakan susunan akhir.
Urutan tertulis dapat membedakan kejadian dari cara pengambilan gambarnya. Jelaskan aksi produk terlebih dahulu, lalu ukuran pengambilan gambar, jalur kamera, tempo, dan transisi ke tampilan berikutnya. Jika satu rujukan menentukan produk dan rujukan lain menunjukkan gerakan kamera, sebutkan tanggung jawab yang terpisah itu. Untuk adegan dengan beberapa objek, jelaskan posisi dan urutan interaksinya. Periksa hasil yang dihasilkan untuk bentuk produk, susunan, dan gerakan yang sebenarnya, alih-alih menganggap setiap detail rujukan muncul tanpa perubahan.
Untuk penyuntingan, tentukan video yang ada dan elemen yang perlu direvisi, seperti latar, aksi, atau gaya visual, sambil menyatakan kesinambungan yang harus dipertahankan. Untuk perpanjangan, jelaskan cara adegan perlu berlanjut dari rekaman yang diberikan. Tinjau sambungan serta segmen baru: penampilan subjek, arah gerak, posisi kamera, dan pemasaan suara semuanya memengaruhi apakah hasil terasa sebagai satu adegan. Simpan video asli dan revisi yang selesai bersama agar perubahan dapat diperiksa terhadap kesinambungan yang dituju.
Contoh multimodal 2.5 yang didokumentasikan menetapkan generate_audio=true dan meminta urutan lima belas detik dengan bingkai 16:9. Nilai tersebut menjelaskan contoh itu, bukan batas durasi universal atau batas aset rujukan. Berikan maksud suara yang jelas pada adegan yang diminta, termasuk hubungan antara musik, efek, dan aksi yang terlihat, lalu nilai keluaran audiovisual yang sebenarnya. Rujukan suara dan trek suara yang dihasilkan perlu ditinjau bersama untuk tempo dan pembawaan yang dituju.
Pilih durasi, bingkai, dan resolusi dari pengaturan yang ditawarkan untuk profil yang tepat ini. Simpan konfigurasi yang diminta bersama prompt dan bandingkan dengan bidang tugas yang benar-benar dikembalikan. Gunakan durasi, resolusi, dan rasio yang dikembalikan ketika menyiapkan klip jadi untuk tujuan penggunaannya. Pertahankan pengenal profil yang tepat dalam catatan revisi agar perbandingan berikutnya menggunakan edisi terpilih yang sama.
Pemakaian token video dihitung sebagai (durasi video masukan + durasi video keluaran) × lebar keluaran × tinggi keluaran × laju bingkai keluaran / 1024. Permintaan yang mengandung video masukan dan yang tidak mengandung video masukan memiliki kategori penagihan yang berbeda. Kueri tugas melaporkan usage.completion_tokens dan usage.total_tokens; simpan jumlah yang dilaporkan ini bersama klip yang selesai.
Generasi berlangsung secara asinkron. Pengiriman mengembalikan pengenal, dan alur tugas yang dikonfigurasi menyediakan status diikuti content.video_url setelah berhasil. Simpan klip jadi bersama media sumber dan arahan urutan. Tinjau semua momen yang direncanakan, interaksi objek, penampilan karakter, bingkai, dan keselarasan suara di seluruh hasil. Untuk revisi, tentukan detail konkret yang tidak terpenuhi dan pertahankan bagian adegan yang berhasil, alih-alih mengganti seluruh arahan dengan instruksi yang tidak berkaitan.
Ailoot Ultra · Pemrosesan video POST /v1/videos doubao-seedance-2-5-260628
doubao-seedance-2-5-260628Mulai
Seedance 2.5 membuat video dari teks serta rujukan gambar, video, atau audio, dengan alur penyuntingan dan perpanjangan yang didokumentasikan. Contoh 2.5 yang spesifik menggabungkan gambar produk dengan beberapa rujukan gerakan dan mengaktifkan suara yang dihasilkan untuk urutan iklan yang terkoordinasi.
- Masukan yang diterima
- Teks · Gambar · Video · Audio
- Hasil
- Video
Tersedia di Ailoot · masukan & metode
Ailoot Ultra · Pemrosesan video POST /v1/videos
- Masukan
text,image,video,audio- Keluaran
video
| Kolom | Jenis | Persyaratan | Nilai & batasan | Bawaan |
|---|---|---|---|---|
Kolommodel | Jenisstring | PersyaratanWajib | Nilai & batasan doubao-seedance-2-5-260628 | Bawaan— |
Kolomcontent | Jenisarray | PersyaratanWajib | Nilai & batasan Kondisi: Objek teks/media native; array terluar harus tidak kosong. Tipe simpul bertingkat tidak divalidasi oleh konstruktor generik Ailoot ini. | Bawaan— |
Kolomgenerate_audio | Jenisboolean | PersyaratanOpsional | Nilai & batasan Kondisi: Contoh 2.5 menetapkan true, tetapi uraian pemilih yang disalin hanya mencantumkan 2.0/fast/1.5; tidak ada jaminan pengaturan/nilai bawaan yang lebih luas. | Bawaan— |
Kolomduration | Jenisinteger | PersyaratanOpsional | Nilai & batasan Kondisi: Nilai literal 15 pada contoh 2.5 bukan maksimum atau nilai bawaan. | Bawaan— |
Kolomresolution | Jenisstring | PersyaratanOpsional | Nilai & batasan Kondisi: Tidak disimpulkan nilai bawaan/enum khusus 2.5 dari deskripsi yang disalin. | Bawaan— |
Kolomratio | Jenisstring | PersyaratanOpsional | Nilai & batasan Kondisi: Adaptive secara tegas dibatasi untuk 2.0/fast/1.5; contoh 2.5 hanya menggunakan 16:9. | Bawaan— |
Kolomwatermark | Jenisboolean | PersyaratanOpsional | Nilai & batasan | Bawaanfalse |
Kolomseed | Jenisinteger | PersyaratanOpsional | Nilai & batasan Minimum: -1 Maksimum: 4.294.967.295 | Bawaan-1 |
Kolomexecution_expires_after | Jenisinteger | PersyaratanOpsional | Nilai & batasan Minimum: 3.600 Maksimum: 259.200 Satuan: detik | Bawaan172.800 |
Kolomservice_tier | Jenisstring | PersyaratanOpsional | Nilai & batasan Kondisi: 2.0/fast mengecualikan flex luring; cakupan 2.5 belum ditetapkan. | Bawaan— |
Kolomsafety_identifier | Jenisstring | PersyaratanOpsional | Nilai & batasan | Bawaan— |
Kombinasi bahan masukan
Parameter metode dan siklus hidup
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakcontent, model |
Parameteroptional | Kontrakgenerate_audio, duration, resolution, ratio, watermark, seed, execution_expires_after, service_tier, safety_identifier |
Parametermaterial_types | Kontraktext, image, video, audio |
Parameteradditional_properties | Kontraktrue |
Parametervalidation_scope | KontrakAiloot memeriksa tipe bidang wajib serta model dan array content yang tidak kosong. Bidang permintaan lainnya dipertahankan untuk model yang dipilih. |
Parametermaterial_combinations | Kontraktext, image, video, image, audio, image, video, video, audio, image, video, audio |
Parameteroptional_text_with_media | Kontraktrue |
Parameterreference_media_count_and_size_limits | Kontraknull |
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/videos/generations/{request_id}/content
Buat sekali dan simpan id/polling_url publik yang dikembalikan.
Periksa tugas awal secara berkala; unduh content.video_url aktual milik Ailoot setelah succeeded.
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 | Satuan penagihan | Biaya |
|---|---|---|---|---|
| KonfigurasiTarif dasar token | Jadwal tarifTarif dasar | Jumlah perkiraan— | Satuan 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 |
| KonfigurasiMasukan berisi referensi video. | Jadwal tarif— | Jumlah perkiraan— | Satuan penagihanper 1K token video | Biaya Keluaran · Perkiraan hanya untuk perbandingan $0.012 per 1K token video |
| KonfigurasiMasukan tidak berisi referensi video. | Jadwal tarif— | Jumlah perkiraan— | Satuan penagihanper 1K token video | Biaya Keluaran · Perkiraan hanya untuk perbandingan $0.02 per 1K token video |
| KonfigurasiPerkiraan biaya pembuatan | Jadwal tarif— | Jumlah perkiraanestimasi satu kali pembuatan | Satuan penagihan— | Biaya Keluaran · Perkiraan biaya pembuatan · Perkiraan hanya untuk perbandingan $0.822402 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 · Pemrosesan video
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
cat > request.json <<'JSON_REQUEST'
{"model":"doubao-seedance-2-5-260628","content":[{"type":"text","text":"女孩抱着狐狸,女孩睁开眼,温柔地看向镜头,狐狸友善地抱着,镜头缓缓拉出,女孩的头发被风吹动"}]}
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.startswith("native302_"):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 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("status")!="succeeded":raise SystemExit("Poll same original job until an owned result is returned.")
u=r.get("content",{}).get("video_url")
urls=[u] if isinstance(u,str) else u
if not isinstance(urls,list) or not urls:raise SystemExit("No completed video URL.")
for u in urls:
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 actual Ailoot-owned signed result.")
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 · Pemrosesan video
JSON native dengan id/polling_url publik. Setelah publikasi, content.video_url memuat URL bertanda tangan milik Ailoot; sebelum publikasi, URL keluaran yang dipilih dikosongkan.
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 berkas yang dikembalikan; ambil setiap URL aset yang benar-benar dikembalikan.
Simpan setiap URL aktual dalam content.video_url; index harus mengidentifikasi keluaran nyata yang dikembalikan.
Jika respons asli perlu diperiksa
Simpan respons/header/id asli dan periksa operasi tersebut secara berkala; jangan pernah kirim ulang pembuatan yang statusnya tidak diketahui.
Kolom respons
| Kolom | Jenis |
|---|---|
Kolomid | Jenisstring |
Kolomprovider_task_id | Jenisstring |
Kolompolling_url | Jenisstring |
Kolomstatus | Jenisstring when supplied |
Kolomcontent.video_url | Jenisstring|string[] |
Kolomusage | Jenisobject when supplied |
Kesalahan dan langkah berikutnya
| Respons | Kondisi | Langkah berikutnya |
|---|---|---|
Respons400 · invalid_request_error | KondisiJSON/model/tipe bidang wajib atau indeks content tidak valid. | Langkah berikutnya |
Respons401 · authentication_error | KondisiKunci API Ailoot tidak valid. | Langkah berikutnya |
Respons404 · not_found_error | KondisiTugas/keluaran tidak ada atau tidak dimiliki oleh pengguna/kunci API/grup yang sama. | Langkah berikutnya |
Respons502 · result_pending_check | KondisiPengiriman/status awal tidak lengkap; simpan ID asli, jangan kirim ulang. | Langkah berikutnya |
Respons503 · result_pending_check | KondisiMedia/rute/penyelesaian tagihan awal sedang diperiksa; lanjutkan operasi awal. | Langkah berikutnya |
Alias
Alias model
Ailoot Ultra doubao-seedance-2-5-260628
Alias jalur metode
/v1/videos/generations
ID pemanggil terkait
FAQ · ByteDance: Seedance 2.5
- Input dan hasil apa yang tersedia?
POST /v1/videos·doubao-seedance-2-5-260628:text,image,video,audio→video- Kolom apa yang digunakan permintaan?
POST /v1/videos·doubao-seedance-2-5-260628:model,content,generate_audio,duration,resolution,ratio,watermark,seed,execution_expires_after,service_tier,safety_identifier- Batasan apa yang berlaku?
POST /v1/videos·doubao-seedance-2-5-260628:seed.minimum:-1;seed.maximum:4294967295;execution_expires_after.minimum:3600;execution_expires_after.maximum:259200