spicyapiドキュメント
リファレンス
本文

OpenAPI とエンドポイント一覧

ダウンロードできる OpenAPI 3.1 契約、全公開エンドポイントと説明ガイド、共通リクエストヘッダー、本番の接続先を紹介します。

機械で読める公開契約は OpenAPI 3.1 YAML として提供しています。クライアントの生成や、現在の公開エンドポイントとの連携検証に使えます。

本番 API の接続先

OpenAPI の servers[0].url に定義された本番接続先は https://api.spicyapi.ai だけです。タスク API は /api/v1、互換プロトコルは /v1 と /v1beta を使います。

これらの API で、コンソールを開かずモデルの選択、見積もり、支出の確認ができます。カタログにはアカウント料金があり、パラメーターで価格が変わる場合は正確な入力で見積もります。履歴と使用量の範囲は、呼び出す API キーです。キーの作成、交換、予算設定はコンソールで行います。各表から、詳しく説明するガイドへリンクしています。

モデルの検索、料金、アカウントの API

メソッドパス目的ガイド
GET/console/v1/catalog/models評価用の公開カタログ。キー不要、標準料金、接続元アドレスでレート制限クイックスタート
GET/api/v1/models呼び出せるモデル、アカウント料金、任意のスキーマを取得モデルカタログ
GET/api/v1/models/{model}1 モデルと完全な JSON Schema を取得モデルカタログ
POST/api/v1/jobs/quoteタスク作成や資金予約なしに、正確な要求を 5 分間有効な価格で見積もる見積もり
GET/api/v1/chat/credit利用可能額、予約額、総残高を取得課金
GET/api/v1/usage現在のキーの呼び出しと精算済み USD 支出を、日付・モデル別に取得課金

生成とタスクの API

メソッドパス目的ガイド
GET/api/v1/jobs現在の API キーの履歴を、カーソル付きページ分割で取得タスク
POST/api/v1/jobs/createTask非同期の生成タスクを作成タスク
GET/api/v1/jobs/recordInfo呼び出す API キーで作成したタスクを取得タスク
POST/api/v1/jobs/retry失敗・期限切れタスクから新規作成。過去のキャンセル記録にも対応タスク操作
POST/api/v1/jobs/purge終端タスク 1 件の生成物とプロンプトを破棄。請求記録は残す保持
POST/api/v1/jobs/streamテキストモデルを実行し、SSE で回答を配信テキストとストリーミング

メディアの API

メソッドパス目的ガイド
POST/api/v1/common/upload-url直接アップロード用のチケットを発行メディア
POST/api/v1/files/{fileId}/commit直接アップロードを検証・確定し、タスクで使える spicy:// URI を返すメディア
POST/api/v1/files/importリンクから LoRA の重みファイルをインポートし、タスクで使える spicy:// URI を返す(アクセストークンは任意、1 回だけ使用し保存しない)アダプターの重み
POST/api/v1/common/download-url短期の出力ダウンロード URL を発行。完了タスクに含まれるため任意メディア
POST/api/v1/assetsファイルをアセットライブラリに保存(Idempotency-Key 必須)メディア
GET/api/v1/assets保存済みアセットを一覧(favorite・collectionId・q で絞り込み、sort で並べ替え)メディア
GET/api/v1/assets/usageアセットライブラリのプラン、使用量、上限を取得メディア
GET/api/v1/assets/{assetId}アセット 1 件を新しい非公開プレビューリンク付きで取得メディア
PATCH/api/v1/assets/{assetId}アセット名または favorite フラグを変更メディア
DELETE/api/v1/assets/{assetId}アセットを削除メディア
GET/api/v1/assets/entitiesアセットライブラリのキャラクターを一覧(読み取り専用)メディア
GET/api/v1/assets/entities/{entityId}キャラクター 1 人を、画像を順番どおりに付けて取得(読み取り専用)メディア

認証と応答の外枠

公開カタログ以外には Authorization: Bearer sk-spicy-… のキーが必要です。互換エンドポイント(/v1、/v1beta)では、Anthropic SDK の x-api-key と Google GenAI SDK の x-goog-api-key も使えます。URL のクエリにキーを入れる方式は受け付けません。タスク、再試行、破棄、ダウンロードリンクは作成したキーだけから見えます。認証を参照してください。

タスク API の JSON は共通の {code,msg,data,request_id} の外枠を使い、互換エンドポイントは各プロトコルの形式を使います。タスクの結果は外枠の code ではなく data.state にあります。エラーを参照します。

エンドポイント共通のリクエストヘッダー

ヘッダー送信先目的
Authorization: Bearer …公開カタログ以外API キー
Idempotency-Keyjobs/createTask、jobs/retry、jobs/stream、POST /v1/videos、/v1・/v1beta のテキストエンドポイントネットワークエラー後の安全な再送。タスクでは元を返し、テキストでは二重課金を防ぐが失った回答は返せない。冪等性参照
X-Spicy-Retentionjobs/createTask、jobs/streamこのタスクの出力とプロンプトの保持期間を秒で短縮。保持参照
Accept-Languageすべてエラーメッセージの言語。コードは変わらない。エラー参照

OpenAPI ファイルを使う

  • コードなしで要求を試す: 上部の OpenAPI を Postman、Insomnia、Bruno などへインポートし、Bearer トークンにキーを設定します。タスクの作成には費用がかかります。
  • クライアントを生成する: 同じファイルを、その言語の OpenAPI 3.1 コード生成ツールへ渡します。

契約の変更

  • モデルのパラメーターを固定の永久スナップショットにせず、/models/{model} から inputSchema を取得します。
  • 未知の応答項目には対応できるようにしますが、未知の入力項目は推測しません。
  • リリース前に OpenAPI YAML をコード生成や契約テストへ渡します。

互換エンドポイント

メソッドパスプロトコル
GET/v1/modelsModels
POST/v1/chat/completionsChat Completions
POST/v1/responsesResponses
POST/v1/messagesMessages
POST/v1beta/models/{model}:generateContentGemini generateContent
POST/v1beta/models/{model}:streamGenerateContentGemini streamGenerateContent
POST/v1/videosVideos
GET/v1/videos/{videoId}動画の状態
GET/v1/videos/{videoId}/content動画の内容

テキストはテキストとストリーミング、料金は見積もりと互換性で説明しています。

公式の TypeScript パッケージは @spicyapi/sdk です。Python、Go、依存を追加できない場合は、下のコピー可能な参照クライアントが、言語の実行環境だけで呼び出します。Python はメディアタスク全体に対応します。参照のアップロードと確定、見積もり、作成、終端までのポーリング、ファイル・テキストの結果取得、期限切れリンクの更新、保存内容の破棄、Webhook 署名の検証です。Go も同じ工程に対応し、各呼び出しの context と errors.As で取得できる型付きエラーがあります。TypeScript は作成、再試行、状態取得、上限付き待機を扱います。Node.js のアップロードや残りの機能には SDK を使います。

コピー可能な参照クライアント

モデル検索、タスク作成、失敗したタスクの再試行、状態取得、全終端状態、上限付き待機、冪等性、エラー処理を含む依存なしの例です。受理済みのタスクは取り消せません。

文書内の例であり、npm・PyPI・Go モジュールとして公開されたものではありません。10 分はローカル上限で、SLA ではありません。

このページの内容