Ducklygen API
카탈로그의 모든 모델을 내 코드에서 사용하세요. 키 하나, 잔액 하나, 스튜디오와 동일한 가격.
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 · 폴링 및 다운로드
status가 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엔드포인트
기본 URLhttps://ducklygen.com/api/v1/api/catalog
/me내 키와 잔액/models전체 모델/models/detail?id=MODEL_ID모델 하나와 해당 필드/quote정확한 입력값의 가격/generations렌더링 시작/generations최근 렌더링 목록/generations/ID렌더링 하나의 상태/generations/ID/content결과 파일/generations/ID렌더링 삭제오류와 제한
오류는 code와 message가 담긴 JSON으로 반환됩니다. 401: 키가 없거나 잘못되었거나 폐기됨. 400: 필드가 유효하지 않음 (details에 해당 필드가 명시됨). 402: 잔액 부족. 409 API_KEY_DAILY_CAP: 해당 키의 일일 한도 도달. 429: 요청이 너무 많음, 속도를 늦추세요. 실패한 렌더링은 자동으로 환불됩니다.
가격과 잔액
API 렌더링은 스튜디오와 동일한 잔액을 사용하며 비용도 같습니다. API의 모든 금액은 유로 센트 단위입니다. costCents는 렌더링에 청구된 금액, balanceCents는 남은 잔액입니다.