Pembuatan video

Model video menjawab sebagai task, bukan sebagai satu respons. POST /v1/videos mengembalikan id task dengan "status": "queued", dan GET /v1/videos/{task_id} melaporkan progres sampai task mencapai completed atau failed. Setelah selesai, berkas hasilnya adalah URL bertanda tangan pada metadata.url; URL itu membawa parameter Expires, jadi unduh berkasnya dan jangan menyimpan tautannya. Task yang gagal membawa kode dan pesan error dari upstream di error.code dan error.message, dan itu biasanya cukup untuk melihat field mana yang belum dikirim. POST /v1/video/generations menuju handler yang sama, untuk klien yang sudah ditulis mengikuti path tersebut.

POST /v1/videos
curl https://api.chinaapi.ai/v1/videos \
  -H "Authorization: Bearer $CHINAAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "wan2.7-i2v",
    "prompt": "the cat turns and walks toward the camera",
    "input_reference": "https://example.com/first-frame.jpg",
    "size": "1280*720",
    "duration": 5
  }'

# {"id":"task_9f2c...","task_id":"task_9f2c...","object":"video",
#  "model":"wan2.7-i2v","status":"queued","progress":0}
GET /v1/videos/{task_id}
curl https://api.chinaapi.ai/v1/videos/task_9f2c... \
  -H "Authorization: Bearer $CHINAAPI_KEY"

# {"id":"task_9f2c...","object":"video","model":"wan2.7-i2v",
#  "status":"completed","progress":100,
#  "metadata":{"url":"https://.../output.mp4?Expires=..."}}
Teks ke video

wan2.7-t2v

Hanya model dan prompt yang wajib. Tanpa size dan duration, gateway mengirimkan 1280*720 selama lima detik.

Gambar ke video

wan2.7-i2v

Animasikan gambar diam. input_reference menerima URL gambar yang dapat diakses publik dan menjadi frame pertama; kirimkan size dan duration bersamanya.

Referensi ke video

wan2.7-r2v

Bangun video dari materi referensi. input_reference menerima satu gambar referensi; untuk mengirim beberapa gunakan images, dan video_url menambahkan video referensi — referensi dihitung bersama, maksimal lima. Jangan mengirim input_reference dan images bersamaan, karena gateway hanya menyimpan input_reference.

Penyuntingan video

wan2.7-videoedit

Sunting klip yang sudah ada lewat prompt. video_url menerima video sumber, yang harus berdurasi 2 sampai 10 detik dalam MP4 atau MOV, dan size menentukan hasilnya.

Video 30 detik

doubao-seedance-2-5-260628

Gambar referensi masuk ke images, dan input_reference menerima satu gambar; jika keduanya dikirim, keduanya tetap diteruskan. Durasi masuk ke seconds atau duration, dan parameter vendor masuk ke metadata, di mana resolution hanya 480p atau 720p.

Seedance 2.0

doubao-seedance-2-0-260128

Bentuk permintaannya sama dengan doubao-seedance-2-5-260628, termasuk aturan role untuk metadata.content. doubao-seedance-2-0-fast-260128 dan doubao-seedance-2-0-mini-260615 menukar kualitas dengan kecepatan dan biaya, dan lini 2.0 memerlukan setidaknya satu referensi gambar atau video, sementara 2.5 juga menerima audio saja.

Kling 3.0

kling-v3

Frame pertama masuk ke image; keluarga ini tidak pernah membaca input_reference. mode defaultnya std dan duration defaultnya 5 detik. Sisanya dibawa metadata: image_tail untuk frame penutup, sound bernilai on atau off (default off), ditambah negative_prompt, cfg_scale, dan camera_control.

Kelas hemat

kling-3.0-turbo

