Skip to main content

概要

すべての生成リクエストは同じ基本的なライフサイクルに従います: ジョブライフサイクル図

ジョブの状態

queued ジョブはキュー内で処理を待機しています backlogged ジョブは現在の同時実行数制限を超えたため待機中です scheduled ジョブは受理され、処理予定に組み込まれました processing ジョブはワーカーによって処理中です sampling ジョブは出力サンプルを生成中です intermediate-complete ジョブに中間結果があり、処理を継続する可能性があります completed ジョブは正常に完了し、結果は result.urls で利用できます failed ジョブはエラーにより失敗しました。詳細は result.error に含まれます cancelled ジョブはユーザーまたはシステムによってキャンセルされました

失敗とキャンセル

ジョブが失敗する原因 はいくつかあります:
  • 生成サービスからの API エラー
  • 無効なパラメータやサポートされていない構成
  • コンテンツモデレーション(NSFW フィルタリング)
  • 自動タイムアウト検出(ホスト型ツールで 3 分、外部プロバイダーで 2 時間)
ジョブのキャンセル方法: /jobs/{id}DELETE リクエストを送信します。ただし、ジョブは queued または processing の状態でのみキャンセルできます。
重要: 失敗またはキャンセルされたジョブには課金されません。完了したジョブのみが課金対象です。

ジョブステータスの確認

/jobs/{id} に対する GET リクエストでジョブのステータスをポーリングします。推奨されるプラクティス:
  • ジョブが保留中(backloggedqueuedscheduledprocessingsampling、または intermediate-complete)の間は 2〜5 秒ごとにポーリングする
  • 長時間実行されるジョブには指数バックオフを使用する
  • ステータスが completedfailed、または cancelled になったらポーリングを停止する
  • 一部のジョブは processing の間にレスポンスにプレビュー画像を含む場合があります
ポーリング実装の例:
// npm install @krea-ai/sdk
import { Krea } from "@krea-ai/sdk";

const krea = new Krea({ apiKey: process.env.KREA_API_KEY });

async function waitForJob(jobId) {
  const job = await krea.jobs.wait(jobId, { intervalMs: 2000 });
  return job.result;
}

次のステップ

Webhooks

ジョブ完了時に通知を受け取る

Rate Limits

プラン別の API 制限を理解する

Model APIs

利用可能なすべてのエンドポイントとパラメータを確認する

API Keys & Billing

API キーを作成・管理する