SUB&SUB · ドキュメント
言語
テーマ

API リファレンス

SUB&SUB は https://api.subnsub.com/v1 でマルチプロバイダーのリレーを公開しています。OpenAI クライアントは /v1/chat/completions に、Anthropic クライアントは /v1/messages にアクセスします。同じ sk-cf-... キーで両方にルーティングできます — リクエストボディでモデルを指定すると、リレーがアップストリームを選択します。

サービス提供状況

既存アカウントのみ API アクセスは現在、2026 年 6 月 8 日(北京時間)より前に作成されたアカウントに限定されています。新規登録ユーザーは共通アカウントと SUB&SUB Tools を利用できますが、API コンソールへのアクセス、API キーの作成、API クレジットの追加、リレーの呼び出しはできません。API の新規受付を再開した際に、このセクションを更新します。

クイックスタート

API が有効な既存アカウントでは、次の 3 つが必要です:

  1. ベース URL: https://api.subnsub.com/v1(OpenAI クライアント)または https://api.subnsub.com(Anthropic クライアント — SDK が /v1/messages を自動で付加します)
  2. API キー: コンソールで発行する sk-cf-...
  3. Model: 16 サポートされているモデル の 1 つ — 例: gpt-5.4-mini または claude-sonnet-5

認証

すべてのリクエストに Authorization: Bearer sk-cf-... ヘッダーを付与する必要があります。キーはコンソールで発行され、SHA-256 ハッシュとして保存されます — 作成画面を離れると平文は二度と表示されないため、すぐに保存してください。

ヒント 連携(チャットボット、IDE プラグイン、バッチジョブ)ごとに 1 つのキーを生成してください。漏洩したキーをコンソールで失効させると、数秒以内に反映されます。

エンドポイント

安定した公開インターフェースは、以下および機械可読な OpenAPI 3.1 ドキュメントに記載されています。ここにないフィールドは upstream に転送される場合がありますが、自動的に SUB&SUB の互換性保証に含まれるわけではありません。

POST /v1/chat/completions

POST/v1/chat/completions

チャット補完リクエストを送信します。リクエスト形式は OpenAI Chat Completions API と一致しており、OpenAI の SDK をそのまま利用できます。

パラメータ説明
modelstring検証済みモデル ID のいずれか。
messagesarray会話履歴。各要素は {role, content} で、rolesystem / user / assistant です。
streambooleantrue の場合、レスポンスは SSE チャンクとして送信されます。ストリーミングを参照してください。
stream_optionsobject任意。リレーは常にアップストリームへ {include_usage: true} を強制するため、最終チャンクにトークン使用量ブロックが含まれます — これを上書きしても効果はありません。
max_tokensinteger補完の長さの上限。デフォルトはモデルの最大値です。
temperaturenumber0 – 2。値が大きいほどランダム性が増します。

POST /v1/responses

POST/v1/responses

OpenAI Responses API — 新しい OpenAI リクエスト形状 (client.responses.create(...))。すべてのカタログ モデルで動作します: gpt-* はネイティブで、claude-* はチャット/補完と同じ互換性ブリッジを介して動作します。使用量は同様に測定され、入出力トークンはモデルの層レートで測定されます。

パラメータ説明
modelstring任意の カタログ モデル ID
inputstring | arrayプロンプト - Responses API が定義するプレーンな文字列または構造化された項目リスト。
max_output_tokensinteger応答の長さを制限します (推論と表示される出力の組み合わせ)。
reasoningobject{"effort": "..."}reasoning_effort と同じ 5 つの値。
streambooleantrue の場合、標準の応答 SSE シーケンス (response.createdresponse.output_text.delta、…、response.completed) をストリーミングします。
backgroundbooleanサポートされていません。 background: true400 unsupported_background_mode を返します — リレーは同期実行のみを行います。
注意 :online Web 検索サフィックスは、このエンドポイントには影響しません。サフィックスは削除されますが、検索コンテキストは挿入されません (クエリは messages から抽出されますが、応答リクエストには含まれません)。 Web 検索 には、/v1/chat/completions または /v1/messages を使用します。

実行可能な Responses の例:

curl https://api.subnsub.com/v1/responses \
  -H "Authorization: Bearer sk-cf-xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.4-mini",
    "input": "Explain exponential backoff in two sentences."
  }'

POST /v1/messages

POST/v1/messages

