Langsung ke konten utama
POST
/
v1
/
videos
/
generations
curl --request POST \
  --url https://api.apimart.ai/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "kling-v3-omni",
    "prompt": "Make the person in <<<image_1>>> wave at the camera",
    "image_urls": ["https://upload.apimart.ai/f/models/9998230426123070-e9d6af04-cb5e-4731-8ae7-abf144cb0d29-9998230586368386-29641169-f698-4ab9-9b6d-380899e6521e-9998230593110693-c1741a3a-.webp"],
    "mode": "std",
    "duration": 5,
    "aspect_ratio": "16:9"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_xxxxxxxxxx"
    }
  ]
}

Documentation Index

Fetch the complete documentation index at: https://docs.apimart.ai/llms.txt

Use this file to discover all available pages before exploring further.

curl --request POST \
  --url https://api.apimart.ai/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "model": "kling-v3-omni",
    "prompt": "Make the person in <<<image_1>>> wave at the camera",
    "image_urls": ["https://upload.apimart.ai/f/models/9998230426123070-e9d6af04-cb5e-4731-8ae7-abf144cb0d29-9998230586368386-29641169-f698-4ab9-9b6d-380899e6521e-9998230593110693-c1741a3a-.webp"],
    "mode": "std",
    "duration": 5,
    "aspect_ratio": "16:9"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_xxxxxxxxxx"
    }
  ]
}

Otorisasi

Authorization
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:
Authorization: Bearer YOUR_API_KEY

Parameter Request

model
string
wajib
Nama model pembuatan videoModel yang didukung:
  • kling-v3-omni - Kling v3 Omni (antarmuka terpadu)
prompt
string
wajib
Prompt teks positifMendukung referensi gambar dari image_urls menggunakan sintaks <<<image_N>>>, dengan N dimulai dari 1.Contoh: "Make the person in <<<image_1>>> wave at the camera"
Jika gambar diberikan tetapi prompt tidak berisi referensi <<<image_N>>>, sistem akan otomatis menambahkan <<<image_1>>> di awal prompt.
negative_prompt
string
Prompt negatif digunakan untuk mengecualikan konten yang tidak diinginkan. Panjang maksimum 2500 karakter.
mode
string
default:"std"
Mode pembuatanOpsi:
  • std - Mode standar (720P)
  • pro - Mode profesional (1080P)
  • 4k - Mode 4K ultra HD
Default: std
duration
integer
default:"5"
Default: 5 Durasi video (detik)Rentang: 3-15 (minimum 3 detik, maksimum 15 detik)⚠️ Catatan: Harus berupa angka biasa (misalnya 6), jangan tambahkan tanda kutip, jika tidak error akan terjadi
aspect_ratio
string
default:"16:9"
Rasio aspek videoOpsi:
  • 16:9 - Lanskap
  • 9:16 - Potret
  • 1:1 - Persegi
Default: 16:9
image_urls
array<url>
Array URL gambar untuk referensi gambarReferensikan gambar yang sesuai dalam prompt menggunakan sintaks <<<image_N>>> (N dimulai dari 1)Contoh: ["https://example.com/photo.jpg"]
  • URL gambar harus dapat diakses publik tanpa proteksi hotlink
  • Dalam mode gambar-ke-video, aspect_ratio dapat ditimpa oleh rasio gambar aktual
image_with_roles
array<object>
Array gambar berbasis peran, direkomendasikan untuk gambar-ke-video.Format setiap item: { "url": "...", "role": "..." }
  • first_frame: frame pertama
  • last_frame: frame terakhir
  • reference: gambar referensi
image_urls dan image_with_roles saling eksklusif. Gunakan hanya salah satu.
video_list
array
Daftar video referensi (berbasis URL), hingga 1 video.Gunakan refer_type untuk membedakan jenis:
  • base: video yang akan diedit (default)
  • feature: video referensi fitur
Gunakan keep_original_sound untuk mengontrol audio asli:
  • no: jangan pertahankan (default)
  • yes: pertahankan suara asli
Format permintaan:
"video_list":[
  { "video_url": "video_url", "refer_type": "base", "keep_original_sound": "no" }
]
  • video_url tidak boleh kosong, dan URL video harus dapat diakses
  • Saat refer_type=base:
    • Frame awal/akhir tidak dapat ditentukan
    • Video referensi harus 3-10 detik
    • Durasi video yang dibuat mengikuti video yang diunggah
  • Saat refer_type=feature dan video_url tidak kosong:
    • image_urls hanya dapat berisi gambar frame pertama
  • Persyaratan video: hanya MP4/MOV; durasi minimal 3 detik; resolusi 720px-2160px; frame rate 24-60fps (output 24fps); ukuran tidak lebih dari 200MB
multi_shot
boolean
default:"false"
Apakah mengaktifkan mode multi-shot.
shot_type
string
Metode pemisahan shot: customize / intelligence.Wajib saat multi_shot=true.
multi_prompt
array<object>
Daftar multi-shot, setiap item adalah { index, prompt, duration }.
  • Minimum 1 shot, maksimum 6 shot
  • duration setiap shot harus berupa integer dan >= 1
  • Jumlah durasi semua shot harus sama dengan duration di level atas
  • index harus dimulai dari 1 dan meningkat berkesinambungan
  • Wajib saat multi_shot=true dan shot_type=customize
