Hasilkan video dan gambar dari alat Anda sendiri
Buat kunci, panggil API dengan autentikasi Bearer, dan polling status task hingga hasil siap. Berfungsi dengan Claude Code, Codex, dan klien HTTP apa pun.
Mulai Cepat
Langkah 1
Buat kunci
Buat kunci API di dashboard Anda. Kunci ini hanya ditampilkan sekali, jadi simpan di tempat yang aman.
Langkah 2
Panggil API
Kirim permintaan POST dengan kunci Bearer Anda dan header Idempotency-Key.
Langkah 3
Polling Hasil
Lakukan polling pada endpoint status tugas hingga status menjadi selesai atau gagal, lalu baca hasilnya.
Autentikasi
Setiap permintaan diautentikasi dengan kunci API Bearer di header Authorization.
Authorization: Bearer sk_live_your_api_key
Content-Type: application/json
Idempotency-Key: a-unique-id-per-requestSeedance Video
Teks, gambar, atau media menjadi video.
/api/v1/video/seedanceParameter
| Parameter | Tipe | Wajib | Default | Nilai yang diizinkan |
|---|---|---|---|---|
modeGeneration mode. | string | Opsional | text-to-video | text-to-videoimage-to-videomedia-to-video |
quality_tierQuality tier. | string | Opsional | standard | standardpro |
channelRendering channel. | string | Opsional | standard | standardrealwild |
promptText prompt. | string | Wajib | — | 3–10000 chars |
aspect_ratioAspect ratio. | string | Opsional | 16:9 | 1:121:94:33:416:99:16 |
durationClip duration. | string | Opsional | 5 | 4–15 (seconds) |
resolutionOutput resolution. | string | Opsional | 720p | 720p1080p |
image_urlStart frame — required for image-to-video. | string (URL) | Opsional | — | public https URL |
end_image_urlOptional end frame. | string (URL) | Opsional | — | public https URL |
media_urlsRequired for media-to-video. | string[] (URL) | Opsional | — | ≤ 12 public https URLs |
generate_audioGenerate an audio track. | boolean | Opsional | true | truefalse |
fixed_lensLock the camera lens. | boolean | Opsional | false | truefalse |
seedNot supported on the real channel. | integer | Opsional | — | -1 – 4294967295 |
Kirim Tugas
curl -X POST https://seedance2ai.io/api/v1/video/seedance \
-H "Authorization: Bearer $SEEDANCE_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: demo-video-001" \
-d '{
"mode": "text-to-video",
"quality_tier": "standard",
"prompt": "A cinematic shot of a glass train crossing a snowy mountain bridge",
"aspect_ratio": "16:9",
"duration": "5",
"resolution": "720p"
}'GPT Image 2
Generasi gambar berkualitas tinggi.
/api/v1/image/gpt-image-2Parameter
| Parameter | Tipe | Wajib | Default | Nilai yang diizinkan |
|---|---|---|---|---|
typeGeneration type. | string | Wajib | — | text-to-imageimage-to-image |
channelGeneration channel. economy is lower-cost with polling-based delivery. | string | Opsional | standard | standardeconomy |
promptText prompt. | string | Wajib | — | 3–20000 chars |
resolutionOutput resolution. auto only supports 1K; 1:1 cannot use 4K on the standard channel. | string | Wajib | — | 1K2K4K |
aspectRatioAspect ratio. | string | Wajib | — | auto1:15:49:1621:916:94:33:24:53:42:32:11:23:11:39:21 |
batchCountNumber of images. | integer | Opsional | 1 | 1–4 |
imageUrlsRequired for image-to-image. | string[] (URL) | Opsional | — | 1–10 public https URLs |
Kirim Tugas
curl -X POST https://seedance2ai.io/api/v1/image/gpt-image-2 \
-H "Authorization: Bearer $SEEDANCE_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: demo-gpt-image-001" \
-d '{
"type": "text-to-image",
"prompt": "Editorial product photo of a transparent running shoe on chrome",
"resolution": "1K",
"aspectRatio": "1:1"
}'Nano Banana Pro
Output gambar bergaya dan premium.
/api/v1/image/nano-banana-proParameter
| Parameter | Tipe | Wajib | Default | Nilai yang diizinkan |
|---|---|---|---|---|
typeGeneration type. | string | Wajib | — | text-to-imageimage-to-image |
promptText prompt. | string | Wajib | — | 3–10000 chars |
image_sizeAspect ratio. | string | Opsional | auto | 1:19:1616:93:44:33:22:35:44:521:9auto |
output_formatImage format. | string | Opsional | png | pngjpeg |
resolutionOutput resolution. | string | Opsional | 1K | 1K2K4K |
image_urlsRequired for image-to-image. | string[] (URL) | Opsional | — | 1–8 public https URLs |
Kirim Tugas
curl -X POST https://seedance2ai.io/api/v1/image/nano-banana-pro \
-H "Authorization: Bearer $SEEDANCE_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: demo-nbp-001" \
-d '{
"type": "text-to-image",
"prompt": "A premium packaging mockup for an AI video studio",
"image_size": "1:1",
"resolution": "1K",
"output_format": "png"
}'Periksa status tugas
Polling hingga status selesai atau gagal.
curl https://seedance2ai.io/api/v1/tasks/sd2_xxxxx \
-H "Authorization: Bearer $SEEDANCE_API_KEY"{
"id": "sd2_xxxxx",
"status": "completed",
"model": "seedance",
"output": { "video_url": "https://..." },
"credits_used": 30
}Kode error
| Kode | HTTP | Arti |
|---|---|---|
unauthorized | 401 | Missing, invalid, or revoked API key. |
invalid_request | 400 | Bad input or unsupported field. |
insufficient_credits | 402 | Not enough credits on the balance. |
rate_limited | 429 | Too many requests for this account. |
idempotency_conflict | 409 | Same Idempotency-Key reused with a different body, or still running. |
service_busy | 503 | Temporary upstream or credit-concurrency issue. Retry. |
not_found | 404 | Task does not exist or does not belong to this key owner. |
internal_error | 500 | Unexpected server-side failure. |
Skill
Pasang skill Seedance di Claude Code, Codex, atau agen mana pun — skill ini menulis prompt sinematik dan merendernya melalui API untuk Anda.
# Clone into Claude Code's skills folder
git clone https://github.com/tkaptop/seedance-skill ~/.claude/skills/seedanceGunakan dengan Claude Code
Klik Salin agar AI mengambil API lengkap sebagai Markdown bersih, tempelkan ke Claude Code atau Codex, dan biarkan AI menyiapkan integrasi. Atau arahkan agen langsung ke endpoint teks mentah.
FAQ
Siapa yang bisa menggunakan API?
Siapa pun yang memiliki kredit. Tidak ada batasan paket — akun mana pun yang memiliki kredit dapat membuat kunci dan memanggil API.
Bagaimana cara mendapatkan kredit?
Isi ulang atau berlangganan di halaman harga. Kredit langsung ditambahkan ke saldo Anda.
Apakah kredit dibagi antara website dan API?
Ya — saldo kredit pribadi Anda mendukung pembuatan di web dan panggilan API. Dalam tim, panggilan API menggunakan saldo pribadi masing-masing anggota, bukan pool bersama tim.
Bagaimana cara memulainya?
Buat kunci API di dasbor Anda, lalu panggil endpoint dengan token Bearer (lihat Quickstart di atas).
Bagaimana jika suatu panggilan mengembalikan insufficient_credits?
Saldo Anda kosong — isi ulang di halaman harga dan coba lagi.