claude-* モデル向けの Anthropic ネイティブエンドポイントです — Anthropic の SDK(anthropic-sdk-python@anthropic-ai/sdkclaude-code)はこのパスに対してそのまま動作します。ベース URL を https://api.subnsub.com に向け、x-api-key ヘッダーで認証してください(クライアントが好む場合は Authorization-Bearer 形式も使えます)。

パラメータ説明
modelstringclaude-* モデル ID(利用可能なモデルを参照)。ここに OpenAI モデルを渡すと 400 invalid_request_error が返ります。
max_tokensintegerAnthropic では必須です — アシスタント応答の長さの上限を指定します。
messagesarray会話履歴(Anthropic 形式): {role, content} で、roleuser / assistant です。
streambooleantrue の場合、標準的な Anthropic SSE イベントシーケンス(message_startcontent_block_deltamessage_deltamessage_stop)を返します。
thinkingobjectそのまま Anthropic に転送されました。サポートされている場合は {"type":"adaptive"} を使用します。 Fable 5 は、このフィールドが省略された場合でも、常に適応的思考を使用します。合成 -thinking モデル ID はありません。
cache_controlobjectプロンプトキャッシュに対応しています。キャッシュ書き込みトークンはティアの入力単価の 1.25×、キャッシュ読み込みトークンは 0.10× で課金されます。
注意 Claude リクエストは、公式 Anthropic アカウントによって直接処理されます。以下にリストされている正確な公式モデル ID を使用してください。

実行可能な Anthropic Messages の例:

curl https://api.subnsub.com/v1/messages \
  -H "x-api-key: sk-cf-xxxxxxxxxxxx" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "max_tokens": 256,
    "messages": [{"role": "user", "content": "Hello"}]
  }'

POST /v1/messages/count_tokens

POST/v1/messages/count_tokens

送信前に Anthropic 形式のプロンプトを数えます。/v1/messages に送るものと同じ x-api-keyanthropic-version、model、system、messages、tools フィールドを使用してください。このエンドポイントは課金されません。:online サフィックスは除去されますが、検索結果は取得もカウントもされません。

curl https://api.subnsub.com/v1/messages/count_tokens \
  -H "x-api-key: sk-cf-xxxxxxxxxxxx" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-5",
    "messages": [{"role": "user", "content": "Count this prompt."}]
  }'

GET /v1/models

GET/v1/models

実際に使用できるモデルをリストします。リレーは両方の上流ファミリーをヘルスチェックし、16 個の検証済みパブリック ID を返します。これは POST エンドポイントが適用するのと同じホワイトリストであるため、検出では 400 となるモデルがアドバタイズされることはありません。上流のカタログに到達できない場合、エンドポイントは誤解を招く空のリストではなく 502 models_unreachable を返します。

# sample response (truncated)
{
  "object": "list",
  "data": [
    { "id": "gpt-5.4-mini",      "type": "model", ... },
    { "id": "gpt-5.4",           "type": "model", ... },
    { "id": "claude-sonnet-5",     "type": "model", ... },
    { "id": "claude-fable-5",      "type": "model", ... },
    ...
  ]
}

互換性の範囲

OpenAI 互換であっても、すべての upstream モデルの全フィールドが全ルートで保証されるわけではありません。サポートは次の 3 段階です:

ステータス詳細
文書化済み・安定上記 4 エンドポイントでのテキスト生成、同期およびストリーミング応答、文書化された reasoning 制御、Anthropic のプロンプトキャッシュ、Chat Completions と Messages の :online、認証、使用量計測、文書化されたエラー形式。
パススルー(モデル依存)ツール/関数呼び出し、strict tools、構造化出力/JSON Schema、サンプリング制御、停止シーケンス、画像や文書を含む multipart コンテンツ、モデルのコンテキスト/出力上限。エッジはこれらをローカル検証せず転送しますが、対応状況と応答形式はモデルやプロトコルで異なります。本番投入前に使用するモデルと payload をそのままテストしてください。プロバイダー間の正規化は保証しません。
提供対象外バックグラウンドの Responses 実行、Responses の :online、OpenAI の画像生成、Audio、Realtime、Batch、Files、Embeddings、Moderation API、合成された Claude -thinking エイリアス、OpenAI の minimal reasoning effort。
ヒント openapi.json とこのページを、サポート対象の契約として扱ってください。upstream が現在受け付けるフィールドでも、恒久的な SUB&SUB の保証になるとは限りません。

