テーマ
言語

Chat Completions

/v1/chat/completions — OpenAI 互換のチャットエンドポイントです。パラメータは model、messages、stream、temperature。SSE ストリーミングに対応しています。リクエストとレスポンスの例は curl、Python(openai)、Node で記載しています。

OpenAI 互換のチャットエンドポイント。どの OpenAI SDK でも動作します — base_url を https://getvibeapi.com/v1 に変更するだけです。

POSThttps://getvibeapi.com/v1/chat/completions

リクエストボディのパラメータ

GetVibe は互換性のある Chat Completions コントラクトを実装しており、バイト単位のパススルーではありません。アクセスを確認し、公開モデル id を解決し、制限を適用し、対応するリクエストフィールドを正規化する場合があります。レスポンスとエラーも正規化され、アップストリーム固有のフィールドやヘッダーは保証されません。ほとんどのタスクでは、最初の 3 つ — model、messages、stream — で十分です。

Basic — すべてのモデルで動作します
パラメータータイプ説明
modelreq.stringカタログのモデル名(例:gpt-6.1-sol または claude-opus-5.5)です。
messagesreq.arrayメッセージの配列 { role, content }。ロール: system、user、assistant。
streambooleantrue — SSEで応答をストリーミングします。
max_tokensintegerレスポンスの最大トークン数。少なくとも 64 を推奨します。値が小さすぎると (たとえば ≤ 16)、最初の可視トークンの前にモデルが上限 (finish_reason: length) に達し、空のレスポンスが返されることがあります。短い結果が必要な場合はプロンプトでそれを求め、max_tokens には余裕を持たせてください。
temperaturenumber出力のランダム性、0〜2。デフォルトは 1。
詳細 — 対応状況はモデルによって異なります
パラメータータイプ説明
top_pnumbermodel-dependentNucleus サンプリング(0~1)。temperature の代替です。両方を同時に変更することはおすすめしません。
top_knumberClaudeTop-Kサンプリング。Anthropicモデルのみ。
seedintegerGPT再現性のために結果を固定します。GPTシリーズ用。それ以外では無視されます。
stopstring | arraymodel-dependent停止シーケンス: 1 つの文字列、または最大 4 つの文字列のリスト。
frequency_penaltynumberGPT · Claudeトークンの頻度に基づく繰り返しペナルティ (-2〜2)。
presence_penaltynumberGPT · Claude既出トークンに対するペナルティ (-2〜2)。
logprobsboolean—現在、対数確率を返すルートはありません。このパラメーターは転送前に削除され、x-getvibe-warningsヘッダー(param_dropped:logprobs)で報告されます。リクエスト自体は拒否されません。
top_logprobsinteger—logprobsとともに削除され、x-getvibe-warningsで報告されます。
logit_biasobjectGPTトークンID → ロジットバイアス(-100~100)。
userstringmodel-dependentエンドユーザー識別子 (レート制限の追跡のために上流へ渡されます)。
response_formatobjectGPT · Claude出力をJSONに強制します。詳細を見る →
tools / tool_choicearray / stringGPT · Claude関数呼び出し。詳細を見る →

「Support」列のバッジ: GPT — GPTシリーズのみ、Claude — Anthropicのモデルのみ、GPT · Claude — 両ファミリー、model-dependent — そのモデルのドキュメントを確認してください。

ルートバリアントごとのパラメーター対応

同じモデルを異なるルート(バリアント :1、:2、…)で提供できます。ルートは価格、速度、対応するパラメータのセットが異なります。

ルートバリアントの比較
パラメータータイプ説明
Default variant (:1)basicOpenAIパラメーターの完全セット: temperature、top_p、seed、stop、penalties、logprobs、tools、response_format、usageチャンク付きストリーミング。
Subscription variants (:2, :3…)advancedパラメーターのセットは基本のものと一致しますが、ルートは異なるインフラストラクチャを使用します。個々のパラメーターがサポートされない場合があります。その点はバリアントの説明に記載しています。
or-* variantsor-*リクエストを別のアグリゲーター経由でプロキシします。パラメータのサポートは特定のプロバイダーによって異なります。tool_choice: "required" や一部のサンプリングパラメータは動作しない場合があります。
不明なパラメータはプロバイダーによって無視されるか、400 を返します。パラメータが重要な場合は、:1(デフォルト)のバリアントを使用するか、Models ページのバリアント説明でサポートを確認してください。

リクエスト例

curl https://getvibeapi.com/v1/chat/completions \
  -H "Authorization: Bearer $GETVIBE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6.1-sol",
    "messages": [
      {"role": "user", "content": "Hello! Who are you?"}
    ]
  }'

レスポンス例

{
  "id": "chatcmpl-...",
  "object": "chat.completion",
  "model": "gpt-6.1-sol",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hi! I'm an assistant available through GetVibe API."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 12,
    "completion_tokens": 14,
    "total_tokens": 26
  }
}

ストリーミング(SSE)

"stream": true を指定すると、応答は Server-Sent Events のストリームとして返ります。デルタを含む data: … イベントが続き、最後に data: [DONE] で終わります。

curl https://getvibeapi.com/v1/chat/completions \
  -H "Authorization: Bearer $GETVIBE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-6.1-sol",
    "stream": true,
    "messages": [{"role": "user", "content": "Count to three"}]
  }'

usage を含む最終チャンク

data: [DONE] の前の最後のチャンクは空の choices: [] と、トークン統計を含む usage フィールドを持ちます。課金にはこれを使用してください。差分を手作業で合計しないでください。

data: {"id":"chatcmpl-...","choices":[],"usage":{"prompt_tokens":42,"completion_tokens":87,"total_tokens":129},"model":"gpt-6.1-sol","object":"chat.completion.chunk"}

data: [DONE]

コストを見積もることができるすべての非ストリームレスポンスには、x-pv-cost-rubレスポンスヘッダーが含まれます。ストリーミングボディにはデフォルトでpv_cost_rubが含まれません。そのプロトコルの最終 usage イベントにコストを追加するにはx-pv-cost: 1を送信してください。これはベストエフォートの推定値です。実際の引き落としについては、リクエスト履歴GET /v1/generationsをご覧ください。

互換性

このエンドポイントは OpenAI SDK(Python、Node など)、Codex CLI、Claude Code と互換性があります。Claude Code は x-api-key ヘッダーを付けて /v1/messages 経由で動作します。詳しくは Messages と Responses を参照してください。

Chat Completions API GetVibe — Pythonとcurlの例 | GetVibe API