API ドキュメント

画像タスク取得

GET /v1/tasks/{id}

画像ジョブの状態を取得します。必要になるのは async: true を渡したときだけで、既定の同期呼び出しならレスポンスで画像がそのまま返ります。動画ジョブはここでは扱いません。GET /v1/video/generations/{task_id} を使ってください。

リクエスト

bash
curl https://open.pikpikgo.com/v1/tasks/2608101909450810293847 \
  -H "Authorization: Bearer $PIKPIK_API_KEY"

レスポンス

json
{
  "id": "2608101909450810293847",
  "object": "image.generation",
  "created": 1786000185,
  "model": "img-std-1",
  "status": "succeeded",
  "prompt": "雨のサイバーパンクな夜の街、ネオンの反射",
  "size": "16:9",
  "quality": "2k",
  "credits": 10,
  "error": "",
  "data": [
    { "url": "https://cdn.pikpikgo.com/ai/xxxx.png", "revised_prompt": "雨のサイバーパンクな夜の街、ネオンの反射" }
  ]
}

状態の遷移

status意味対応
queued受理済み、ワーカー待ちポーリングを続ける
processing生成中ポーリングを続ける
succeeded完了data から URL を取り、ポーリングを止める
failed失敗error で理由を確認して停止。クレジットは返却済み

ポーリングの目安

  • 画像は 3 秒ごと(動画は専用のエンドポイントで 5 秒ごと)。これより短くしてもレート制限を消費するだけで、速くはなりません。
  • 上限を決めてください(画像 10 分、動画 30 分など)。到達したらタイムアウト扱いにし、無限ループにしないこと。
  • プロセスを生かし続ける必要はありません。放置されたタスクはバックグラウンドの回収処理が終了させ、失敗分はクレジットを返却します。
タスクは作成したアカウントからのみ参照できます。他人のタスクと存在しないタスクは、まったく同じ 404 を返します。