Panduan model

Seedance 2.0 API: harga, parameter, dan kode yang berfungsi

Seedance 2.0 adalah model video multi-shot ByteDance dengan suara. Panduan ini membahas keunggulannya, setiap opsi yang diterima API, biaya satu klip pada setiap resolusi, dan permintaan yang bisa Anda tempel ke terminal.

Keunggulan Seedance 2.0

ByteDance merilis Seedance 2.0 pada Februari 2026. Model ini menghasilkan gambar dan soundtrack dalam satu proses, bisa berpindah antar beberapa shot di dalam satu klip, dan mempertahankan karakter dan gaya visual di sepanjang pemotongan itu. Itu menjadikannya default yang kuat untuk video naratif pendek: iklan produk, adegan cerita, dan klip media sosial yang membutuhkan suara sejak awal.

  • Klip multi-shot. Jelaskan shot secara berurutan dan model berpindah di antaranya sambil menjaga subjek tetap konsisten.
  • Suara dalam satu proses. Suasana, efek, dan ucapan dihasilkan bersama gambar ketika Anda menyetel audio ke true.
  • Kendali dari gambar. Mulai dari frame pertama, kunci frame pertama dan terakhir sekaligus, atau berikan hingga 9 gambar referensi untuk karakter, produk, atau tampilan.
  • Framing fleksibel. Enam rasio aspek tetap, dari vertikal 9:16 untuk media sosial hingga 21:9 untuk karya sinematik, ditambah pengaturan adaptif yang mengikuti gambar input Anda.

Kelemahannya: seperti kebanyakan model video, Seedance 2.0 tidak merender teks di layar yang persis secara andal, jadi tambahkan judul, harga, dan logo di editor Anda, bukan di prompt. Adegan ramai dengan banyak orang bergerak sekaligus sulit bagi model video saat ini pada umumnya; lebih sedikit subjek dan aksi yang jelas memberi hasil yang lebih dapat diandalkan.

Input dan batas

Ini adalah opsi yang dicantumkan katalog untuk Seedance 2.0. Format permintaannya sama seperti model lain di Revana; hanya nilai yang diizinkan yang berbeda.

OpsiSeedance 2.0
Id modelseedance-2.0 (tingkat lebih ringan: seedance-2.0-fast, seedance-2.0-mini)
Tugastext to video, image to video, frame awal dan akhir, dan gambar referensi
Resolusi480p, 720p, 1080p dan 4K
Durasi4 hingga 15 dtk
Rasio aspek16:9, 9:16, 1:1, 4:3, 3:4, 21:9 atau adaptive
Suaraaudio: true or false
Gambar referensihingga 9, sebagai image_urls

Field atau nilai yang tidak didukung model ditolak dengan error 422 sebelum ada yang ditagih, jadi salah ketik dalam permintaan tidak berbiaya.

Harga Seedance 2.0 (Oktober 2026)

Seedance 2.0 ditagih per detik video output. Harga di bawah berasal dari katalog Revana pada Oktober 2026, mulai dari $0.08 per detik pada 480p.

Harga Seedance 2.0 per detik dan per klip
ResolusiPer detikKlip 5 dtkKlip 10 dtkKlip 15 dtk
480p$0.08$0.40$0.80$1.20
720p$0.15$0.75$1.50$2.25
1080p$0.40$2.00$4.00$6.00
4K$0.83$4.15$8.30$12.45

Tidak ada tarif audio terpisah untuk Seedance 2.0: harga yang tercantum sama dengan suara aktif maupun mati.

Seedance 2.0 di Revana menerima teks dan gambar (frame pertama, frame pertama dan terakhir, atau gambar referensi). Tidak menerima video referensi, jadi tidak ada tarif input video terpisah.

