La API de Ducklygen
Todos los modelos del catálogo, desde tu propio código. Una clave, un saldo, los mismos precios que en el estudio.
1 · Autenticación
Crea una clave en Ajustes, Claves de API. Envíala en cada solicitud como token Bearer. Las claves empiezan por dk_live_ y solo funcionan en Ducklygen; guárdalas en tu servidor, nunca en un navegador ni en una app.
curl https://ducklygen.com/api/v1/api/catalog/me \
-H "Authorization: Bearer $DUCKLYGEN_API_KEY"3 · Inicia una generación
Una sola llamada calcula el precio de tus entradas exactas y lo cobra de tu saldo. La respuesta llega al instante con el estado queued y la generación se ejecuta en segundo plano. Envía una cabecera Idempotency-Key para que una solicitud repetida nunca cobre dos veces.
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"
}
}'Consulta primero el precio (opcional)
Las mismas entradas, con precio calculado sin iniciar nada. La respuesta está en céntimos.
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 · Consulta y descarga
Pide la generación cada pocos segundos hasta que el estado sea succeeded, failed o refunded. Si tiene éxito, descarga el archivo desde contentUrl con la misma clave. Un modelo de texto devuelve su respuesta en 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 basehttps://ducklygen.com/api/v1/api/catalog
/meTu clave y tu saldo/modelsTodos los modelos/models/detail?id=MODEL_IDUn modelo y sus campos/quotePrecio para entradas exactas/generationsIniciar una generación/generationsTus generaciones recientes/generations/IDEstado de una generación/generations/ID/contentEl archivo resultante/generations/IDEliminar una generaciónErrores y límites
Los errores llegan como JSON con un código y un mensaje. 401: clave ausente, incorrecta o revocada. 400: un campo no es válido (los detalles lo indican). 402: saldo insuficiente. 409 API_KEY_DAILY_CAP: se alcanzó el límite diario de la clave. 429: demasiadas solicitudes, reduce el ritmo. Una generación fallida se reembolsa automáticamente.
Precios y saldo
Las generaciones por API usan el mismo saldo que el estudio y cuestan lo mismo. Todos los importes de la API están en céntimos de euro: costCents es lo que cobró una generación y balanceCents lo que queda.