A API da Ducklygen
Todos os modelos do catálogo, a partir do seu próprio código. Uma chave, um saldo, os mesmos preços do estúdio.
1 · Autenticação
Crie uma chave em Configurações, Chaves de API. Envie-a em cada requisição como token Bearer. As chaves começam com dk_live_ e funcionam apenas na Ducklygen; mantenha-as no seu servidor, nunca em um navegador ou aplicativo.
curl https://ducklygen.com/api/v1/api/catalog/me \
-H "Authorization: Bearer $DUCKLYGEN_API_KEY"3 · Inicie uma geração
Uma única chamada calcula o preço das suas entradas exatas e debita do seu saldo. A resposta volta na hora com o status queued e a geração roda em segundo plano. Envie um cabeçalho Idempotency-Key para que uma requisição repetida nunca cobre duas vezes.
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"
}
}'Confira o preço antes (opcional)
As mesmas entradas, com o preço calculado sem iniciar nada. A resposta vem em centavos.
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 · Consulte e baixe
Consulte a geração a cada poucos segundos até o status ser succeeded, failed ou refunded. Em caso de sucesso, baixe o arquivo de contentUrl com a mesma chave. Um modelo de texto retorna a resposta em 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
/meSua chave e seu saldo/modelsTodos os modelos/models/detail?id=MODEL_IDUm modelo e seus campos/quotePreço para entradas exatas/generationsIniciar uma geração/generationsSuas gerações recentes/generations/IDStatus de uma geração/generations/ID/contentO arquivo de resultado/generations/IDExcluir uma geraçãoErros e limites
Os erros voltam em JSON com um código e uma mensagem. 401: chave ausente, incorreta ou revogada. 400: um campo é inválido (os detalhes indicam qual). 402: saldo insuficiente. 409 API_KEY_DAILY_CAP: o limite diário da chave foi atingido. 429: requisições demais, diminua o ritmo. Uma geração com falha é reembolsada automaticamente.
Preços e saldo
As gerações pela API usam o mesmo saldo do estúdio e custam o mesmo. Todos os valores na API estão em centavos de euro: costCents é o que uma geração cobrou e balanceCents é o que resta.