Kanzen Ads Docs
IntroductionQuickstartAuthentication
Connect to Hermes Agent
Payments / Top-up
Overview & CreditsGenerate ImageGenerate VideoRetrieve Media
Top Up Campaign AdsCharacter + Product Video
Errors & LimitsAPI ReferenceMeta Marketing API Guide

Generation API — Overview & Kredit

Generate gambar dan video secara async, dipotong kredit. Submit job, poll sampai kelar, kredit kepotong di depan — otomatis balik kalau gagal atau macet.

Alur hidup job

ℹ️

Generation sepenuhnya async — gambar dan video sama-sama ikutin pola submit → poll

Submit langsung balik (HTTP 201) dengan job berstatus processing. Nggak ada tunggu sinkron atau webhook callback — pemanggil wajib poll GET /api/gen/media/:id sampai job-nya nyampe status akhir.
  1. Submit — POST /api/gen/image atau POST /api/gen/video. Kredit langsung direservasi; response-nya balik dengan status: "processing", waiting: true, dan pollUrl buat dipanggil selanjutnya.
  2. Processing — job-nya di-render di server; ada tick background yang majuin tiap 2 menit.
  3. Poll — panggil pollUrl (GET /api/gen/media/:id) kira-kira tiap pollAfterSeconds (~10 detik) sampai waiting berubah jadi false.
  4. Status akhir — completed (baca videoUrl — medianya di-rehost ke URL permanen Kanzen Ads, soalnya URL dari provider aslinya kedaluwarsa) | failed (liat errorMessage, kredit otomatis balik) | stalled (timeout — 15 menit gambar / 30 menit video, kredit otomatis balik, ke-log di CreditTransaction).

Detail lengkap tiap field di response poll — termasuk hint waiting, progress, nextAction, dan message — ada di Retrieve Media.

Cek saldo

GET/api/gen/credits
bash
curl -H "x-api-key: hsk_your_key" https://kanzenads.com/api/gen/credits
Response 200
{
  "balance": 49600,
  "transactions": [
    { "id": "tx_1", "amount": -400, "reason": "image_generation", "refId": "clx...", "refType": "generated_media", "balanceAfter": 49600, "txHash": "...", "createdAt": "2026-07-08T10:00:00Z" }
  ]
}

Tabel biaya

TipeParameterBiaya
Gambarper gambar, ukuran apa aja400 kredit × n
VideoSD, 6s1,000 kredit
VideoSD, 10s1,300 kredit
VideoHD, 6s2,000 kredit
VideoHD, 10s2,600 kredit
VideoSD, 15s1,950 kredit
VideoHD, 15s3,900 kredit
ℹ️
Biaya dihitung di server dan nggak bisa di-override dari request body. Kredit kepotong atomik pas submit (request yang bakal bikin saldo minus langsung ditolak dengan 402), dan otomatis balik kalau job-nya nggak pernah kelar.

Endpoint

  • Generate Image — POST /api/gen/image
  • Generate Video — POST /api/gen/video
  • Retrieve Media — GET /api/gen/media/:id
← Payments / Top-upGenerate Image →