Skip to main content
POST

Otorisasi

string
wajib
Semua endpoint API memerlukan autentikasi Bearer TokenDapatkan API Key Anda:Kunjungi Halaman Manajemen API Key untuk mendapatkan API Key AndaTambahkan ke header request:

Routing Mode

happyhorse-1.0 adalah entry terpadu untuk Teks-ke-Video / Gambar-ke-Video / Gambar-Referensi-ke-Video / Video Edit. Backend secara otomatis menentukan mode berdasarkan parameter yang masuk. Semua mode ditagih dengan aturan yang sama (hanya resolusi × detik): Prioritas routing (tinggi ke rendah): video_url > first_frame_image > image_urls > hanya prompt. Aturan saling eksklusif: tiga field media (first_frame_image / image_urls / video_url) saling eksklusif secara berpasangan. Satu-satunya kombinasi valid adalah video_url + image_urls (mode EDIT + gambar referensi). Mengirim dua field yang saling eksklusif akan mengembalikan 400 mixed_media_not_allowed.

Parameter Request

string
wajib
Nama model pembuatan video, tetap sebagai happyhorse-1.0
boolean
default:"false"
Menentukan apakah moderasi konten dijalankan sebelum tugas video dikirim.
  • true: periksa prompt dan gambar input dengan omni-moderation-latest
  • false atau dihilangkan: tidak mengirim permintaan moderasi, tanpa biaya atau latensi moderasi tambahan (default)
string
Deskripsi konten video, hingga 2500 karakter; tidak boleh berisi token khusus
  • Mode T2V / R2V / EDIT: wajib
  • Mode I2V: opsional, tetapi direkomendasikan untuk memandu gerakan kamera dan aksi
Contoh: "A little girl walking down the road, cinematic feel"
string
Gambar frame pertama, memicu I2V (Gambar-ke-Video). Mendukung URL atau base64 (data:image/<mime>;base64,<payload>, gateway mengunggahnya ke OSS secara otomatis)Saling eksklusif dengan image_urls / video_url
Persyaratan gambar frame pertama:
  • Format: JPEG / JPG / PNG / BMP / WEBP
  • Sisi pendek: ≥ 300px
  • Rasio aspek: 1:2.5 hingga 2.5:1
  • Ukuran file: ≤ 10MB
array<string>
Array gambar:
  • Mode R2V (hanya image_urls yang diberikan): 1–9 gambar, digunakan sebagai referensi subjek/gaya untuk membuat adegan baru
  • Mode EDIT (diberikan bersama video_url): 0–5 gambar, digunakan sebagai referensi gaya
Mendukung URL atau base64Saling eksklusif dengan first_frame_image; dapat digabungkan dengan video_url
Persyaratan gambar referensi:
  • Format: JPEG / JPG / PNG / BMP / WEBP
  • Sisi pendek: direkomendasikan ≥ 720p
  • Rasio aspek: sisi pendek / sisi panjang ≥ 0.4
  • Ukuran file: ≤ 10MB
  • Jumlah: R2V harus 1–9; EDIT hingga 5
string
URL video sumber, memicu EDIT (Video Edit). Base64 tidak didukung — berikan link langsung HTTP/HTTPSSaling eksklusif dengan first_frame_image; dapat digabungkan dengan image_urls (≤ 5)
Persyaratan video sumber:
  • Durasi: 3–60 detik (> 15 dtk akan otomatis dipotong oleh upstream dari 0 hingga 15 dtk)
  • Resolusi: minimum 480p, sisi pendek ≥ 360
  • Rasio aspek: 1:8 hingga 8:1
  • Format: MP4 / MOV (H.264 direkomendasikan)
  • Frame rate: > 8 fps
  • Ukuran file: ≤ 100MB
