واجهة Ducklygen البرمجية
كل نموذج في الكتالوج، من شيفرتك الخاصة. مفتاح واحد، ورصيد واحد، والأسعار نفسها كما في الاستوديو.
1 · المصادقة
أنشئ مفتاحًا من الإعدادات، مفاتيح API. أرسله مع كل طلب كرمز Bearer. تبدأ المفاتيح بـ dk_live_ وتعمل على Ducklygen فقط؛ احتفظ بها على خادمك، ولا تضعها أبدًا في متصفح أو تطبيق.
curl https://ducklygen.com/api/v1/api/catalog/me \
-H "Authorization: Bearer $DUCKLYGEN_API_KEY"3 · ابدأ التوليد
استدعاء واحد يحسب سعر مدخلاتك بالضبط ويخصمه من رصيدك. تعود الاستجابة فورًا بالحالة queued، ويعمل التوليد في الخلفية. أرسل ترويسة Idempotency-Key حتى لا يُخصم المبلغ مرتين عند إعادة إرسال الطلب.
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"
}
}'تحقق من السعر أولًا (اختياري)
المدخلات نفسها، مسعّرة دون بدء أي شيء. الإجابة بالسنت.
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 · استعلم ونزّل
اطلب حالة التوليد كل بضع ثوانٍ حتى تصبح succeeded أو failed أو refunded. عند النجاح، نزّل الملف من contentUrl بالمفتاح نفسه. أما النموذج النصي فيعيد إجابته في 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.pngنقاط النهاية
عنوان URL الأساسيhttps://ducklygen.com/api/v1/api/catalog
/meمفتاحك ورصيدك/modelsكل النماذج/models/detail?id=MODEL_IDنموذج واحد وحقوله/quoteالسعر لمدخلات محددة/generationsبدء التوليد/generationsعمليات التوليد الأخيرة/generations/IDحالة عملية توليد واحدة/generations/ID/contentملف النتيجة/generations/IDحذف عملية توليدالأخطاء والحدود
تعود الأخطاء بصيغة JSON مع رمز ورسالة. 401: المفتاح مفقود أو خاطئ أو ملغى. 400: أحد الحقول غير صالح (تذكره التفاصيل). 402: الرصيد غير كافٍ. 409 API_KEY_DAILY_CAP: تم بلوغ الحد اليومي للمفتاح. 429: طلبات كثيرة جدًا، خفف السرعة. تُسترد قيمة التوليد الفاشل تلقائيًا.
الأسعار والرصيد
تستخدم عمليات التوليد عبر API الرصيد نفسه المستخدم في الاستوديو وبالتكلفة نفسها. كل المبالغ في API بسنتات اليورو: costCents هو ما خُصم مقابل التوليد، وbalanceCents هو المتبقي.