Referensi API produksi
DeepSwapAI: API Face Swap AI
Hubungkan tukar wajah untuk foto, batch foto, foto grup terpetakan, video, dan GIF melalui satu antarmuka produksi. Tinjau kontrak, unit penagihan, status tugas, dan batasannya di sini; buka referensi API lengkap berbahasa Inggris untuk setiap field dan respons.
Satu kontrak, lima alur kerja
HTTPS, unggahan multipart, dan status tugas JSON
Setiap rute pembuatan yang dipublikasikan menggunakan kunci API Bearer, mengembalikan taskId, dan menyediakan status tugas melalui GET pada rute yang sama.
Jawaban langsung
Satu akun API mencakup lima jenis input tukar wajah
Foto, batch foto, wajah terpetakan dalam foto grup, video, dan GIF menggunakan domain produksi dan siklus hidup tugas yang sama. Sebelum setiap permintaan, validasi format, ukuran, durasi, jumlah target, dan kredit yang tersedia; setelah pengiriman, simpan taskId dan lakukan polling pada rute GET yang sesuai.
Kontrak publik saat ini
Rute, unit penagihan, dan batasan utama
| Alur kerja | Rute POST | Unit saat ini | Batasan utama |
|---|---|---|---|
| Foto | POST /api/ai-tasks | 6 kredit / keluaran | One source face and one target image |
| Batch foto | POST /api/ai-tasks/batch-face-swap | 6 kredit / keluaran | Maksimum 20 gambar input secara total; total 95 MB |
| Pemetaan grup | POST /api/ai-tasks/multi-face-swap | 6 credits / selected face | Up to 10 mapped faces; 95 MB combined |
| Video | POST /api/ai-tasks/video | 3 credits / rounded second; 12 minimum | MP4, MOV, or WebM; 600 seconds; fixed highest 1080p tier |
| GIF | POST /api/ai-tasks/gif | 3 credits / rounded second; 12 minimum | GIF, MP4, or WebM; 30 seconds |
Alur integrasi minimum
Validasi permintaan sebelum mengirim tugas pembuatan
- 1. Simpan kunci API di server Anda, jangan pernah di browser, paket aplikasi seluler, log, atau repositori publik.
- 2. Validasi field multipart, jenis file, ukuran, jumlah, durasi, dan kredit untuk alur kerja yang dipilih.
- 3. Kirim permintaan POST dan simpan taskId yang dikembalikan beserta perkiraan biayanya.
- 4. Lakukan polling GET pada rute yang sama hingga tugas mencapai COMPLETED, FAILED, atau CANCELLED.
- 5. Kirim hasil hanya ke akun pemilik tugas dan hapus media sesuai aturan retensi yang dipublikasikan.
Tidak ada bidang idempotency-key yang didokumentasikan dalam kontrak publik. Layanan pemanggil harus menonaktifkan pengiriman duplikat, pertahankan taskId pertama, dan rekonsiliasi respons jaringan yang tidak pasti sebelum mengeluarkan POST lain.
Siklus hidup tugas
Simpan taskId dan berhenti di status terminal
| Peristiwa | Catatan tugas | Tindakan kredit | Tindakan klien |
|---|---|---|---|
| Tugas diterima | Pertahankan taskId dan biaya yang diharapkan | Perlakukan penyelesaian sebagai milik server | Mulai polling yang diukur |
| Tugas selesai | Hasil terminal | Pekerjaan yang selesai tetap diselesaikan | Otorisasi pengambilan hasil |
| Pemrosesan gagal | Kegagalan terminal | Kontrak saat ini mengembalikan dana pemrosesan yang gagal secara otomatis | Baca kegagalan sebelum memutuskan untuk mengirim ulang |
| Hasil respons tidak pasti | Rekonsiliasi sebelum POST lain | Jangan pernah menebak dari waktu tunggu | Gunakan taskId yang disimpan atau riwayat akun |
Hasil respons tidak pasti Tidak ada bidang idempotency-key yang didokumentasikan dalam kontrak publik. Layanan pemanggil harus menonaktifkan pengiriman duplikat, pertahankan taskId pertama, dan rekonsiliasi respons jaringan yang tidak pasti sebelum mengeluarkan POST lain.
Penagihan, privasi, dan ekspor
Bangun batasan yang dapat diverifikasi ke dalam integrasi Anda
API access requires a verified email and at least one PAID or COMPLETED credit order. Reward and trial credits are limited to the signed-in web workflow and cannot be automated through the API. Each account can create up to 3 API keys, with up to 6 generation requests per minute per key. Failed tasks are refunded under the current rules, and media is deleted within 24 hours.
Pertanyaan pengembang
Pastikan poin-poin ini sebelum peluncuran
Apakah API mendukung webhook?
Saat ini belum. Simpan taskId yang dikembalikan oleh POST dan lakukan polling GET pada rute alur kerja yang sama hingga mencapai status akhir.
Apakah ada SDK resmi?
Saat ini belum ada SDK bahasa resmi yang dipublikasikan. HTTPS standar, otentikasi Bearer, data multipart, dan respons JSON dapat digunakan dengan klien HTTP sisi server apa pun.
Berapa kredit yang digunakan satu tugas foto?
Satu foto, satu output batch, atau satu wajah terpilih dalam foto grup saat ini menggunakan 6 kredit. Video dan GIF menggunakan detik yang dibulatkan ke atas dan biaya minimum.
Bolehkah saya menaruh kunci API di kode frontend?
Tidak. Simpan kunci API di server dan jangan pernah menuliskannya ke bundle browser, biner aplikasi seluler, log, event analitik, atau tiket dukungan.
Validasi integrasi dengan satu tugas representatif
Uji field, status, biaya, dan pengiriman hasil dengan sampel media terkecil yang diizinkan sebelum meningkatkan skala ke batch atau video panjang.