利用可能なモデル

上流の2家族。 7 つの OpenAI モデルは、共有の ChatGPT 層アカウントにルーティングされます。 9 つの Claude モデルは、公式 Anthropic アカウントによって提供されます。トークンごとのレートは層によって異なります (価格 を参照)。同じキーが両方で機能します。

OpenAI

モデル IDファミリーティア備考
gpt-5.4-mini GPT-5.4Mini 高速かつ低価格。チャットとコーディングの推奨デフォルトです。
gpt-5.4 GPT-5.4Standardフルサイズの GPT-5.4 — 低速ですが、より強力な推論が可能です。
gpt-5.4-2026-03-05GPT-5.4Standardgpt-5.4 の日付付きスナップショット。
gpt-5.5 GPT-5.5Premium より新しいフラグシップ。
gpt-5.6-luna GPT-5.6Luna 軽量 GPT-5.6 — ミニとスタンダードの間。
gpt-5.6-terra GPT-5.6Standard中型サイズ GPT-5.6 — gpt-5.4 と同じレート。
gpt-5.6-sol GPT-5.6Premium トップ GPT-5.6 — gpt-5.5 と同じレート。

Anthropic

モデル IDファミリーティア備考
claude-fable-5 Fable 5 Fable Anthropic の最も高性能で広くリリースされているモデル。適応的思考は常にオンになっています。
claude-haiku-4-5-20251001 Haiku 4.5 Mini 最小の Claude — トークンあたりの単価は gpt-5.4-mini と同じです。
claude-sonnet-4-5-20250929 Sonnet 4.5 Standard中位ティアの Claude — トークンあたりの単価は gpt-5.4 と同じです。
claude-sonnet-4-6 Sonnet 4.6 Standardより新しい Sonnet チューン — Standard ティア、単価は sonnet-4.5 と同じです。
claude-sonnet-5 Sonnet 5 Sonnet 5 Intro最新のSonnet;お試し価格は 2026 年 8 月 31 日まで適用されます。
claude-opus-4-5-20251101 Opus 4.5 Ultra フロンティアの Claude。Anthropic のリスト価格で課金されます — マージンなし(料金を参照)。
claude-opus-4-6 Opus 4.6 Ultra より新しい Opus チューン。
claude-opus-4-7 Opus 4.7 Ultra 以前の Opus スナップショット。
claude-opus-4-8 Opus 4.8 Ultra 最新の Opus スナップショット。
注意 Claude カタログでは、公式の Anthropic モデル ID が使用されます。プロンプト キャッシュがサポートされています。キャッシュは層の入力レートの 1.25 倍で請求書を書き込み、0.10 倍で読み取ります (価格 を参照)。
Fable 件の拒否 Fable 5 つの安全分類子は、stop_reason: "refusal" と空のコンテンツ配列を含む HTTP 200 を返すことができます。クライアントは、HTTP ステータスだけではなく、stop_reason に基づいて分岐し、claude-opus-4-8 でリクエストを再試行する必要があります。 OpenAI プロトコル エンドポイントを通じて、同じ結果が finish_reason: "content_filter" (チャット/完了) または status: "incomplete"incomplete_details.reason: "content_filter" (応答) として公開されます。即時拒否は残高から差し引かれません。部分出力後の途中での拒否には通常どおり料金が請求されます。
利用不可 廃止された OpenAI ID (gpt-5.2* および gpt-5.3-codex*)、ベア gpt-5.6 エイリアス (上記の名前付きバリアントを使用)、OpenAI Pro/image/audio/realtime バリアント、ドット表記 ID (claude-sonnet-4.5 など)、および合成 -thinking モデル ID は利用できません。上記の正確な ID と Anthropic のネイティブ thinking フィールドを使用してください。

推論エフォート

上記のすべての OpenAI モデルは推論モデルです。バックエンドは、目に見える出力を発行する前に、より多くの、またはより少ない「思考」トークンを費やすことができます。予算を制御するには、OpenAI /v1/chat/completions リクエスト本文 (または /v1/responsesreasoning: {"effort": ...}) に ​​reasoning_effort を設定します。 Claude の場合は、Anthropic ネイティブの thinking および output_config.effort フィールドを使用します。/v1/messages セクションを参照してください。 OpenAI モデルは、同じ 5 つの努力値を受け入れます。

