Fluxion API

API HTTP untuk generate gambar, video, dan audio (text-to-speech) secara terprogram. Autentikasi pakai API key — minta admin workspace buat bikinin key di halaman API Keys, lalu kirim sebagai header Authorization: Bearer <key> di setiap request.

POST/api/generate

Generate gambar dari teks. Respons: { pathname, prompt, style, steps, createdAt, createdBy, model, ratio }. Unduh file hasilnya di /images/{pathname} — endpoint ini juga butuh header Authorization, bukan URL publik.

FieldTipeKeterangan
promptstringwajib. Boleh Bahasa Indonesia — otomatis diterjemahkan.
modelstringlihat tabel model di bawah. Default: model pertama.
stepsnumbercustom, dibatasi min/max tiap model
styleenumnone, photorealistic, comic-book, neon-punk, isometric, line-art, pixel-art, 3d-model
ratioenum1:1, 16:9, 9:16 — default 1:1

Model tersedia

id (model)Steps (min/default/max)
cf/@cf/black-forest-labs/flux-1-schnell4 / 4 / 8
cf/@cf/black-forest-labs/flux-2-dev4 / 8 / 20
cf/@cf/black-forest-labs/flux-2-klein-9b4 / 4 / 8
cf/@cf/black-forest-labs/flux-2-klein-4b4 / 4 / 8
cf/@cf/leonardo/lucid-origin4 / 6 / 12
cf/@cf/leonardo/phoenix-1.04 / 6 / 12
cf/@cf/bytedance/stable-diffusion-xl-lightning2 / 4 / 8
qwen/qwen-image-2.0-pro4 / 4 / 4
qwen/qwen-image-2.04 / 4 / 4
qwen/qwen-image-max4 / 4 / 4
qwen/qwen-image-plus4 / 4 / 4
qwen/z-image-turbo4 / 4 / 4
qwen/wan2.7-image-pro4 / 4 / 4
qwen/wan2.7-image4 / 4 / 4
qwen/qwen-image-3.0-pro4 / 4 / 4
qwen/qwen-image-3.04 / 4 / 4
qwen/wan2.6-t2i4 / 4 / 4
gs/nano-banana-pro4 / 4 / 4
gs/nano-banana-24 / 4 / 4
gs/nano-banana-2-flash-lite4 / 4 / 4
gs/gpt-image-24 / 4 / 4
gs/fal-ai/bytedance/seedream/v5/pro4 / 4 / 4
gs/fal-ai/bytedance/seedream/v5/lite4 / 4 / 4
gs/xai/grok-imagine-image4 / 4 / 4
gs/qwen-image-34 / 4 / 4
gs/fal-ai/flux-2-pro4 / 4 / 4
gs/fal-ai/z-image/turbo4 / 4 / 4
curl -X POST https://domain-kamu.com/api/generate \
  -H "Authorization: Bearer sk-fluxion-..." \
  -H "Content-Type: application/json" \
  -d '{"prompt":"a red fox in a forest","model":"cf/@cf/black-forest-labs/flux-1-schnell","steps":4,"ratio":"1:1","style":"photorealistic"}'
POST/api/video/generate

Generate video dari teks (text-to-video). Bersifat async — request ini cuma submit job.

FieldTipeKeterangan
promptstringwajib
modelstringlihat tabel model di bawah
ratioenum1:1, 16:9, 9:16 — default 16:9
durationnumber2–15 detik, default 5 (diabaikan pada model yang gak support durasi custom)

Respons awal: { taskId, status: "PENDING" }. Poll GET /api/video/status/{taskId} tiap beberapa detik sampai status jadi SUCCEEDED (lalu ambil field pathname) atau FAILED.

Model tersedia

wan2.6-t2vWan 2.6 T2V
wan2.7-t2vWan 2.7 T2V
wan2.5-t2v-previewWan 2.5 T2V (audio)
wan2.2-t2v-plusWan 2.2 T2V Plus
wan2.1-t2v-turboWan 2.1 T2V Turbo
wan2.7-t2v-2026-06-12Wan 2.7 T2V (06-12)
wan2.7-t2v-2026-04-25Wan 2.7 T2V (04-25)
happyhorse-1.1-t2vHappyHorse 1.1 T2V
curl -X POST https://domain-kamu.com/api/video/generate \
  -H "Authorization: Bearer sk-fluxion-..." \
  -H "Content-Type: application/json" \
  -d '{"prompt":"a cat playing with yarn","model":"wan2.7-t2v","ratio":"16:9","duration":5}'

