API Hop

ドキュメント

API Hop ドキュメント

Claude Messages

ネイティブな Claude Messages 互換 API です。ツール呼び出しと Anthropic SSE イベントを含め、Anthropic Messages のリクエスト・レスポンス構造を使用します。

POSThttps://api.apihop.ai/anthropic/v1/messages

ネイティブな Claude Messages 互換 API です。ツール呼び出しと Anthropic SSE イベントを含め、Anthropic Messages のリクエスト・レスポンス構造を使用します。

Claude Sonnet 4.6(claude-sonnet-4-6)は上流の供給元では対応していますが、現在 RequestBeam では公開されていません。現時点の連携における既定モデルではありません。モデルを呼び出す前に、自分の API キーによる GET https://api.apihop.ai/v1/models のレスポンスでアクセス権を確認してください。

text
POST https://api.apihop.ai/anthropic/v1/messages

認証

すべてのリクエストに RequestBeam API キーが必要です。Anthropic SDK、Claude Code、互換クライアントでは通常 x-api-key を使用します。通常の HTTP クライアントでは Bearer Token 認証も使用できます。

http
x-api-key: YOUR_REQUESTBEAM_API_KEY
anthropic-version: 2023-06-01
http
Authorization: Bearer YOUR_REQUESTBEAM_API_KEY
anthropic-version: 2023-06-01

リクエストボディ

modelstring必須既定値: claude-sonnet-5-5

対応する Claude モデル ID です。

  • claude-fable-5
  • claude-fable-5-1
  • claude-opus-4-6
  • claude-opus-4-7
  • claude-opus-4-8
  • claude-opus-5
  • claude-opus-5-5
  • claude-sonnet-5
  • claude-sonnet-5-5

自分の API キーで現在利用できるモデルは GET https://api.apihop.ai/v1/models で確認してください。

max_tokensinteger必須

最大出力トークン数で、安全な正の整数を指定します。この予算には、思考と最終テキストの両方の出力トークンが含まれます。 値がない場合、ゼロ、負数、小数、文字列、安全な整数範囲外の値の場合は、生成や課金の前に HTTP 400 と invalid_request_error を返します。モデル側でさらに低い上限が設けられる場合があります。

思考を生成するモデルでは、128 のような小さな予算を指定すると、思考ブロックだけが生成され、テキストを出力しないまま stop_reason: "max_tokens" で終了することがあります。タスクと選択したモデルに応じて、思考と最終回答の両方を収められる予算を明示的に設定してください。 例にある値は変更可能な予算であり、上流の既定値やモデルの上限ではありません。予算を増やすと出力使用量と費用が増える場合があります。

messagesobject[]必須

会話メッセージです。各メッセージには role と content が含まれます。

role は user と assistant に対応しています。content は文字列、またはコンテンツブロックの配列です。

systemstring | object[]

システムプロンプトです。Anthropic Messages は、messages 内の system ロールではなく、最上位の system フィールドを使用します。

streamboolean既定値: false

Anthropic SSE イベントを返すかどうかを指定します。

temperaturenumber

サンプリング温度です。受け付ける値と効果は、選択したモデルによって異なります。

top_pnumber

ニュークリアスサンプリングのパラメータです。受け付けられても、生成動作が変わることは保証されません。

top_kinteger

Top-k サンプリングのパラメータです。対応状況は選択したモデルによって異なります。

stop_sequencesstring[]

停止シーケンスです。

空でない停止シーケンスを含むリクエストでは、それらに対応しないと判明しているモデルサービスを回避します。互換性のあるサービスが利用できない場合は、生成や課金の前に 400 を返します。

toolsobject[]

Anthropic のツール定義です。関数ツールには通常 name、description、input_schema が含まれます。

tool_choiceobject

ツールの選択方針です。たとえば { "type": "auto" } や { "type": "tool", "name": "..." } を指定します。

thinkingobject

Anthropic のネイティブな思考設定です。選択したモデルとプロバイダーの対応状況に従います。 Claude 4.5 では { "type": "enabled", "budget_tokens": 1024 } を使用します。Claude Sonnet/Opus 4.6 はアダプティブ思考にも対応しています。すべてのモデルバージョンに手動の予算を適用しないでください。 ツール実行後の継続では、thinking、signature、redacted_thinking、tool_use を含むアシスタントのコンテンツ全体を、順序を保って変更せずに返してください。ツールの往復を通じて、思考設定と必要な anthropic-beta ヘッダーを一貫させてください。 SSE では、同じコンテンツブロックの signature_delta.signature の断片を連結してください。思考の要約が空でも、その署名を破棄してよいわけではありません。 プロバイダーアカウントのアクセス拒否は上流の失敗であり、署名が無効である証拠ではありません。 認識された Bedrock のアカウントアクセス拒否は HTTP 502 と api_error を返します。通常のクライアント検証エラーは HTTP 400 を維持します。受け付けるには、引き続き有効な上流アカウントが必要です。

metadataobject

リクエストのメタデータです。

プロンプトキャッシュ

system またはメッセージのコンテンツブロックに cache_control: { "type": "ephemeral" } を追加してください。キャッシュ使用量には cache_creation_input_tokens、cache_read_input_tokens、および対応する 5 分または 1 時間の作成区分が含まれる場合があります。 1 時間の TTL には、対応する anthropic-beta ヘッダーも必要です。

リクエスト例

非ストリーミング

json
{
  "model": "claude-sonnet-5-5",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": "Hello, introduce yourself in one sentence."
    }
  ],
  "stream": false
}

ストリーミング

json
{
  "model": "claude-sonnet-5-5",
  "max_tokens": 1024,
  "messages": [
    {
      "role": "user",
      "content": "Reply exactly OK."
    }
  ],
  "stream": true
}

レスポンス

非ストリーミングのレスポンスは Anthropic Message の構造を維持します。

idstring

msg_... などのレスポンス ID です。

typestring

オブジェクトの種類です。通常は message です。

rolestring

通常は assistant です。

modelstring

実際に使用された Claude モデルです。

contentobject[]

ネイティブな出力コンテンツブロックです。使用される場合には text、tool_use、thinking が含まれます。

stop_reasonstring

停止理由です。end_turn、max_tokens、stop_sequence、tool_use などがあります。

usageobject

input_tokens と output_tokens を含むトークン使用量です。キャッシュトークンのフィールドは、存在する場合に含まれます。

成功時の例

json
{
  "id": "msg_01...",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-5-5",
  "content": [
    {
      "type": "text",
      "text": "Hello, I am Claude and can help with writing, coding, and analysis tasks."
    }
  ],
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 18,
    "output_tokens": 24
  }
}

ストリーミングのレスポンス

stream: true の場合、エンドポイントは Anthropic SSE イベントを返します。主なイベントには次のものがあります。

  • message_start
  • content_block_start
  • content_block_delta
  • content_block_stop
  • ping
  • message_delta
  • message_stop

エラーレスポンス

コードの一覧、プロトコルごとの違い、診断手順については、エラーコードとトラブルシューティングを参照してください。

エラーレスポンスは Anthropic 形式の構造を使用します。

json
{
  "type": "error",
  "error": {
    "type": "authentication_error",
    "message": "Invalid credentials or API key has expired."
  }
}