Kirim prompt untuk teks ke video, atau tambahkan image dan gateway akan menyusun array contents yang diminta upstream. Pengaturan ukuran ada di bawah metadata.settings: resolution bernilai 720p atau 1080p, duration antara 3 sampai 15 detik, dan aspect_ratio bernilai 16:9, 9:16, atau 1:1. Audio selalu disertakan dan tidak punya sakelar.

Referensi multi-gambar

kling-v3-omni

Menghasilkan video dari beberapa gambar referensi sekaligus. Semua parameter ada di dalam metadata, dan tidak ada field resolution — tingkat kualitasnya adalah mode. Lihat contoh lengkap di bawah.

Audio bawaan

MiniMax-H3

Menerima field milik gateway sendiri lalu menyusun payload upstream untuk Anda: image atau input_reference menjadi frame pertama, images menjadi gambar referensi, dan video_url menjadi video referensi. size memilih 768P atau 2K dan duration adalah bilangan bulat 4 sampai 15. Permintaan yang hanya berisi teks memerlukan metadata.ratio eksplisit selain adaptive.

Hailuo

MiniMax-Hailuo-2.3

Bersama MiniMax-Hailuo-2.3-Fast dan MiniMax-Hailuo-02. Model-model ini hanya membaca prompt, duration, dan size dari tingkat teratas; setiap gambar harus lewat metadata, sebagai first_frame_image, last_frame_image, atau subject_reference.

Kelas 480P

happyhorse-1.1-t2v

Bersama happyhorse-1.1-i2v dan happyhorse-1.1-r2v. Field-nya sama dengan keluarga wan2.7prompt, input_reference, size, duration — dan 480P punya harga di sini, sehingga 832*480 diterima padahal wan2.7 menolaknya. Beberapa referensi sekaligus masuk ke metadata.input.media, karena perakitan otomatis yang dipicu field images khusus untuk wan2.7-r2v.

Tips Tulis size sebagai lebar dan tinggi yang disambung tanda bintang, seperti 1280*720. Huruf x tidak diterima: 832x480 dijawab invalid size: 832x480, example: 1920*1080. duration adalah bilangan bulat detik. Untuk wan2.7-i2v, wan2.7-r2v, dan wan2.7-videoedit, gateway melipat size menjadi tingkat resolusi dan upstream hanya punya dua, jadi kirim 1280*720 untuk 720P atau 1920*1080 untuk 1080P. Ukuran 480P seperti 832*480 tidak punya harga di ketiga model ini dan akan langsung ditolak, atau diterima lalu digagalkan upstream dengan InvalidParameter; tugas yang gagal akan direfund, tetapi perjalanan bolak-baliknya tetap sia-sia. wan2.7-t2v menerima nilainya apa adanya.
Tips Keluarga Kling membaca rasio aspek dari size lewat tabel tetap yang menulis ukuran dengan huruf x — 1280x720, 1920x1080, 720x1280, 1080x1920, 1024x1024, 512x512 — dan apa pun yang tidak dikenalinya menjadi 1:1 tanpa error. Jadi mengirim bentuk tanda bintang 1280*720 ke kling-v3 mengembalikan video persegi, bukan keluhan; setel metadata.aspect_ratio langsung bila komposisinya penting.
Tips MiniMax-Hailuo-2.3, MiniMax-Hailuo-2.3-Fast, dan MiniMax-Hailuo-02 membuang field tingkat teratas image, input_reference, images, dan video_url tanpa memberi tahu: permintaannya berhasil, tetapi dijalankan sebagai teks ke video dan ditagih sebagai itu. Taruh gambarnya di metadata.first_frame_image, tambahkan metadata.last_frame_image untuk frame penutup, dan pakai metadata.subject_reference untuk referensi subjek. MiniMax-H3 adalah pengecualian di keluarga ini dan memang membaca field tingkat teratas.
kling-v3-omni · multi-image reference
curl https://api.chinaapi.ai/v1/video/generations \
  -H "Authorization: Bearer $CHINAAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "kling-v3-omni",
    "prompt": "the character from the references walks through a neon-lit street",
    "metadata": {
      "image_list": [
        {"image_url": "https://example.com/character.jpg"},
        {"image_url": "https://example.com/outfit.jpg"},
        {"image_url": "https://example.com/scene.jpg"}
      ],
      "mode": "std",
      "duration": "5",
      "aspect_ratio": "16:9",
      "sound": "off"
    }
  }'
