ナビゲーションにスキップ

Text API

Text API

BeatAPI は、公開テキストモデルを同期型のトークン課金 API として提供します。1 つの BeatAPI キーを使い、アプリケーションに合う通信形式を選んでください。

形式エンドポイント適した用途
OpenAI ResponsesPOST /v1/responses推論、ツール、構造化出力、新規連携
OpenAI Chat CompletionsPOST /v1/chat/completions既存の OpenAI チャット連携
Anthropic MessagesPOST /v1/messages既存の Messages SDK 連携
Gemini 互換POST /v1beta/models/{model}:{action}既存の Gemini SDK 連携

GET /v1/models で、利用環境で有効なモデルを取得できます。テキスト呼び出しは JSON を直接返すか、Server-Sent Events でストリーミングします。非同期の BeatAPI Task は作成しません。

長期利用する BeatAPI API キーは信頼できるサーバーに保存してください。認証ヘッダーの違いは SDK 互換性のためであり、すべて同じ BeatAPI アカウントと米ドル残高を識別します。

エラー

テキストエンドポイントは SDK 本来のエラー形式を維持するため、OpenAI と Anthropic の SDK は通常の例外を送出します。/v1/chat/completions、/v1/responses、GET /v1/models は {"error":{"message","type","code"}} 形式です。コードは error.code、error.type は beatapi_error で、メッセージ末尾にリクエスト ID が付きます。/v1/messages は {"type":"error","error":{"type","message"}} 形式で、コードは error.type に入ります。retryable と request_id フィールドはありません。ステータス、コード、英語のメッセージは、ほかの BeatAPI エンドポイントと共通です。

HTTPコード対処
400bad_request指摘された項目を修正。変更せず再送しない
400content_policy_violation審査で拒否された入力を変更
401missing_api_key / invalid_api_keyキーを送信、または不正、期限切れ、無効、上限到達のキーを交換
402insufficient_credits残高不足。チャージする
403forbidden / access_deniedforbidden は無料クレジットのみの場合など、キーやアカウントがモデルを利用できない。access_denied は IP 許可リスト対象外、またはキーのモデルグループ対象外
404not_found不明なモデル、または料金未設定のモデル。GET /v1/models で有効なモデルを取得
413read_request_body_failed本文が大きすぎる。小さくする
429rate_limit_exceeded上限到達、またはモデルの処理容量超過(“This model is receiving too many requests”)。Retry-After 秒待って再試行
500internal_errorバックオフして 1 回再試行
503processing_unavailable / processing_timeout / processing_failedバックオフして再試行、または別モデルを使う。課金なし

再試行は 429、500、503 に限定してください。BeatAPI は 502 と 504 を返しません。コード一覧と再試行方針はエラーに掲載しています。