Die Ducklygen API
Jedes Modell im Katalog, direkt aus deinem Code. Ein Schlüssel, ein Guthaben, dieselben Preise wie im Studio.
1 · Authentifizieren
Erstelle einen Schlüssel unter Einstellungen, API-Schlüssel. Sende ihn bei jeder Anfrage als Bearer-Token. Schlüssel beginnen mit dk_live_ und funktionieren nur auf Ducklygen; bewahre sie auf deinem Server auf, niemals in einem Browser oder einer App.
curl https://ducklygen.com/api/v1/api/catalog/me \
-H "Authorization: Bearer $DUCKLYGEN_API_KEY"3 · Rendering starten
Ein Aufruf berechnet den Preis für genau deine Eingaben und belastet dein Guthaben. Die Antwort kommt sofort mit dem Status queued zurück, das Rendering läuft im Hintergrund. Sende einen Idempotency-Key-Header, damit eine wiederholte Anfrage nie doppelt abgerechnet wird.
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"
}
}'Zuerst den Preis prüfen (optional)
Dieselben Eingaben, bepreist ohne etwas zu starten. Die Antwort ist in Cent.
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 · Abfragen und herunterladen
Frage das Rendering alle paar Sekunden ab, bis der Status succeeded, failed oder refunded ist. Bei Erfolg lädst du die Datei mit demselben Schlüssel von contentUrl herunter. Ein Textmodell liefert seine Antwort stattdessen in 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.pngEndpunkte
Basis-URLhttps://ducklygen.com/api/v1/api/catalog
/meDein Schlüssel und Guthaben/modelsAlle Modelle/models/detail?id=MODEL_IDEin Modell und seine Felder/quotePreis für genaue Eingaben/generationsRendering starten/generationsDeine letzten Renderings/generations/IDStatus eines Renderings/generations/ID/contentDie Ergebnisdatei/generations/IDRendering löschenFehler und Limits
Fehler kommen als JSON mit Code und Nachricht zurück. 401: Schlüssel fehlt, ist falsch oder widerrufen. 400: ein Feld ist ungültig (die Details nennen es). 402: nicht genug Guthaben. 409 API_KEY_DAILY_CAP: das Tageslimit des Schlüssels ist erreicht. 429: zu viele Anfragen, bitte langsamer. Ein fehlgeschlagenes Rendering wird automatisch erstattet.
Preise und Guthaben
API-Renderings nutzen dasselbe Guthaben wie das Studio und kosten dasselbe. Alle Beträge in der API sind Eurocent: costCents ist, was ein Rendering gekostet hat, balanceCents, was übrig ist.