Saat Anda mengirim job, harganya ditahan dari saldo Anda. Anda hanya ditagih ketika job berhasil; jika gagal, penahanan dilepas. Jumlah pastinya kembali pada generasi sebagai cost_usd. Lihat harga untuk paket kredit dan tabel harga lengkap, dan perbandingan harga Seedance 2.0 untuk biaya ByteDance, fal, EvoLink dan Atlas Cloud untuk model yang sama.

Seedance 2.0 Fast dan Mini

Keluarga yang sama hadir dalam dua tingkat yang lebih ringan dengan tugas, rasio aspek, durasi, dan hingga 9 gambar referensi yang sama, tetapi berhenti di 720p. Cocok untuk draf dan pekerjaan bervolume tinggi; jalankan ulang prompt yang Anda suka di Seedance 2.0 untuk kualitas akhir dan resolusi lebih tinggi.

Tingkat Seedance 2.0 dibandingkan
Model480p / s720p / s5 dtk pada 720pRute
Seedance 2.0$0.08$0.15$0.75tiga rute
Seedance 2.0 Fast$0.05$0.11$0.55tiga rute
Seedance 2.0 Mini$0.03$0.05$0.25empat rute

Buat video Seedance 2.0

Setiap permintaan dikirim ke POST /v1/generations dengan kunci API Anda sebagai bearer token. Panggilan langsung mengembalikan 202 dengan id generasi; lakukan polling GET /v1/generations/{id} setiap beberapa detik sampai status bernilai succeeded atau failed. Contoh ini meminta klip 720p berdurasi 5 detik dengan suara, yang berharga $0.75.

cURL
export REVANA_API_KEY="sr_live_..."

# 1. Submit the job (returns 202 with the generation id)
curl https://api.revana.si/v1/generations \
  -H "Authorization: Bearer $REVANA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2.0",
    "input": {
      "prompt": "A ceramic coffee mug on a sunlit kitchen counter. Shot 1: slow push-in as steam rises. Shot 2: close-up of a hand lifting the mug. Morning birdsong, a soft clink as the mug leaves the counter.",
      "resolution": "720p",
      "duration": 5,
      "aspect_ratio": "16:9",
      "audio": true
    },
    "max_cost_usd": 2
  }'

# 2. Poll with the id from step 1 until status is "succeeded" or "failed"
curl https://api.revana.si/v1/generations/gen_01JBX7Q2M4 \
  -H "Authorization: Bearer $REVANA_API_KEY"
Python
import os
import time

import requests

API = "https://api.revana.si/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['REVANA_API_KEY']}"}

resp = requests.post(f"{API}/generations", headers=HEADERS, json={
    "model": "seedance-2.0",
    "input": {
        "prompt": "A ceramic coffee mug on a sunlit kitchen counter. Shot 1: slow push-in as steam rises. Shot 2: close-up of a hand lifting the mug. Morning birdsong, a soft clink as the mug leaves the counter.",
        "resolution": "720p",
        "duration": 5,
        "aspect_ratio": "16:9",
        "audio": True,
    },
    "max_cost_usd": 2,
})
resp.raise_for_status()
job = resp.json()

while job["status"] in ("queued", "running"):
    time.sleep(5)
    job = requests.get(f"{API}/generations/{job['id']}", headers=HEADERS).json()

if job["status"] == "succeeded":
    print(job["output"]["urls"], job["cost_usd"])
else:
    print("Failed:", job["error"])
Node.js
// Node 18 or later. Save as generate.mjs and run: node generate.mjs
const API = "https://api.revana.si/v1";
const headers = {
  Authorization: `Bearer ${process.env.REVANA_API_KEY}`,
  "Content-Type": "application/json",
};

const res = await fetch(`${API}/generations`, {
  method: "POST",
  headers,
  body: JSON.stringify({
    model: "seedance-2.0",
    input: {
      prompt: "A ceramic coffee mug on a sunlit kitchen counter. Shot 1: slow push-in as steam rises. Shot 2: close-up of a hand lifting the mug. Morning birdsong, a soft clink as the mug leaves the counter.",
      resolution: "720p",
      duration: 5,
      aspect_ratio: "16:9",
      audio: true,
    },
    max_cost_usd: 2,
  }),
});
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
let job = await res.json();