動作
none 思考なし — 直接回答します。最も安価かつ高速です。
low 短い推論パス。
medium フィールドを渡さない場合のデフォルト。バランス型です。
high より深い推論。非自明なコーディングや多段階の問題に推奨します。
xhigh 最大エフォート。最も低速で高価です。本当に必要な難しい分析にのみ使用してください。
# Two equivalent forms — pick whichever your SDK supports
{
  "model": "gpt-5.4-mini",
  "reasoning_effort": "high",
  "messages": [ ... ]
}

{
  "model": "gpt-5.5",
  "reasoning": { "effort": "xhigh" },
  "messages": [ ... ]
}
費用 思考トークンは課金上出力トークンとしてカウントされます — エフォートが高いほど出力トークンが増え、同じプロンプトでも請求額が大きくなります。トークンあたりの単価は変わりません。
注意 OpenAI プロトコルは 'minimal' も定義していますが、このリレーのモデルはこれを拒否します: 「'minimal' is not supported with this model」。上記の 5 つの値を使用してください。

ストリーミング

"stream": true を設定すると Server-Sent Events を受信します。最終チャンクには usage ブロックが含まれ(アップストリームへ stream_options.include_usage を強制するため、トークン数は常に出力されます)、その後にリテラルの data: [DONE] がストリームを終了します。

# Streaming format (line by line)
data: {"id":"resp_...","choices":[{"delta":{"content":"Hi"}}]}

data: {"id":"resp_...","choices":[{"delta":{"content":"!"}}]}

data: {"id":"resp_...","choices":[],"usage":{"prompt_tokens":18,"completion_tokens":11,"total_tokens":29}}

data: [DONE]

実行可能な Python ストリーミング例:

from openai import OpenAI

client = OpenAI(
    api_key="sk-cf-xxxxxxxxxxxx",
    base_url="https://api.subnsub.com/v1",
)

stream = client.chat.completions.create(
    model="gpt-5.4-mini",
    messages=[{"role": "user", "content": "Hello"}],
    stream=True,
)
for chunk in stream:
    text = chunk.choices[0].delta.content if chunk.choices else None
    if text:
        print(text, end="", flush=True)

エンドポイントが対応する任意のモデル ID に :online を付加すると、リレーはモデルへ転送する前に Web 検索を実行し、結果を会話の先頭に追加して、回答が最新のデータに基づくようにします。このサフィックスは /v1/chat/completions/v1/messages で機能します(後者では引き続き claude-* ベースが必要です)。検索専用のリクエストフィールドは不要です。

# Same call as before — just :online on the model
curl https://api.subnsub.com/v1/chat/completions \
  -H "Authorization: Bearer sk-cf-xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.4-mini:online",
    "messages": [
      {"role": "user", "content": "What did Anthropic ship this week?"}
    ]
  }'

仕組み: リレーは :online を除去し、最新のユーザーメッセージをクエリ(400 文字で上限)として、Tavily を呼び出し、可能な場合は抽出されたページテキスト付きで最大 3 件の結果と、任意の Tavily 生成サマリーを取得します。そして、リクエストをアップストリームへ送信する前に、それらを明確に区切られた <search_results> ブロックとして同じユーザーターンの先頭に追加します。検索呼び出しには 8 秒のタイムアウトがあります。結果は意図的にユーザーロールへ注入され — システムプロンプトには決して注入されません — そのため、信頼できないスニペットがシステム優先度の指示に昇格することはありません。

<search_results> ブロックは次のような形です。その前には、モデルにこのブロックを信頼できない外部データとして扱い、番号付き項目をインラインで引用するよう指示する 1 行が置かれます:

<search_results query="What did Anthropic ship this week?" retrieved="2026-05-21">
Summary: <short LLM-generated synthesis of the result set>

[1] Anthropic launches Opus 4.8
URL: https://www.anthropic.com/news/opus-4-8
<extracted page text, or short snippet if extraction failed — up to ~2000 chars>