GET /v1/video/generations/{task_id}
curl https://api.chinaapi.ai/v1/video/generations/task_9f2c... \
  -H "Authorization: Bearer $CHINAAPI_KEY"

# {"code":"success",
#  "data":{"task_id":"task_9f2c...","status":"SUCCESS",
#          "progress":"100%","fail_reason":"",
#          "result_url":"https://.../output.mp4"}}
Tips Gambar referensi tidak membawa type; field itu hanya ada untuk menandai first_frame atau end_frame, dan aspect_ratio wajib ketika tidak ada frame pertama. mode adalah tingkat kualitas — std, pro, atau 4k — dan default upstream adalah pro, yang ditagih 1,33x harga tercantum, sedangkan 4k ditagih 5x; kirim mode secara eksplisit agar biayanya sesuai perkiraan Anda. duration adalah string dari "3" sampai "15" dan sound defaultnya off. Video referensi masuk ke video_list dan wajib menyetel "refer_type": "feature": mode penyuntingan base ditagih menurut panjang video yang Anda kirim, tidak bisa dihargai sebelum pengiriman, dan karena itu ditolak. Gambar referensi juga punya ukuran minimum di sisi upstream: berkas seukuran ikon lolos saat pengiriman tetapi kemudian menggagalkan tugas dengan Image pixel is invalid; tugas yang gagal direfund, tetapi perjalanan bolak-baliknya sia-sia.
Tips Kedua jalur melaporkan hasil dalam bentuk yang berbeda. GET /v1/videos/{task_id} menjawab dalam format video OpenAI, dengan berkas di metadata.url dan progres berupa angka. GET /v1/video/generations/{task_id} menjawab {"code": "success", "data": {…}}, dengan berkas di data.result_url, data.status berupa kata huruf besar seperti SUCCESS atau FAILURE, data.progress berupa string seperti "100%", dan kegagalan dijelaskan di data.fail_reason. Pantau jalur yang sama dengan tempat Anda mengirim.
doubao-seedance-2-5-260628 · first frame
curl https://api.chinaapi.ai/v1/videos \
  -H "Authorization: Bearer $CHINAAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedance-2-5-260628",
    "prompt": "the subject slowly turns toward the camera",
    "images": ["https://example.com/first-frame.jpg"],
    "seconds": "5",
    "metadata": {"resolution": "480p"}
  }'
doubao-seedance-2-5-260628 · reference mode
curl https://api.chinaapi.ai/v1/videos \
  -H "Authorization: Bearer $CHINAAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "doubao-seedance-2-5-260628",
    "prompt": "keep the subject from the reference image",
    "seconds": "5",
    "metadata": {
      "resolution": "480p",
      "ratio": "16:9",
      "content": [
        {
          "type": "image_url",
          "image_url": {"url": "https://example.com/reference.jpg"},
          "role": "reference_image"
        }
      ]
    }
  }'
Tips Gambar tanpa role dibaca sebagai frame pertama, bukan sebagai referensi: keluarannya mengikuti rasio aspek gambar itu, mengirim ratio bersamanya ditolak dengan InvalidParameter.TaskTypeConstraint, dan seconds bernilai 2 juga ditolak di mode itu, sementara 5 berhasil. generate_audio default-nya true di upstream, jadi file yang kembali punya trek audio kecuali Anda menyetelnya false di metadata. Beri role pada setiap bagian metadata.content untuk memakai mode referensi penuh — hingga 30 gambar, 10 video dan 10 klip audio, input audio saja, dan 30 detik sekali jalan — di mana ratio diterima.