Dalam mode EDIT, durasi video yang dibuat mengikuti video sumber (dibatasi pada potongan 15 dtk saat sumber lebih panjang). Parameter duration tidak berpengaruh di sini. Untuk mengontrol panjang output, potong video sumber ke durasi target sebelum mengunggah.
string
default:"auto"
Pengaturan audio, hanya efektif dalam mode EDIT (harus mengirim video_url)Opsi:
  • auto - Buat audio otomatis (default)
  • origin - Pertahankan trek audio video sumber
Mengirim field ini di luar mode EDIT akan mengembalikan 400 audio_setting_only_for_edit
string
default:"1080P"
Resolusi video (memengaruhi penagihan)Opsi:
  • 720P - Standar
  • 1080P - Definisi tinggi (default)
integer
default:"5"
Durasi video dalam detik (memengaruhi penagihan)Rentang yang didukung: bilangan bulat apa pun dari 3 hingga 15Default: 5
Tidak berpengaruh dalam mode EDIT (saat video_url diberikan): durasi video yang dibuat mengikuti video sumber (ditagih berdasarkan potongan 15 dtk saat sumber lebih panjang dari 15 dtk). Untuk mengontrol panjang output, potong video sumber terlebih dahulu.
string
default:"16:9"
Rasio aspekFormat yang didukung:
  • 16:9 - Lanskap widescreen (default)
  • 9:16 - Potret
  • 1:1 - Persegi
  • 4:3 - Lanskap
  • 3:4 - Potret
Diabaikan dalam mode I2V / EDIT — rasio aspek output ditentukan otomatis oleh media input (gambar frame pertama / video sumber)
boolean
default:"false"
Apakah menambahkan watermark ke video yang dibuat
  • true: Tambahkan watermark
  • false: Jangan tambahkan watermark (default)
integer
Seed acak yang digunakan untuk mengontrol keacakan konten yang dibuatRentang nilai: [0, 2147483647]. Jika dihilangkan, seed acak akan digunakan.
  • Untuk request yang identik, model menghasilkan hasil berbeda ketika menerima nilai seed berbeda (misalnya seed dihilangkan)
  • Untuk request yang identik, model menghasilkan hasil mirip ketika menerima nilai seed yang sama, tetapi konsistensi persis tidak dijamin

Respons

integer
Kode status respons, 200 jika berhasil
array
Array data respons

Kasus Penggunaan

Kasus 1: Teks-ke-Video T2V (Request Paling Sederhana)

Kasus 2: Teks-ke-Video T2V (Parameter Lengkap)

Kasus 3: Gambar-ke-Video I2V (first_frame_image)

Kasus 4: Gambar-Referensi-ke-Video R2V (beberapa referensi)

Kasus 5: Edit Video EDIT (pertahankan audio asli + referensi gaya)

Kasus 6: 720P untuk Menghemat Biaya

Panduan Pemilihan Mode

Tips Penggunaan

  1. Logika entry terpadu: field input menentukan mode. Perhatikan bahwa tiga field media (first_frame_image / image_urls / video_url) saling eksklusif secara berpasangan
  2. size hanya efektif di T2V/R2V: dalam mode I2V / EDIT, size diabaikan — rasio aspek output ditentukan oleh media input
  3. Durasi: 5–10 detik adalah rentang yang ideal. Terlalu pendek menyebabkan gerakan patah-patah; terlalu panjang meningkatkan waktu pemrosesan upstream secara signifikan
  4. Kualitas gambar frame pertama: jelas, komposisi baik, subjek berada di tengah — sangat meningkatkan output I2V
  5. Penulisan prompt: jelaskan gerakan / kamera / suasana (mis. “slow push-in, cinematic, warm tones”) untuk hasil yang lebih baik daripada deskripsi adegan statis saja
  6. Video input EDIT: > 15 detik akan otomatis dipotong oleh upstream dari 0 hingga 15 dtk. Jika memerlukan segmen lain, potong video terlebih dahulu sendiri
Kueri Hasil TugasPembuatan video adalah tugas asinkron yang mengembalikan task_id saat dikirim. Gunakan endpoint Dapatkan Status Tugas untuk mengueri progres dan hasil pembuatan.