while (job.status === "queued" || job.status === "running") {
  await new Promise((r) => setTimeout(r, 5000));
  job = await (await fetch(`${API}/generations/${job.id}`, { headers })).json();
}

if (job.status === "succeeded") console.log(job.output.urls, job.cost_usd);
else console.error("Failed:", job.error);

max_cost_usd adalah batas atas biaya job: rute yang dikutip di atasnya dilewati, dan jika tidak ada yang sesuai, job tidak dijalankan. Setel sedikit di atas harga yang Anda harapkan. Generasi yang selesai terlihat seperti ini:

Respons
{
  "id": "gen_01JBX7Q2M4",
  "model": "seedance-2.0",
  "status": "succeeded",
  "output": {
    "urls": [
      "https://cdn.revana.si/g/gen_01JBX7Q2M4/0.mp4"
    ]
  },
  "cost_usd": 0.75,
  "attempts": 1,
  "error": null,
  "created_at": "2026-10-19T14:02:11Z",
  "completed_at": "2026-10-19T14:03:47Z"
}

Unduh file segera setelah job selesai: tautan output kedaluwarsa. Dokumentasi API mencantumkan setiap field, status, dan kode error.

Animasikan gambar diam (image to video)

Berikan frame awal sebagai image_url. Prompt kemudian menjelaskan gerakan dan suara, bukan adegannya, yang sudah ada di gambar. Rasio aspek adaptive mengikuti bentuk gambar Anda.

Body permintaan
{
  "model": "seedance-2.0",
  "input": {
    "prompt": "She turns toward the camera and smiles as a light breeze moves her hair. Distant city traffic, a bus passing.",
    "image_url": "https://example.com/first-frame.jpg",
    "resolution": "1080p",
    "duration": 5,
    "aspect_ratio": "adaptive",
    "audio": true
  },
  "max_cost_usd": 3
}

Frame awal dan akhir

Tambahkan end_image_url untuk menetapkan di mana shot berakhir. Model mengisi gerakan di antara kedua frame, yang bekerja baik untuk transisi, pengungkapan, dan shot sebelum-dan-sesudah.

Body permintaan
{
  "model": "seedance-2.0",
  "input": {
    "prompt": "Smooth orbit around the sneaker as the light shifts from daylight to neon night",
    "image_url": "https://example.com/start.jpg",
    "end_image_url": "https://example.com/end.jpg",
    "resolution": "720p",
    "duration": 6,
    "aspect_ratio": "16:9",
    "audio": false
  },
  "max_cost_usd": 2
}

Gambar referensi

Untuk menjaga karakter atau produk tetap konsisten tanpa mengunci frame pertama, kirim hingga 9 gambar sebagai image_urls dan jelaskan masing-masing di prompt, misalnya "wanita dari gambar pertama". Pakai frame atau referensi dalam satu permintaan, jangan keduanya: keduanya mode yang terpisah, dan permintaan yang mencampurnya bisa ditolak.

Body permintaan
{
  "model": "seedance-2.0",
  "input": {
    "prompt": "The woman from the first image walks through the market from the second image, carrying the bag from the third image. Handheld camera, golden hour, market chatter.",
    "image_urls": [
      "https://example.com/woman.jpg",
      "https://example.com/market.jpg",
      "https://example.com/bag.jpg"
    ],
    "resolution": "720p",
    "duration": 8,
    "aspect_ratio": "9:16",
    "audio": true
  },
  "max_cost_usd": 2
}

