L'API Ducklygen
Chaque modèle du catalogue, depuis votre propre code. Une clé, un solde, les mêmes prix que dans le studio.
1 · Authentification
Créez une clé dans Réglages, Clés API. Envoyez-la avec chaque requête comme jeton Bearer. Les clés commencent par dk_live_ et ne fonctionnent que sur Ducklygen ; gardez-les sur votre serveur, jamais dans un navigateur ou une application.
curl https://ducklygen.com/api/v1/api/catalog/me \
-H "Authorization: Bearer $DUCKLYGEN_API_KEY"3 · Lancez un rendu
Un seul appel calcule le prix de vos entrées exactes et débite votre solde. La réponse revient aussitôt avec le statut queued ; le rendu s'exécute en arrière-plan. Envoyez un en-tête Idempotency-Key pour qu'une requête relancée ne soit jamais facturée deux fois.
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"
}
}'Vérifiez d'abord le prix (facultatif)
Les mêmes entrées, chiffrées sans rien lancer. La réponse est en centimes.
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 · Interrogez et téléchargez
Demandez le rendu toutes les quelques secondes jusqu'à ce que le statut soit succeeded, failed ou refunded. En cas de succès, téléchargez le fichier depuis contentUrl avec la même clé. Un modèle de texte renvoie plutôt sa réponse dans 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.pngEndpoints
URL de basehttps://ducklygen.com/api/v1/api/catalog
/meVotre clé et votre solde/modelsTous les modèles/models/detail?id=MODEL_IDUn modèle et ses champs/quotePrix pour des entrées exactes/generationsLancer un rendu/generationsVos rendus récents/generations/IDStatut d'un rendu/generations/ID/contentLe fichier résultat/generations/IDSupprimer un renduErreurs et limites
Les erreurs sont renvoyées en JSON avec un code et un message. 401 : clé absente, incorrecte ou révoquée. 400 : un champ est invalide (les détails le nomment). 402 : solde insuffisant. 409 API_KEY_DAILY_CAP : la limite quotidienne de la clé est atteinte. 429 : trop de requêtes, ralentissez. Un rendu échoué est remboursé automatiquement.
Prix et solde
Les rendus via l'API utilisent le même solde que le studio et coûtent le même prix. Tous les montants de l'API sont en centimes d'euro : costCents est ce qu'un rendu a coûté, balanceCents ce qui reste.