curl https://domain-kamu.com/api/video/status/{taskId} \
  -H "Authorization: Bearer sk-fluxion-..."
POST/api/image-to-video/generate

Gerakkan gambar diam jadi video (image-to-video). Async, sama seperti /api/video/generate: poll GET /api/video/status/{taskId} sampai selesai.

FieldTipeKeterangan
promptstringwajib — deskripsi gerakan yang diinginkan
imagestringwajib — base64 data URL, contoh: data:image/jpeg;base64,...
modelstringlihat tabel model di bawah
durationnumber2–15 detik, default 5

Model tersedia

wan2.7-i2vWan 2.7 I2V
wan2.6-i2vWan 2.6 I2V
wan2.6-i2v-flashWan 2.6 I2V Flash
wan2.5-i2v-previewWan 2.5 I2V (audio)
wan2.2-i2v-flashWan 2.2 I2V Flash
wan2.1-i2v-turboWan 2.1 I2V Turbo
wan2.7-i2v-2026-04-25Wan 2.7 I2V (04-25)
curl -X POST https://domain-kamu.com/api/image-to-video/generate \
  -H "Authorization: Bearer sk-fluxion-..." \
  -H "Content-Type: application/json" \
  -d '{"prompt":"hair blowing in the wind, slow zoom in","model":"wan2.7-i2v","duration":5,"image":"data:image/jpeg;base64,/9j/4AAQ..."}'

curl https://domain-kamu.com/api/video/status/{taskId} \
  -H "Authorization: Bearer sk-fluxion-..."
POST/api/edit-image/generate

Edit gambar yang sudah ada berdasarkan instruksi teks (ganti warna, tambah/hapus objek, ubah suasana, dll). Sinkron — respons langsung berisi gambar hasil, gak perlu polling.

FieldTipeKeterangan
promptstringwajib — instruksi perubahan
imagestringwajib — base64 data URL
modelstringlihat tabel model di bawah

Model tersedia

qwen-image-edit-plus-2025-12-15Qwen Image Edit Plus
qwen-image-edit-maxQwen Image Edit Max
qwen-image-edit-max-2026-01-16Qwen Image Edit Max (01-16)
qwen-image-edit-plusQwen Image Edit Plus (latest)
qwen-image-edit-plus-2025-10-30Qwen Image Edit Plus (10-30)
qwen-image-editQwen Image Edit
gs/nano-banana-proNano Banana Pro (4K)
gs/nano-banana-2Nano Banana 2
gs/nano-banana-2-flash-liteNano Banana 2 Flash Lite
gs/gpt-image-2GPT Image 2
gs/fal-ai/bytedance/seedream/v5/proSeedream v5 Pro
gs/fal-ai/bytedance/seedream/v5/liteSeedream v5 Lite
gs/xai/grok-imagine-imageGrok Imagine
gs/qwen-image-3Qwen Image 3 (Genspark)
gs/fal-ai/flux-2-proFlux 2 Pro
gs/fal-bria-rmbgHapus Background
gs/fal-ai/recraft-clarity-upscaleUpscale
gs/fal-ai/image-editing/text-removalHapus Teks / Watermark
gs/flux-pro/outpaintPerluas Gambar (Outpaint)
curl -X POST https://domain-kamu.com/api/edit-image/generate \
  -H "Authorization: Bearer sk-fluxion-..." \
  -H "Content-Type: application/json" \
  -d '{"prompt":"change the shirt color to blue","model":"qwen-image-edit-plus-2025-12-15","image":"data:image/jpeg;base64,/9j/4AAQ..."}'
POST/api/reference-video/generate

Buat video pakai 1-9 gambar referensi (karakter, gaya, objek) — hasil video konsisten dengan referensinya. Async, sama seperti /api/video/generate: poll GET /api/video/status/{taskId} sampai selesai.

FieldTipeKeterangan
promptstringwajib
imagesstring[]wajib — 1-9 base64 data URL
modelstringlihat tabel model di bawah
durationnumber2–15 detik, default 5

Model tersedia

