Ducklygen API

カタログのすべてのモデルを、あなたのコードから。キーはひとつ、残高もひとつ、価格はスタジオと同じです。

1 · 認証

設定の API キーからキーを作成し、すべてのリクエストに Bearer トークンとして付けて送信します。キーは dk_live_ で始まり、Ducklygen でのみ有効です。キーはサーバー側で保管し、ブラウザやアプリには置かないでください。

curl https://ducklygen.com/api/v1/api/catalog/me \
  -H "Authorization: Bearer $DUCKLYGEN_API_KEY"

3 · 生成を開始

1 回の呼び出しで入力内容に応じた価格を算出し、残高から差し引きます。レスポンスはすぐに status 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

GET/meキーと残高
GET/modelsすべてのモデル
GET/models/detail?id=MODEL_ID1 つのモデルとそのフィールド
POST/quote指定した入力の価格
POST/generations生成を開始
GET/generations最近の生成
GET/generations/ID1 件の生成のステータス
GET/generations/ID/content結果ファイル
DELETE/generations/ID生成を削除

エラーと制限

エラーはコードとメッセージを含む JSON で返ります。401: キーがない、誤っている、または失効している。400: 無効なフィールドがある (詳細にフィールド名が示されます)。402: 残高不足。409 API_KEY_DAILY_CAP: キーの 1 日あたりの上限に達した。429: リクエストが多すぎるため、間隔を空けてください。失敗した生成は自動的に返金されます。

価格と残高

API での生成はスタジオと同じ残高を使い、料金も同じです。API 内の金額はすべてユーロセント単位です。costCents は生成に課金された額、balanceCents は残りの残高です。