Langsung ke konten utama
POST
/
v1
/
midjourney
/
generations
/
video
curl --request POST \
  --url https://api.apimart.ai/v1/midjourney/generations/video \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "prompt": "the cat slowly turns its head to the camera",
    "image_urls": [
      "https://example.com/cat.png"
    ],
    "motion": "high",
    "batch_size": 4
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01KV52C0TEJSYZMCG0NCS4YWKK"
    }
  ]
}
curl --request POST \
  --url https://api.apimart.ai/v1/midjourney/generations/video \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "prompt": "the cat slowly turns its head to the camera",
    "image_urls": [
      "https://example.com/cat.png"
    ],
    "motion": "high",
    "batch_size": 4
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01KV52C0TEJSYZMCG0NCS4YWKK"
    }
  ]
}
Gambar ke video (i2v). Mode FAST tetap, tanpa dimensi speed; teks ke video (t2v) tidak didukung — frame pertama wajib. Durasi tetap ~5 detik.
ItemNilai
actionVIDEO
Penagihanmidjourney@video / midjourney@video-720p, ditagih = harga satuan × batch_size
Wajibimage_urls (frame pertama) atau task_id (pakai ulang imagine SUCCESS)

Parameter

FieldTipeWajibDefaultDeskripsi
promptstringTidak(mewarisi induk)Prompt video; jika kosong, task_id wajib
image_urlsstring[]Frame pertama (1 gambar, ≤ 12 MiB); salah satu dari image_urls / task_id
task_idstringPakai ulang imagine SUCCESS; salah satu dari image_urls / task_id
indexintTidakTile imagine mana yang jadi frame pertama (03, dengan task_id)
video_typestringTidakvid_1.1_i2v_480Tingkat resolusi (lihat tabel); 720 → penagihan @video-720p
animate_modestringTidakmanualmanual / auto; auto butuh task_id + index
motionstringTidakhighlow / high; besar gerakan, tidak memengaruhi penagihan
batch_sizeintTidak1Harus 1 / 2 / 4, nilai lain dianggap 1; ditagih × N
end_urlstringTidakFrame akhir; jika diset, video_type otomatis naik ke start_end_*

Nilai video_type yang valid

NilaiResolusiModePenagihan
vid_1.1_i2v_480480pi2v dasar (default)midjourney@video
vid_1.1_i2v_720720pi2v dasarmidjourney@video-720p
vid_1.1_i2v_start_end_480480pframe awal/akhir (otomatis saat end_url diset)midjourney@video
vid_1.1_i2v_start_end_720720pframe awal/akhir (otomatis saat end_url diset)midjourney@video-720p
Nilai bertipe extend tidak diterima; hanya nilai video_type yang tercantum di atas yang didukung.

Contoh request

i2v sederhana (frame pertama sendiri, batch 4):
{
  "prompt": "the cat slowly turns its head to the camera",
  "image_urls": ["https://example.com/cat.png"],
  "motion": "high",
  "batch_size": 4
}
Transisi awal/akhir (end_url otomatis naik ke start_end):
{
  "prompt": "transition smoothly from sunrise to sunset",
  "image_urls": ["https://example.com/sunrise.jpg"],
  "end_url": "https://example.com/sunset.jpg",
  "video_type": "vid_1.1_i2v_720"
}

Response

Submit mengembalikan task_id; polling GET /v1/tasks/{task_id}. Saat SUCCESS berisi video_url (pertama) plus video_urls (length === batch_size; batch=1 pun tetap 1 elemen):
{
  "id": "task_xxx",
  "status": "SUCCESS",
  "action": "VIDEO",
  "mode": "FAST",
  "video_url": "https://r2.example.com/video-0.mp4",
  "video_urls": [
    "https://r2.example.com/video-0.mp4",
    "https://r2.example.com/video-1.mp4"
  ]
}

Catatan

  • Teks ke video (t2v) tidak didukung: Anda harus mengirim image_urls atau task_id, jika tidak mengembalikan 400; tidak boleh keduanya.
  • Mode FAST tetap, tanpa dimensi speed (@video-fast / @video-turbo di tabel penagihan tidak pernah cocok).
  • batch_size divalidasi ketat sebagai 1 / 2 / 4; batch=4 ditagih 4×, gunakan batch=1 saat anggaran sensitif.
  • animate_mode=auto butuh task_id + index keduanya.
  • Frame pertama / akhir masing-masing ≤ 12 MiB.