wan2.7-r2v-2026-06-12Wan 2.7 R2V
happyhorse-1.1-r2vHappyHorse 1.1 R2V
curl -X POST https://domain-kamu.com/api/reference-video/generate \
  -H "Authorization: Bearer sk-fluxion-..." \
  -H "Content-Type: application/json" \
  -d '{"prompt":"the character walks through a sunny park","model":"wan2.7-r2v-2026-06-12","duration":5,"images":["data:image/jpeg;base64,/9j/4AAQ..."]}'

curl https://domain-kamu.com/api/video/status/{taskId} \
  -H "Authorization: Bearer sk-fluxion-..."
POST/api/video-edit/generate

Edit video yang sudah ada pakai instruksi teks (ganti elemen, tambah efek, ubah suasana). Async, sama seperti /api/video/generate: poll GET /api/video/status/{taskId} sampai selesai.

FieldTipeKeterangan
promptstringwajib — instruksi perubahan
videostringwajib — base64 data URL video, contoh: data:video/mp4;base64,...
modelstringlihat tabel model di bawah

Model tersedia

wan2.7-videoeditWan 2.7 Video Edit
happyhorse-1.0-video-editHappyHorse 1.0 Video Edit
curl -X POST https://domain-kamu.com/api/video-edit/generate \
  -H "Authorization: Bearer sk-fluxion-..." \
  -H "Content-Type: application/json" \
  -d '{"prompt":"make it snow","model":"wan2.7-videoedit","video":"data:video/mp4;base64,AAAAIGZ0eXA..."}'

curl https://domain-kamu.com/api/video/status/{taskId} \
  -H "Authorization: Bearer sk-fluxion-..."
POST/api/audio/generate

Text-to-speech, support Bahasa Indonesia native (16 bahasa). Respons: { pathname, text, voice, createdAt, createdBy }.

FieldTipeKeterangan
textstringwajib, max 2000 karakter
voicestringlihat tabel suara di bawah

Suara tersedia

longanlingxinLingxin — Perempuan, hangat
longanlufengLufeng — Laki-laki, ceria
longanfengyueFengyue — Perempuan, natural
longanyuanfeiYuanfei — Perempuan, anggun
longanlingxiLingxi — Perempuan, imut
longanxiaoxinXiaoxin — Perempuan, ceria
longanhuan_v3.6Huan — Perempuan
longchuanshu_v3.6Chuanshu — Laki-laki, dewasa
loongmaryMary — Perempuan, aksen Inggris
loongeva_v3.6Eva — Perempuan, aksen Amerika
loongjohnJohn — Laki-laki, aksen Amerika
longjielidou_v3.6Jielidou — Anak laki-laki
longpaopao_v3.6Paopao — Anak perempuan
longhuohuo_v3.6Huohuo — Anak laki-laki, jahil
curl -X POST https://domain-kamu.com/api/audio/generate \
  -H "Authorization: Bearer sk-fluxion-..." \
  -H "Content-Type: application/json" \
  -d '{"text":"Selamat pagi, apa kabar?","voice":"longanlingxin"}'

Endpoint baca (GET)

/api/galleryriwayat gambar tim
/api/videosriwayat video yang sudah selesai (text-to-video maupun image-to-video)
/api/audiosriwayat audio
/api/modelsdaftar model gambar (sama seperti tabel di atas, plus URL preview)
/api/video-modelsdaftar model text-to-video
/api/image-to-video-modelsdaftar model image-to-video
/api/voicesdaftar suara TTS
/api/stylesdaftar gaya gambar (none, photorealistic, comic-book, dst)
/images/{pathname}ambil file hasil generate (gambar/video/audio) — bukan URL publik, tetap butuh header Authorization
POST/api/improve-prompt

Perbaiki/perluas prompt sebelum generate. Perilakunya beda tergantung type: image menghasilkan "mega prompt" terstruktur (composition, environment, style, mood, camera, negative prompt), video/image-to-video menghasilkan breakdown scene-by-scene, audio cuma merapikan tata bahasa/tanda baca tanpa mengubah makna atau menerjemahkan.

FieldTipeKeterangan
promptstringwajib
typeenumimage, video, image-to-video, audio — default image
curl -X POST https://domain-kamu.com/api/improve-prompt \
  -H "Authorization: Bearer sk-fluxion-..." \
  -H "Content-Type: application/json" \
  -d '{"prompt":"kucing lari di taman","type":"image"}'

Autentikasi & error

401API key hilang/salah — header Authorization: Bearer <key> wajib di semua request
403API key gak punya akses ke endpoint admin