ByteDance: Seedance 1.0 Pro
Seedance 1.0 Pro menjana video tanpa bunyi daripada teks atau imej pembukaan. Terangkan aksi dan kamera, atau animasikan komposisi sedia ada, dengan tempoh 2–12 saat, 24 fps serta kawalan pembingkaian dan resolusi output yang jelas.
Tentang model
Huraian ini merangkumi keupayaan model. Input, output dan pilihan yang tersedia di Ailoot disenaraikan di bawah untuk kaedah yang dipilih.
Seedance 1.0 Pro menjana video daripada teks atau adegan berpandukan imej. Pemilih doubao-seedance-1-0-pro-250528 menyokong kedua-dua mod input, maka titik permulaan boleh berupa konsep bertulis atau komposisi visual sedia ada. Gunakan arahan teks untuk mencipta adegan baharu, atau berikan imej apabila subjek, susunan dan pandangan pembukaan patut ditetapkan secara visual. Profil 1.0 ini menghasilkan video tanpa bunyi; bunyi yang disegerakkan ialah keupayaan profil 1.5 Pro yang diterangkan secara berasingan.
Untuk teks-ke-video, nyatakan subjek, persekitaran, pergerakan, pembingkaian dan kamera dalam satu adegan yang koheren. Contoh yang didokumentasikan bergerak beransur-ansur daripada padang bunga daisi kepada pandangan dekat bunga dengan embun pada kelopaknya. Struktur itu berguna untuk pendedahan lain: perkenalkan latar, bergerak menghampiri subjek dan berakhir pada butiran yang penting. Untuk konsep produk, terangkan bahan dan pencahayaan serta aksi, dan berikan kamera laluan yang boleh dicapai dalam syot pendek.
Untuk imej-ke-video, letakkan rujukan dalam item content jenis image_url dan terangkan perubahan yang patut berlaku daripada pandangan awal itu. Potret yang disediakan boleh menentukan orang dan potongan imej, manakala arahan menerangkan pusingan kecil, rambut bergerak atau kamera mengundur perlahan. Foto produk boleh menetapkan objek dan latar belakang, manakala prom meminta pendedahan yang terkawal. Pastikan pergerakan yang diminta serasi dengan komposisi sumber; imej satu sisi objek tidak membekalkan pandangan tepat bagi setiap sisi lain yang tidak dilihat.
Medan imej menerima URL yang boleh dicapai atau URL data yang mengandungi data imej Base64. Format yang didokumentasikan ialah JPEG, PNG, WEBP, BMP, TIFF dan GIF. Imej mesti lebih kecil daripada 30 MB, dengan nisbah lebar kepada tinggi lebih besar daripada 0.4 dan lebih kecil daripada 2.5, serta setiap dimensi lebih besar daripada 300 dan lebih kecil daripada 6000 piksel. Sediakan sumber yang jelas pada potongan yang dimaksudkan, bukannya bergantung pada imej kecil yang butiran penentunya sudah tiada. Untuk penjanaan imej-ke-video, panduan mengesyorkan pembingkaian adaptif supaya mengikuti perkadaran rujukan.
Tempoh 1.0 yang didokumentasikan ialah dua hingga dua belas saat dan kadar bingkai ialah 24 fps. Kawalan output merangkumi tahap 480p, 720p dan 1080p, dengan 1080p sebagai lalai Pro; panduan mengecualikan 1080p dalam senario imej rujukan. Bentuk tetap merangkumi 16:9, 4:3, 1:1, 3:4, 9:16 dan 21:9. Pilih gabungan yang serasi dengan imej untuk syot berpandukan imej, bukannya memindahkan setiap tetapan teks-ke-video tanpa perubahan. Periksa pembingkaian sebenar yang dikembalikan sebelum meletakkan klip dalam susun atur.
Kawalan seed dan watermark didokumentasikan bersama camerafixed. Arahan kamera tetap tidak disokong dalam senario imej rujukan, dan apabila terpakai, panduan tidak menjamin kamera yang benar-benar pegun. Arahan parameter yang terkandung dalam prom mengatasi medan pilihan berasingan. Kekalkan satu tetapan rujukan utama untuk tempoh, resolusi dan nisbah, serta pastikan penerangan kamera selaras dengannya. Ini mengelakkan arahan adegan menggantikan tetapan yang dipilih untuk permintaan secara senyap.
Penggunaan diukur dalam token video: lebar output × tinggi output × kadar bingkai × tempoh output / 1024. Tugasan yang selesai melaporkan kuantiti ini sebagai usage.completion_tokens. Simpan penggunaan yang dilaporkan bersama klip siap dan tetapan yang diminta.
Aliran kerja mengembalikan pengecam tugasan terlebih dahulu dan lokasi video siap selepas pemprosesan. Simpan pengecam semasa menyemak status queued atau running; tugasan berstatus succeeded membekalkan content.video_url dan maklumat penggunaan. Tempoh penyimpanan fail yang dijana yang didokumentasikan ialah tujuh hari. Simpan klip siap, imej sumber dan prom yang tepat sebagai rekod semakan, kemudian periksa penampilan subjek, pergerakan, kesinambungan imej dan komposisi penutup merentasi seluruh hasil.
Ailoot Ultra · Penjanaan video POST /v1/videos doubao-seedance-1-0-pro-250528
doubao-seedance-1-0-pro-250528
doubao-seedance-1-0-pro-250528Pengenalan
Seedance 1.0 Pro menjana video tanpa bunyi daripada teks atau imej pembukaan. Terangkan aksi dan kamera, atau animasikan komposisi sedia ada, dengan tempoh 2–12 saat, 24 fps serta kawalan pembingkaian dan resolusi output yang jelas.
- Input yang diterima
- Teks · Imej
- Hasil
- Video
Tersedia di Ailoot · input & kaedah
Ailoot Ultra · Penjanaan video POST /v1/videos
- Input
text,image- Output
video
| Medan | Jenis | Keperluan | Nilai & had | Lalai |
|---|---|---|---|---|
Medanmodel | Jenisstring | KeperluanDiperlukan | Nilai & had doubao-seedance-1-0-pro-250528 | Lalai— |
Medancontent | Jenisarray | KeperluanDiperlukan | Nilai & had Syarat: Objek teks/media natif; tatasusunan luar mesti tidak kosong. Jenis nod bersarang tidak disahkan oleh pembina generik Ailoot ini. | Lalai— |
Medanduration | Jenisinteger | KeperluanPilihan | Nilai & had Minimum: 2 Maksimum: 12 Syarat: Skema utama 1.x menetapkan 2–12; huraian bersama yang kemudian menyatakan 1.5 sebagai 4–12 atau -1. Contoh menggunakan 5 yang didokumenkan oleh kedua-duanya. | Lalai5 |
Medanresolution | Jenisstring | KeperluanPilihan | Nilai & had Syarat: Nilai teks kepada video yang disahkan ialah 480p dan 1080p. Input imej rujukan mengecualikan 1080p. Enum 720p bersama bercanggah dengan huraian khusus model, maka sokongan 720p masih belum dipastikan bagi kedua-dua mod. | Lalai1080p |
Medanratio | Jenisstring | KeperluanPilihan | Nilai & had 16:9, 4:3, 1:1, 3:4, 9:16, 21:9, adaptive Syarat: Nilai lalai bergantung pada adegan/model; dokumentasi input imej mengesyorkan adaptive. | Lalai— |
Medanservice_tier | Jenisstring | KeperluanPilihan | Nilai & had default, flex Syarat: default=online, flex=offline; pilih sebelum penciptaan. | Lalaidefault |
Medanseed | Jenisinteger | KeperluanDiperlukan | Nilai & had Minimum: -1 Maksimum: 4,294,967,295 | Lalai-1 |
Medancamerafixed | Jenisboolean | KeperluanDiperlukan | Nilai & had Syarat: Diwajibkan oleh Ailoot; kawalan kamera imej rujukan didokumenkan sebagai tidak disokong dan kesannya tidak dijamin. | Lalaifalse |
Medanwatermark | Jenisboolean | KeperluanDiperlukan | Nilai & had | Lalaifalse |
Medanexecution_expires_after | Jenisinteger | KeperluanDiperlukan | Nilai & had Minimum: 3,600 Maksimum: 259,200 Unit: saat | Lalai172,800 |
Gabungan bahan input
Parameter kaedah dan kitar hayat
| Parameter | Kontrak |
|---|---|
Parametercontent_type | Kontrakapplication/json |
Parameterrequired | Kontrakcamerafixed, content, execution_expires_after, model, seed, watermark |
Parameteroptional | Kontrakduration, resolution, ratio, service_tier |
Parametermaterial_types | Kontraktext, image |
Parameteradditional_properties | Kontraktrue |
Parametervalidation_scope | KontrakAiloot menyemak jenis medan wajib dan memastikan model serta tatasusunan content tidak kosong. Medan permintaan lain dikekalkan untuk model yang dipilih. |
Parameterimage_constraints | Kontrak{"formats":["jpeg","png","webp","bmp","tiff","gif"],"aspect_ratio_exclusive":[0.4,2.5],"dimensions_px_exclusive":[300,6000],"file_size_mb_exclusive":30,"mb_bytes_definition":null} |
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/polling_url awam yang dikembalikan.
Semak tugas asal secara berkala; muat turun content.video_url sebenar milik anda selepas succeeded.
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 | Unit pengebilan | Caj |
|---|---|---|---|---|
| KonfigurasiKadar asas token | Jadual kadarKadar asas | Kuantiti ramalan— | Unit pengebilan— | 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 |
| KonfigurasiUltra | Jadual kadar— | Kuantiti ramalan— | Unit pengebilanbagi setiap 1K token video | Caj Output · Anggaran untuk perbandingan sahaja $0.0044 bagi setiap 1K token video |
| KonfigurasiAnggaran kos penjanaan | Jadual kadar— | Kuantiti ramalananggaran untuk satu penjanaan | Unit pengebilan— | Caj Output · Anggaran kos penjanaan · Anggaran untuk perbandingan sahaja $0.2112 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":"doubao-seedance-1-0-pro-250528","content":[{"type":"text","text":"女孩抱着狐狸,女孩睁开眼,温柔地看向镜头,狐狸友善地抱着,镜头缓缓拉出,女孩的头发被风吹动"}],"resolution":"480p","ratio":"1:1","duration":5,"service_tier":"default","seed":-1,"camerafixed":false,"watermark":false,"execution_expires_after":172800}
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 · Penjanaan video
JSON natif dengan id/polling_url awam. Selepas penerbitan, content.video_url mengandungi URL bertandatangan milik Ailoot; sebelum penerbitan, URL output 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 fail yang dikembalikan; dapatkan setiap URL aset yang benar-benar dikembalikan.
Simpan setiap URL sebenar dalam content.video_url; index mesti mengenal pasti output sebenar yang dikembalikan.
Jika respons asal perlu disemak
Simpan respons/pengepala/id asal dan semak operasi tersebut secara berkala; jangan sekali-kali hantar semula penciptaan yang tidak diketahui hasilnya.
Medan respons
| Medan | Jenis |
|---|---|
Medanid | Jenisstring |
Medanprovider_task_id | Jenisstring |
Medanpolling_url | Jenisstring |
Medanstatus | Jenisstring when supplied |
Medancontent.video_url | Jenisstring|string[] |
Medanusage | Jenisobject when supplied |
Ralat dan langkah seterusnya
| Respons | Syarat | Langkah seterusnya |
|---|---|---|
Respons400 · invalid_request_error | SyaratJSON/model/jenis medan wajib atau indeks kandungan tidak sah. | Langkah seterusnya |
Respons401 · authentication_error | SyaratKunci API Ailoot tidak sah. | Langkah seterusnya |
Respons404 · not_found_error | SyaratTugas/output tiada atau bukan milik pengguna/kunci API/kumpulan yang sama. | Langkah seterusnya |
Respons502 · result_pending_check | SyaratPenghantaran/status asal tidak lengkap; simpan ID asal, jangan hantar semula. | Langkah seterusnya |
Respons503 · result_pending_check | SyaratMedia/laluan/penyelesaian caj asal sedang disemak; teruskan operasi asal. | Langkah seterusnya |
Alias
Alias model
Ailoot Ultra doubao-seedance-1-0-pro-250528
Alias laluan kaedah
/v1/videos/generations
ID pemanggil berkaitan
FAQ · ByteDance: Seedance 1.0 Pro
- Apakah input dan hasil yang tersedia?
POST /v1/videos·doubao-seedance-1-0-pro-250528:text,image→video- Apakah medan yang digunakan oleh permintaan?
POST /v1/videos·doubao-seedance-1-0-pro-250528:model,content,duration,resolution,ratio,service_tier,seed,camerafixed,watermark,execution_expires_after- Apakah had yang terpakai?
POST /v1/videos·doubao-seedance-1-0-pro-250528:duration.minimum:2;duration.maximum:12;seed.minimum:-1;seed.maximum:4294967295;execution_expires_after.minimum:3600;execution_expires_after.maximum:259200