Contoh:
[
  { "index": 1, "prompt": "a happy dog in running@element_cat", "duration": 3 },
  { "index": 2, "prompt": "a happy dog play with a cat@element_dog", "duration": 3 }
]
element_list
array<object>
Daftar subjek referensi, hingga 3 subjek. Mendukung:
  • Membuat subjek secara langsung dengan name, description, element_input_urls
Format umum:
[
  {
    "name": "element_dog",
    "description": "a golden retriever, fluffy fur, friendly expression",
    "element_input_urls": [
      "https://example.com/image1.png",
      "https://example.com/image2.png"
    ]
  },
  {
    "name": "element_cat",
    "description": "an orange tabby cat, round face, bright eyes",
    "element_input_urls": [
      "https://example.com/image1.png",
      "https://example.com/image2.png"
    ]
  }
]
Catatan:
  • Untuk pembuatan langsung, name, description, element_input_urls wajib
  • element_input_urls: 2 hingga 4 gambar per subjek (yang pertama sebagai gambar frontal, lainnya sebagai referensi)
  • Gunakan @name di prompt, misalnya "@element_dog dan @element_cat are playing on the grass"
watermark
boolean
Apakah menambahkan watermark
audio
boolean
default:"false"
Apakah membuat video dengan audio
Parameter ini saling eksklusif dengan video_list.Saat video_list memiliki nilai, parameter audio tidak diperlukan.

Kendala dan Batas Parameter

  • image_urls dan image_with_roles saling eksklusif
  • mode=4k tersedia untuk kling-v3-omni
  • Input hanya frame terakhir (last_frame tanpa frame pertama) tidak valid
  • Frame awal/akhir dan edit video saling eksklusif: saat video_list.refer_type=base (atau dihilangkan), frame awal/akhir tidak diizinkan
  • Saat video_list ada, audio diabaikan
  • video_list mendukung paling banyak 1 video
  • multi_prompt mendukung hingga 6 shot, dengan index dimulai dari 1 dan meningkat berkesinambungan

Sintaks Referensi Gambar

Model Omni menggunakan sintaks <<<image_N>>> untuk merujuk gambar dalam prompt, memberikan pengalaman teks-ke-video/gambar-ke-video yang terpadu:
SintaksDeskripsi
<<<image_1>>>Merujuk gambar ke-1 dalam array image_urls
<<<image_2>>>Merujuk gambar ke-2 dalam array image_urls
Referensi Otomatis: Jika image_urls disediakan tetapi prompt tidak berisi referensi <<<image_N>>>, sistem akan otomatis menambahkan <<<image_1>>> di awal prompt.

Respons

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

Kasus Penggunaan

Kasus 1: Teks-ke-Video (Mode Standar)

{
  "model": "kling-v3-omni",
  "prompt": "A golden retriever running on the beach, sunset, cinematic",
  "mode": "std",
  "duration": 5,
  "aspect_ratio": "16:9"
}

Kasus 2: Referensi Gambar (Satu Gambar)

{
  "model": "kling-v3-omni",
  "prompt": "Make the person in <<<image_1>>> wave at the camera",
  "image_urls": ["https://upload.apimart.ai/f/models/9998230426123070-e9d6af04-cb5e-4731-8ae7-abf144cb0d29-9998230586368386-29641169-f698-4ab9-9b6d-380899e6521e-9998230593110693-c1741a3a-.webp"],
  "mode": "pro",
  "duration": 5
}

Kasus 3: Beberapa Referensi Gambar

{
  "model": "kling-v3-omni",
  "prompt": "The character in <<<image_1>>> walks toward the scene in <<<image_2>>>",
  "image_urls": [
    "https://example.com/character.jpg",
    "https://example.com/scene.jpg"
  ],
  "mode": "pro",
  "duration": 5
}

Kasus 4: Gambar Diberikan Tanpa Referensi Eksplisit (Ditambahkan Otomatis)

{
  "model": "kling-v3-omni",
  "prompt": "The person slowly turns and smiles",
  "image_urls": ["https://upload.apimart.ai/f/models/9998230426123070-e9d6af04-cb5e-4731-8ae7-abf144cb0d29-9998230586368386-29641169-f698-4ab9-9b6d-380899e6521e-9998230593110693-c1741a3a-.webp"],
  "mode": "std",
  "duration": 5
}
Sistem akan otomatis menambahkan <<<image_1>>> di awal prompt, setara dengan "<<<image_1>>>The person slowly turns and smiles".

Kasus 5: Membuat Video dengan Audio

{
  "model": "kling-v3-omni",
  "prompt": "A yellow canary singing on a branch",
  "audio": true,
  "mode": "std",
  "duration": 5
}
Catatan: audio saling eksklusif dengan video_list. Saat video_list memiliki nilai, parameter audio tidak diperlukan.
Kueri Hasil TugasPembuatan video adalah tugas asinkron yang mengembalikan task_id saat dikirim. Gunakan endpoint Dapatkan Status Tugas untuk mengueri progres dan hasil pembuatan.