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": "wan2.7",
    "prompt": "A coastal road at sunset, slow-motion camera push-in, cinematic feel",
    "resolution": "1080P",
    "duration": 8,
    "size": "16:9"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ"
    }
  ]
}

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": "wan2.7",
    "prompt": "A coastal road at sunset, slow-motion camera push-in, cinematic feel",
    "resolution": "1080P",
    "duration": 8,
    "size": "16:9"
  }'
{
  "code": 200,
  "data": [
    {
      "status": "submitted",
      "task_id": "task_01J9HA7JPQ9A0Z6JZ3V8M9W6PZ"
    }
  ]
}

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

Perutean Mode

wan2.7 adalah entry terpadu untuk teks-ke-video dan gambar-ke-video. Backend otomatis menentukan mode berdasarkan parameter yang masuk. Kedua mode ditagih dengan cara yang sama:
KondisiDirutekan KeDeskripsi Mode
Salah satu dari image_urls / image_with_roles / video_urls disediakanGambar-ke-VideoFrame pertama / Frame pertama-terakhir / kelanjutan video
Tidak ada parameter di atas yang disediakanTeks-ke-VideoBuat video murni dari deskripsi teks

Parameter Permintaan

model
string
wajib
Nama model pembuatan video, tetap sebagai wan2.7
prompt
string
Deskripsi konten video, hingga 5000 karakter
  • Mode Teks-ke-Video (saat tidak ada gambar/video yang disediakan): wajib
  • Mode Gambar-ke-Video: opsional, tetapi direkomendasikan untuk memandu pergerakan kamera dan aksi
Contoh: "A cat chasing butterflies on the grass, bright sunshine, slow motion"
image_urls
array<string>
Array URL gambar. Menyediakannya otomatis masuk ke mode Gambar-ke-Video
  • 1 gambar: frame pertama ke video
  • 2 gambar: frame pertama-terakhir ke video (ke-1 = frame pertama, ke-2 = frame terakhir)
Gunakan ini atau image_with_roles
image_urls bertentangan dengan audio_url; keduanya tidak dapat disediakan secara bersamaan
image_with_roles
array<object>
Array gambar dengan peran, alternatif untuk image_urls, digunakan untuk menentukan peran setiap gambar secara tepatField untuk setiap objek:
  • url (string): URL gambar (mendukung http/https)
  • role (string): peran gambar, first_frame / last_frame, default first_frame
Contoh:
[
  { "url": "https://cdn.example.com/start.jpg", "role": "first_frame" },
  { "url": "https://cdn.example.com/end.jpg", "role": "last_frame" }
]
image_with_roles bertentangan dengan audio_url; keduanya tidak dapat disediakan secara bersamaan
video_urls
array<string>
Array URL video. Menyediakannya masuk ke mode kelanjutan video (hanya video ke-1 yang digunakan)
video_urls bertentangan dengan audio_url; keduanya tidak dapat disediakan secara bersamaan
Batasan video:
  • Format: mp4, mov
  • Durasi: 2–10 detik
  • Resolusi: lebar dan tinggi dalam rentang [240, 4096] piksel
  • Rasio aspek: 1:8 – 8:1
  • Ukuran file: hingga 100MB
negative_prompt
string
Prompt negatif yang menjelaskan konten yang tidak diinginkan, hingga 500 karakterContoh: "blurry, distorted, low quality"
resolution
string
default:"1080P"
Resolusi videoOpsi:
  • 720P - Standar
  • 1080P - Definisi tinggi (default)
duration
integer
default:"5"
Durasi video (detik)Rentang yang didukung: 2 ~ 15 detikDefault: 5
size
string
default:"16:9"
Rasio aspek, hanya berlaku dalam Mode Teks-ke-Video (saat tidak ada gambar/video yang disediakan)Format yang didukung:
  • 16:9 - Lanskap layar lebar (default)
  • 9:16 - Potret
  • 1:1 - Persegi
  • 4:3 - Lanskap
  • 3:4 - Potret