[2] ...
</search_results>
動作詳細
費用現時点では追加料金はありません — モデルの通常のトークンあたり単価のみを支払い、検索呼び出しのコストはリレーが負担します。注入される <search_results> ブロックは入力トークンとしてカウントされるため、:online なしの同じ質問よりもプロンプトトークンの請求が高くなる点に注意してください。
障害時の挙動ソフトです。Tavily がタイムアウトまたはエラーになった場合、リクエストは検索コンテキストなしでモデルへ続行されます(回答は得られますが、根拠なしになります)。唯一のハード障害は、リレーで検索がまったく設定されていない場合の 503 search_unavailable です。
count_tokens/v1/messages/count_tokens はサフィックスを除去しますが、Tavily を呼び出すことはありません — カウントは拡張後ではなく、元のプロンプトを反映します。
マルチターンクエリと拡張の対象になるのは最後のユーザーターンのみで、それ以前のターンは変更されません。再度検索するには、モデルに :online を付けたまま新しいユーザーメッセージを送信してください。

:online を使うべき場面

リレーはリクエストごとに 1 回だけ Tavily を呼び出して結果を注入します — エージェント型の検索ループではありません。Perplexity Sonar や ChatGPT のブラウズツールのように、モデルが見た内容に基づいて再検索を判断することはありません。この制約を前提に計画してください:

適している用途適していない用途
時間に左右される事実(ニュース、価格、バージョン番号、リリース日)公開 Web 上にない非公開またはペーストされたコード — 根拠を与えずにプロンプトのノイズが増えるだけ
公式ドキュメントや発表の所在を特定する数学、推論、翻訳、創作 — 根拠付けの対象がない
本来 Google 検索で確認するようなあらゆることすでに学習データにある安定した知識(「二分木とは何か」)

最後のユーザーメッセージを、それ単体で成立する検索クエリとして記述してください。検索は最新のユーザーターンのリテラルなテキスト(400 文字で上限)に対して実行されるため、「では最新バージョンはどうですか?」のような会話的なフォローアップは、コンテキストのない無意味なクエリになってしまいます。マルチターンのチャットでは、:online を付けるときにトピックを言い直してください — 例: 「最新のもの」ではなく 「Anthropic Python SDK の最新バージョン」

多段階の統合を要する質問(比較対照、深い調査)については、複数のターンに分割し、それぞれに :online を付けてください。モデルは各ターンの最新の結果を読み、次のクエリは手動で誘導します。注入される <search_results> ブロックはアップストリームへ送信されるだけで — クライアントへエコーバックされず、次のリクエストにも保持されません。そのため、後続のターンが以前のソースの詳細に依存する場合は、可視の応答内でそれらを要約するようモデルに依頼してください。ワンショットの調査モードには対応していません。

ヒント 高い推論エフォート(reasoning_effort: "high")と組み合わせると、モデルは最初の結果に頼るのではなく、返されたソースを実際に比較検討します。注入される指示は番号付きソースを [1][2] のようにインラインで引用するようモデルに求めるため、通常は出力にそうした引用が含まれます — ただし、モデルがその形式に厳密に従うとは限りません。

エラー

エンベロープは呼び出したエンドポイントによって異なります — リレーは呼び出し元の SDK に一致するプロトコルでエラーを返し、アップストリームのエラーはそのまま透過されます。

OpenAI パス/v1/chat/completions/v1/responses/v1/models)— OpenAI エンベロープ:

{ "error": { "message": "...", "type": "...", "code": "..." } }

Anthropic パス/v1/messages/v1/messages/count_tokens)— Anthropic エンベロープ:

{ "type": "error", "error": { "type": "...", "message": "..." } }

Anthropic エンベロープは異なる形式を使います — code フィールドはなく、判別子の type: "error" がトップレベルにあります(内側の error.type がカテゴリを示します。例: authentication_errorinvalid_request_errorpermission_errorapi_error)。Anthropic の SDK はすでにこの形式をパースしますが、素の OpenAI SDK のエラーハンドラーはパースしません。そのため /v1/messages は Anthropic の SDK で呼び出してください(または生の HTTP を使ってください)。

ステータスコードは、両プロトコルで標準的な HTTP のものです:

ステータスOpenAI code / Anthropic error.type意味
401invalid_api_key / authentication_errorsk-cf-... キーが欠落しているか不明です。
402insufficient_balance / permission_errorアカウント残高がマイナスです。コンソールの請求タブでチャージしてください。
403key_revoked / permission_errorキーが失効されています。
403account_closed / permission_errorこのアカウントでは API アクセスが有効になっていません。2026 年 6 月 8 日のサービス終了後のサインアップには API サービスは含まれません。
400model_not_available / invalid_request_error送信した model が検証済みカタログにないか、エンドポイントに対して不適切です(例: /v1/messages に OpenAI モデル)— 利用可能なモデルを確認してください。
400unsupported_background_mode / —/v1/responsesbackground: true — リレーは同期実行のみを行います。 OpenAI 封筒のみ。
429rate_limit_exceeded / rate_limit_error共有 upstream 容量が一時的に制限されています。retry-after があれば従い、指数バックオフと jitter を使って再試行してください。
503現在、リクエストに対応できるアップストリームアカウントがありません — 通常は一時的なプール全体のレート制限の時間帯です。少し待ってから再試行してください。
503search_unavailable / api_error:online を使用しましたが、このリレーでは Web 検索が設定されていません。Web 検索を参照してください。
502upstream_unreachable / api_errorリレーがバックエンドに到達できませんでした。短いバックオフの後に再試行してください。
500server_error / api_errorupstream への接続前後にリレーが失敗しました。安全に繰り返せる場合のみ再試行し、それ以外は先に使用履歴を確認してください。

再試行と信頼性

再試行回数には上限を設けてください。リレーは共有 upstream 容量を利用し、生成リクエストは冪等ではありません。

料金と請求

従量課金で、トークンごとにマイクロドル単位(1 マイクロ = $0.000001 = 1 セントの 1/10,000)で課金されるため、1 セント未満のリクエストも正確に記録されます。単価は 1M トークンあたり、ティア別です — 各モデルがどのティアにマッピングされるかはモデル表を参照してください。

ティアモデル入力 / 1M出力 / 1M
Mini gpt-5.4-mini, claude-haiku-4-5-20251001 $0.20$1.60
Luna gpt-5.6-luna $0.30$2.40
Standardgpt-5.4, gpt-5.4-2026-03-05, gpt-5.6-terra, claude-sonnet-4-5-20250929, claude-sonnet-4-6$0.75$6.00
Premium gpt-5.5, gpt-5.6-sol $1.10$8.80
Sonnet 5 Introclaude-sonnet-5 $2.00$10.00
Ultra claude-opus-4-5-20251101, claude-opus-4-6, claude-opus-4-7, claude-opus-4-8$5.00$25.00
Fable claude-fable-5 $10.00$50.00

Fable と Ultra の料金は、Anthropic の公表されている定価と一致します。 Sonnet 5 は、2026 年 8 月 31 日まで Anthropic の導入価格 $2/$10 を使用します。その日以降の公開標準価格は $3/$15 です。他の階層は、プールされたサブスクリプション支援のおかげで、アップストリーム料金よりも低くなります。

推論トークン (OpenAI に reasoning_effort を設定した場合、または Anthropic のネイティブ thinking フィールドを Claude に設定した場合) は、モデルの層レートで output トークンとしてカウントされます。高い労力に対して別途追加料金は発生しませんが、深く考えたリクエストは簡単に 10 ~ 50 倍の出力を生成できます。何も努力をしないトークンよりもトークンの方が良いので、ドル紙幣もそれに応じて比例します。

Anthropic のプロンプトキャッシュは別個の項目として課金されます: キャッシュ書き込みはティアの入力単価の 1.25×キャッシュ読み込み0.10× です。したがって haiku-4.5 のキャッシュヒットは 0.20 × 0.10 = $0.02 per 1M tokens、sonnet-4.5 のキャッシュヒットは 0.75 × 0.10 = $0.075 per 1M tokens となります。キャッシュトークンはリクエストごとの課金記録に明細として記録され、コンソールで内訳を確認できます。

残高は各リクエストの返却時にリアルタイムで差し引かれます — ストリーミングリクエストの場合、清算は [DONE] チャンクが届いた後に実行されます。ライブの残高とリクエストごとの清算は /console#billing で確認できます。

チャージ コンソールは Stripe Checkout に対応しています — カード、Link、Alipay、WeChat Pay に対応しています。クレジットは期限切れになりません。

レート制限

現時点ではキーごとのレート制限はありません。共有アップストリーム容量とプロバイダー側のスロットリングは引き続き適用されます。これらに達した場合、リレーは retry-after ヘッダー付きで 429 を返します。キーごとの RPM / TPM 制限は導入予定です。

稼働状況とサポート

ドキュメント最終確認日:2026 年 7 月 14 日。