Tips prompt untuk Seedance 2.0

  • Tulis shot secara berurutan. Label seperti "Shot 1: establishing shot lebar. Shot 2: close-up tangannya" memberi model titik potong yang jelas.
  • Sebutkan gerakan kamera. Push-in, orbit, handheld, tripod terkunci, drone pull-back: satu gerakan per shot terbaca lebih baik daripada daftar.
  • Jelaskan suaranya. "Hujan di atap seng, guntur jauh, tanpa musik" lebih baik daripada menyerahkan audio pada kebetulan. Jika Anda tidak ingin ucapan, sebutkan.
  • Jaga dialog tetap pendek. Taruh baris dalam tanda kutip dan sebutkan siapa yang berbicara. Klip 5 detik muat satu kalimat pendek.
  • Jangan masukkan teks ke dalam frame. Tambahkan teks, judul, dan logo saat penyuntingan.
  • Buat draf dengan murah, lalu tingkatkan. Iterasi pada 480p atau di Seedance 2.0 Mini, lalu jalankan ulang prompt terbaik pada 1080p. Hasil tidak identik antar resolusi dan tingkat, jadi perlakukan draf sebagai panduan.

Cara kerja perutean dan fallback untuk Seedance 2.0

Revana adalah router API: satu kunci dan satu format permintaan di depan beberapa penyedia upstream yang melayani model yang sama. Seedance 2.0 saat ini punya tiga rute. Router mengirim setiap job ke rute termurah lebih dulu; jika rute itu gagal atau timeout, router mengirim ulang job ke rute berikutnya secara otomatis.

  • Anda membayar harga yang tercantum rute mana pun yang melayani job, dan hanya rute yang berhasil yang ditagih.
  • Field attempts pada generasi memberi tahu berapa rute yang dicoba.
  • Jika semua rute gagal, job berakhir sebagai failed dengan error dan tidak berbiaya.

Fallback meningkatkan peluang mendapat hasil, tetapi bukan janji uptime atau kecepatan. Tangani job failed di aplikasi Anda, misalnya dengan mencoba lagi nanti atau menawarkan model lain.

Siap mencoba? Dapatkan kunci API, lalu bandingkan Seedance 2.0 dengan model video lainnya.

Pertanyaan yang sering diajukan

Berapa biaya Seedance 2.0 API?

Pada Oktober 2026, Seedance 2.0 berharga $0.08 per detik pada 480p, $0.15 pada 720p, $0.40 pada 1080p dan $0.83 pada 4K. Klip 720p berdurasi 5 detik seharga $0.75. Suara sudah termasuk dalam harga yang sama.

Apakah Seedance 2.0 menghasilkan audio?

Ya. Setel audio ke true dan model menghasilkan suasana, efek, dan ucapan bersama gambar dalam satu proses. Setel ke false untuk klip senyap; harganya sama.

Berapa panjang video Seedance 2.0?

Dari 4 hingga 15 detik per permintaan. Untuk karya yang lebih panjang, buat beberapa klip dan sunting menjadi satu, atau pakai Seedance 2.5, yang mencapai 30 detik.

Bisakah saya memakai gambar referensi dengan Seedance 2.0?

Bisa, hingga 9 gambar sebagai image_urls, untuk karakter, produk, atau gaya. Pakai frame (image_url dan end_image_url) atau referensi dalam satu permintaan, jangan keduanya.

Apa perbedaan Seedance 2.0 Fast dan Mini dari Seedance 2.0?

Tugas dan opsinya sama tetapi berhenti di 720p. Pada 720p, Seedance 2.0 Fast $0.11 per detik dan Seedance 2.0 Mini $0.05, dibandingkan $0.15 untuk Seedance 2.0.

Apa yang terjadi jika generasi Seedance 2.0 gagal?

Router mencoba rute berikutnya secara otomatis. Anda ditagih sekali, untuk rute yang berhasil; jika semua rute gagal, job gagal dan tidak berbiaya.

Panggil Seedance 2.0 dengan satu kunci

Buat kunci, tambahkan kredit mulai $10, dan pakai kunci yang sama untuk Seedance 2.0 dan semua model lain di katalog.