API Ducklygen
Semua model di katalog, langsung dari kode Anda. Satu kunci, satu saldo, harga yang sama dengan studio.
1 · Autentikasi
Buat kunci di Pengaturan, Kunci API. Kirimkan di setiap permintaan sebagai token Bearer. Kunci diawali dengan dk_live_ dan hanya berfungsi di Ducklygen; simpan di server Anda, jangan pernah di browser atau aplikasi.
curl https://ducklygen.com/api/v1/api/catalog/me \
-H "Authorization: Bearer $DUCKLYGEN_API_KEY"3 · Mulai render
Satu panggilan menghitung harga input persis Anda dan memotongnya dari saldo. Respons langsung kembali dengan status queued, sementara render berjalan di latar belakang. Kirim header Idempotency-Key agar permintaan yang diulang tidak pernah ditagih dua kali.
curl -X POST https://ducklygen.com/api/v1/api/catalog/generations \
-H "Authorization: Bearer $DUCKLYGEN_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"modelId": "image-model-id",
"inputs": {
"prompt": "rubber duck floating on teal water, soft light"
}
}'Cek harga terlebih dahulu (opsional)
Input yang sama, dihitung harganya tanpa memulai apa pun. Jawabannya dalam sen.
curl -X POST https://ducklygen.com/api/v1/api/catalog/quote \
-H "Authorization: Bearer $DUCKLYGEN_API_KEY" \
-H "Content-Type: application/json" \
-d '{"modelId":"image-model-id","inputs":{"prompt":"rubber duck floating on teal water, soft light"}}'4 · Cek status dan unduh
Minta status render setiap beberapa detik sampai statusnya succeeded, failed, atau refunded. Jika berhasil, unduh file dari contentUrl dengan kunci yang sama. Model teks mengembalikan jawabannya di textOutput.
curl https://ducklygen.com/api/v1/api/catalog/generations/ID \
-H "Authorization: Bearer $DUCKLYGEN_API_KEY"
curl https://ducklygen.com/api/v1/api/catalog/generations/ID/content \
-H "Authorization: Bearer $DUCKLYGEN_API_KEY" \
-o result.pngEndpoint
URL dasarhttps://ducklygen.com/api/v1/api/catalog
/meKunci dan saldo Anda/modelsSemua model/models/detail?id=MODEL_IDSatu model dan kolomnya/quoteHarga untuk input tertentu/generationsMulai render/generationsRender terbaru Anda/generations/IDStatus satu render/generations/ID/contentFile hasil/generations/IDHapus renderError dan batas
Error dikembalikan sebagai JSON dengan kode dan pesan. 401: kunci tidak ada, salah, atau dicabut. 400: ada kolom yang tidak valid (detailnya menyebutkan kolom itu). 402: saldo tidak cukup. 409 API_KEY_DAILY_CAP: batas harian kunci sudah tercapai. 429: terlalu banyak permintaan, perlambat. Render yang gagal dikembalikan dananya secara otomatis.
Harga dan saldo
Render lewat API memakai saldo yang sama dengan studio dan harganya sama. Setiap jumlah di API dalam sen euro: costCents adalah biaya sebuah render, balanceCents adalah sisa saldo.