API Publik

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.

Kelola Kunci

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.

http
Authorization: Bearer sk_live_your_api_key
Content-Type: application/json
Idempotency-Key: a-unique-id-per-request

Seedance Video

Teks, gambar, atau media menjadi video.

POST
/api/v1/video/seedance

Parameter

ParameterTipeWajibDefaultNilai yang diizinkan
mode

Generation mode.

stringOpsionaltext-to-video
text-to-videoimage-to-videomedia-to-video
quality_tier

Quality tier.

stringOpsionalstandard
standardpro
channel

Rendering channel.

stringOpsionalstandard
standardrealwild
prompt

Text prompt.

stringWajib
3–10000 chars
aspect_ratio

Aspect ratio.

stringOpsional16:9
1:121:94:33:416:99:16
duration

Clip duration.

stringOpsional5
4–15 (seconds)
resolution

Output resolution.

stringOpsional720p
720p1080p
image_url

Start frame — required for image-to-video.

string (URL)Opsional
public https URL
end_image_url

Optional end frame.

string (URL)Opsional
public https URL
media_urls

Required for media-to-video.

string[] (URL)Opsional
≤ 12 public https URLs
generate_audio

Generate an audio track.

booleanOpsionaltrue
truefalse
fixed_lens

Lock the camera lens.

booleanOpsionalfalse
truefalse
seed

Not supported on the real channel.

integerOpsional
-1 – 4294967295

Kirim Tugas

bash
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.

POST
/api/v1/image/gpt-image-2

Parameter

ParameterTipeWajibDefaultNilai yang diizinkan
type

Generation type.

stringWajib
text-to-imageimage-to-image
channel

Generation channel. economy is lower-cost with polling-based delivery.

stringOpsionalstandard
standardeconomy
prompt

Text prompt.

stringWajib
3–20000 chars
resolution

Output resolution. auto only supports 1K; 1:1 cannot use 4K on the standard channel.

stringWajib
1K2K4K
aspectRatio

Aspect ratio.

stringWajib
auto1:15:49:1621:916:94:33:24:53:42:32:11:23:11:39:21
batchCount

Number of images.

integerOpsional1
1–4
imageUrls

Required for image-to-image.

string[] (URL)Opsional
1–10 public https URLs

Kirim Tugas

bash
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.

POST
/api/v1/image/nano-banana-pro

Parameter

ParameterTipeWajibDefaultNilai yang diizinkan
type

Generation type.

stringWajib
text-to-imageimage-to-image
prompt

Text prompt.

stringWajib
3–10000 chars
image_size

Aspect ratio.

stringOpsionalauto
1:19:1616:93:44:33:22:35:44:521:9auto
output_format

Image format.

stringOpsionalpng
pngjpeg
resolution

Output resolution.

stringOpsional1K
1K2K4K
image_urls

Required for image-to-image.

string[] (URL)Opsional
1–8 public https URLs

Kirim Tugas

bash
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.

bash
curl https://seedance2ai.io/api/v1/tasks/sd2_xxxxx \
  -H "Authorization: Bearer $SEEDANCE_API_KEY"
json
{
  "id": "sd2_xxxxx",
  "status": "completed",
  "model": "seedance",
  "output": { "video_url": "https://..." },
  "credits_used": 30
}

Kode error

KodeHTTPArti
unauthorized401Missing, invalid, or revoked API key.
invalid_request400Bad input or unsupported field.
insufficient_credits402Not enough credits on the balance.
rate_limited429Too many requests for this account.
idempotency_conflict409Same Idempotency-Key reused with a different body, or still running.
service_busy503Temporary upstream or credit-concurrency issue. Retry.
not_found404Task does not exist or does not belong to this key owner.
internal_error500Unexpected 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.

bash
# Clone into Claude Code's skills folder
git clone https://github.com/tkaptop/seedance-skill ~/.claude/skills/seedance

Gunakan 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.

Buka llms.txt

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.