Mulai cepat
Saat mengirim tugas, tambahkan fieldwebhook ke body permintaan:
URL Anda + /callback.
Endpoint tugas asinkron lainnya (video, audio, dll.) bekerja dengan cara yang sama — cukup tambahkan field
webhook ke body permintaan.Aturan URL
webhook yang Anda berikan adalah URL dasar (base), dan kami otomatis menambahkan /callback di belakangnya:
webhook Anda | Ke mana kami benar-benar mem-POST |
|---|---|
https://your-server.com | https://your-server.com/callback |
https://your-server.com/api | https://your-server.com/api/callback |
https://your-server.com/api/ | https://your-server.com/api/callback |
POST .../callback.
Apa yang akan Anda terima
Konten yang dikirim persis sama dengan yang dikembalikan oleh endpoint “Dapatkan Status Tugas” — Anda dapat memprosesnya dengan logika parsing yang sama.Untuk tugas video, hasilnya ada di
result.videos, dan untuk audio di result.audios.Percobaan ulang dan deduplikasi (penting)
- Percobaan ulang: Jika server Anda tidak mengembalikan
2xxdalam sekitar 10 detik, atau mengembalikan5xx, kami akan otomatis mencoba lagi, hingga 3 kali, dengan interval sekitar 10 dtk, 30 dtk, dan 60 dtk. Jika ketiganya gagal, kami menyerah (dalam sekitar 2 menit). - Tidak dicoba ulang: Jika endpoint Anda mengembalikan
4xx(dianggap URL / permintaan bermasalah), kami langsung menyerah tanpa mencoba lagi. - Deduplikasi: Biasanya satu tugas hanya dikirim sekali. Namun dalam kasus ekstrem (mis. restart di sisi kami setelah pengiriman tetapi sebelum konfirmasi) Anda mungkin menerima pengiriman ganda. Pastikan untuk melakukan deduplikasi secara idempoten berdasarkan
id(task_id) untuk menghindari pemrosesan ganda.
Kembalikan 2xx secepat mungkin
Terima dan masukkan ke antrean dulu, lalu proses secara asinkron — jangan biarkan kami menunggu Anda selesai memproses.
Deduplikasi berdasarkan id
Gunakan
id (task_id) sebagai kunci idempotensi untuk menghindari pemrosesan ganda.Persyaratan untuk URL callback
Demi keamanan, URL callback harus memenuhi:| Persyaratan | Keterangan |
|---|---|
| Dapat diakses publik | Tidak boleh berupa alamat internal / lokal (mis. 127.0.0.1, 10.x, 192.168.x akan ditolak) |
| Protokol | http atau https (disarankan https) |
| Port | Gunakan port standar (80 / 443); port non-standar mungkin diblokir |
| Domain | Tidak boleh menunjuk ke domain layanan kami sendiri |
FAQ
Saya mengirim tugas dengan webhook tetapi tidak menerima pengiriman?
Saya mengirim tugas dengan webhook tetapi tidak menerima pengiriman?
Periksa satu per satu:
- Apakah tugas benar-benar selesai? Periksa detail tugas — apakah
statussudahcompleted/failed(tidak dikirim saat diproses)? - Apakah URL Anda dapat diakses publik? Bisakah kami menjangkau
/callbackAnda? - Apakah port-nya standar (80 / 443)? Port non-standar mungkin diblokir oleh kebijakan keamanan.
- Apakah
/callbackAnda mengembalikan 2xx tepat waktu? Mengembalikan 4xx akan langsung ditinggalkan. - Apakah Anda menggunakan
https? Apakah sertifikatnya valid?
Mengapa url di dalam result berupa array?
Mengapa url di dalam result berupa array?
Beberapa model menghasilkan banyak gambar sekaligus, jadi
images[].url bisa berupa array — cukup perlakukan sebagai array.Apakah tautan hasil memiliki masa berlaku?
Apakah tautan hasil memiliki masa berlaku?
Jika
result menyertakan expires_at (timestamp Unix), itu menunjukkan waktu kedaluwarsa tautan — segera transfer/simpan.Apakah status 'sedang diproses' dikirim?
Apakah status 'sedang diproses' dikirim?
Tidak. Kami hanya mengirim sekali, saat tugas akhirnya berhasil atau gagal.
Contoh penerima minimal
Python
200 secepat mungkin, dan jalankan logika pemrosesan Anda secara asinkron di latar belakang.