Parameter ini diabaikan dalam Mode Gambar-ke-Video; rasio aspek ditentukan secara otomatis oleh gambar input
audio_url
string
URL audio kustom
  • Mode Teks-ke-Video: digunakan sebagai musik latar
  • Mode Gambar-ke-Video: digunakan sebagai audio pengarah, disinkronkan dengan aksi di layar
Format: wav / mp3, durasi 2-30 detik, ukuran file ≤ 15MB
audio_url bertentangan dengan video_urls, image_urls, dan image_with_roles; tidak dapat disediakan secara bersamaan
prompt_extend
boolean
default:"true"
Apakah mengaktifkan penulisan ulang prompt cerdasSecara signifikan meningkatkan hasil untuk prompt pendek, tetapi menambah waktu pemrosesanDefault: true
watermark
boolean
default:"false"
Apakah menambahkan watermark “AI Dihasilkan” ke video yang dihasilkan
  • true: tambahkan watermark
  • false: tanpa watermark (default)
seed
integer
Seed integer yang digunakan untuk mengontrol keacakan konten yang dihasilkanRentang nilai: integer ≥0
  • Untuk permintaan yang identik, model menghasilkan hasil yang berbeda saat menerima nilai seed yang berbeda (misalnya, menghilangkan seed)
  • Untuk permintaan yang identik, model menghasilkan hasil serupa saat menerima nilai seed yang sama, tetapi konsistensi yang persis tidak dijamin

Respons

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

Kasus Penggunaan

Kasus 1: Teks-ke-Video (Permintaan Paling Sederhana)

{
  "model": "wan2.7",
  "prompt": "A coastal road at sunset, slow-motion camera push-in, cinematic feel"
}

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

{
  "model": "wan2.7",
  "prompt": "A cat chasing butterflies on the grass, bright sunshine, slow motion",
  "negative_prompt": "blurry, distorted, low quality",
  "resolution": "1080P",
  "duration": 8,
  "size": "16:9",
  "audio_url": "https://cdn.example.com/bgm.mp3",
  "prompt_extend": true,
  "watermark": false,
  "seed": 42
}

Kasus 3: Frame Pertama ke Video

{
  "model": "wan2.7",
  "prompt": "The character slowly stands up and walks toward the camera",
  "image_urls": ["https://cdn.example.com/person.jpg"],
  "resolution": "1080P",
  "duration": 8
}

Kasus 4: Frame Pertama-Terakhir ke Video

{
  "model": "wan2.7",
  "prompt": "The camera pans slowly from the beach to the mountaintop",
  "image_urls": [
    "https://cdn.example.com/beach.jpg",
    "https://cdn.example.com/mountain.jpg"
  ],
  "resolution": "1080P",
  "duration": 10
}
Dengan 2 gambar: gambar ke-1 adalah frame pertama, gambar ke-2 adalah frame terakhir. Anda juga dapat menggunakan image_with_roles untuk spesifikasi yang tepat.

Kasus 5: Kelanjutan Video

{
  "model": "wan2.7",
  "prompt": "Continue walking forward, camera follows",
  "video_urls": ["https://cdn.example.com/clip.mp4"],
  "resolution": "1080P",
  "duration": 8
}

Kasus 6: Gambar + Audio Pengarah

{
  "model": "wan2.7",
  "prompt": "The character moves to the rhythm of the music",
  "image_urls": ["https://cdn.example.com/dancer.jpg"],
  "audio_url": "https://cdn.example.com/beat.mp3",
  "resolution": "1080P",
  "duration": 8
}

Panduan Pemilihan Mode

KebutuhanPendekatan yang Direkomendasikan
Buat video hanya dari teksKirim hanya prompt (tanpa gambar/video)
Buat gambar “menjadi hidup”Kirim 1 gambar ke image_urls
Kontrol frame awal dan akhirKirim 2 gambar ke image_urls (pertama + terakhir)
Perpanjang video yang sudah adaKirim video ke video_urls
Buat gambar bergerak mengikuti musikKirim gambar + audio_url
Kueri Hasil TugasPembuatan video adalah tugas asinkron yang mengembalikan task_id saat dikirim. Gunakan endpoint Dapatkan Status Tugas untuk mengueri progres dan hasil pembuatan.