SciFig
無料で始める

API リファレンス

エラー

エラーレスポンスの構造、すべてのエラーコード、再試行のタイミング。

Markdown で表示

レスポンス構造#

{
  "error": {
    "code": "INSUFFICIENT_CREDITS",
    "message": "Not enough credits.",
    "request_id": "a698a9af-0685-4557-9b29-ca57637748f9",
    "details": { "top_up_url": "https://scifig.ai/pricing?utm_source=api" }
  }
}

分岐には error.code と details.reason を使用し、変更される可能性のある message は使わないでください。レスポンスには内部診断情報を含みません。

コード#

コードHTTP意味再試行
UNAUTHORIZED401認証情報が未指定または無効です。不可。リクエストを変更、または新しいキーを使用
ACCOUNT_UNAVAILABLE401このアカウントは API を利用できません。不可。リクエストを変更、または新しいキーを使用
SCOPE_DENIED403この認証情報に必要な権限がありません。不可。リクエストを変更、または新しいキーを使用
INVALID_REQUEST400リクエストが無効です。不可。リクエストを変更、または新しいキーを使用
IDEMPOTENCY_KEY_REQUIRED400Idempotency-Key ヘッダー(表示可能な ASCII 文字 1~255 文字)が必要です。不可。リクエストを変更、または新しいキーを使用
IDEMPOTENCY_CONFLICT409この Idempotency-Key は別のリクエストですでに使われています。不可。リクエストを変更、または新しいキーを使用
IDEMPOTENCY_IN_PROGRESS409この Idempotency-Key のリクエストはまだ処理中です。可。同じ Idempotency-Key を使用
NOT_FOUND404見つかりません。不可。リクエストを変更、または新しいキーを使用
REVISION_CONFLICT409グラフまたはフローチャートのジョブを今は編集できません:NOT_LATEST_REVISION、EDIT_IN_PROGRESS、または親ジョブの実行中を示す PARENT_JOB_RUNNING。PARENT_JOB_RUNNING の場合のみ、Retry-After 後に同じキーで再試行。それ以外は最新バージョンを新しいキーで編集
PAYLOAD_TOO_LARGE413リクエスト本文が大きすぎます。不可。リクエストを変更、または新しいキーを使用
INSUFFICIENT_CREDITS402クレジットが不足しています。不可。リクエストを変更、または新しいキーを使用
CONTENT_REJECTED422コンテンツポリシーがリクエストを拒否しました。作成時は 422、タスク実行中は失敗したジョブの error.code で返します。どちらも返金されます。不可。プロンプトまたは入力を変更し、新しいキーを使用
PLAN_REQUIRED403現在のプランではこのオプションを利用できません。不可。リクエストを変更、または新しいキーを使用
RATE_LIMITED429リクエスト数、1 時間のタスク数、1 日の変換数、またはアップロード数が上限を超えています。details.reason が該当する制限を示します。可。同じ Idempotency-Key を使用
CONCURRENCY_LIMITED429このアカウントで実行中のタスクが多すぎます。可。同じ Idempotency-Key を使用
SERVICE_UNAVAILABLE503サービスは一時的に利用できません。同じ Idempotency-Key で再試行してください。可。同じ Idempotency-Key を使用
TASK_FAILED502タスクが失敗し、クレジットは返還されました。再試行するには、新しい Idempotency-Key で新しいリクエストを送信してください。不可。リクエストを変更、または新しいキーを使用
INTERNAL_ERROR500内部エラー。可。同じ Idempotency-Key を使用

INVALID_REQUEST には、情報がある場合に details.reason、details.field、details.issues が含まれることがあります。本文が上限(JSON は 256 KB、アップロードはファイル別上限)を超えると 413 PAYLOAD_TOO_LARGE を返します。details.top_up_url は INSUFFICIENT_CREDITS のみに含まれます。作成リクエストがジョブ作成後に失敗した場合(429、503、409 IDEMPOTENCY_IN_PROGRESS、500 INTERNAL_ERROR)、details.job_id がそのジョブを示します。同じ Idempotency-Key で再試行するか、GET /jobs/{job_id} でポーリングし、新しいキーは使わないでください。

失敗したジョブ内のコード#

作成後に失敗したジョブは status: "failed" と error オブジェクトを返します。拒否されたリクエストに使う上記コード以外に、error.code は次の値を取ります:

error.code意味対処方法
TASK_TIMED_OUTタスクがタイムアウトし、返金されました。科学図表の生成・編集には late_delivery_until が含まれる場合があり、その時刻までは無料で結果が届く可能性があります。late_delivery_until までジョブを読み続ける。それ以外は新しいキーで新しいリクエストを送信
CONTENT_REJECTEDタスクの実行中にコンテンツポリシーが結果を拒否しました。返金済みです。作成時にリクエスト自体が拒否された場合も、同じコードを 422 で返します。プロンプトまたは入力を変更し、新しいキーを使用
ADMISSION_INCOMPLETE再試行可能なエラーにより、ジョブは開始されませんでした。クレジットは使用していません。同じリクエストを同じ Idempotency-Key で送信
TASK_NOT_FOUNDジョブは受け付けられましたが、対応するタスクが見つからなくなりました。新しいキーで新しいリクエストを送信
TASK_FAILEDタスクが失敗し、返金されました。固有の公開コードがないエンジン障害はすべて TASK_FAILED になり、エンジンのコードは details.reason に含まれます。新しいキーで新しいリクエストを送信
INTERNAL_ERROR理由が報告されずにタスクが失敗しました。返金済みです。新しいキーで新しいリクエストを送信

429 の原因#

  • リクエスト数の超過:作成は認証情報ごとに 1 分 20 件、アカウントごとに 40 件、読み取りは認証情報ごとに 1 分 120 件。Retry-After は枠のリセットまでの時間です。details.reason は含まれません。
  • 直近 1 時間に開始したタスク数の超過:アカウントごとに最大 200 件、ウェブサイトと共有。Retry-After: 30。
  • 実行中タスク数の超過:429 CONCURRENCY_LIMITED。プラン別で、ウェブサイトと共有(GET /credits を参照)。Retry-After: 30。
  • 無料の PNG・PDF・TIFF・PPTX 変換、1 日 200 回の枠を使い切りました。details.reason = DAILY_CONVERSION_LIMIT と、日次枠リセットまでの Retry-After を返します。
  • アップロードの頻度超過:details.reason = UPLOAD_RATE_LIMITED。POST /files の画像・マスク、フローチャートの添付、グラフのデータに、ウェブサイトの分ごとの上限を適用します。
  • 1 日のアップロード数の超過:details.reason = UPLOAD_DAILY_LIMIT_REACHED。フローチャートの添付とグラフのデータに、ウェブサイトの日次上限を適用します。
  • 文字検出:アカウントごとに 15 分間で 20 回、ウェブサイトと共有。