Chat Completions
/v1/chat/completions — OpenAI 互換のチャットエンドポイントです。パラメータは model、messages、stream、temperature。SSE ストリーミングに対応しています。リクエストとレスポンスの例は curl、Python(openai)、Node で記載しています。
OpenAI 互換のチャットエンドポイント。どの OpenAI SDK でも動作します — base_url を https://getvibeapi.com/v1 に変更するだけです。
リクエストボディのパラメータ
GetVibe は互換性のある Chat Completions コントラクトを実装しており、バイト単位のパススルーではありません。アクセスを確認し、公開モデル id を解決し、制限を適用し、対応するリクエストフィールドを正規化する場合があります。レスポンスとエラーも正規化され、アップストリーム固有のフィールドやヘッダーは保証されません。ほとんどのタスクでは、最初の 3 つ — model、messages、stream — で十分です。
| パラメーター | タイプ | 説明 |
|---|---|---|
modelreq. | string | カタログのモデル名(例:gpt-6.1-sol または claude-opus-5.5)です。 |
messagesreq. | array | メッセージの配列 { role, content }。ロール: system、user、assistant。 |
stream | boolean | true — SSEで応答をストリーミングします。 |
max_tokens | integer | レスポンスの最大トークン数。少なくとも 64 を推奨します。値が小さすぎると (たとえば ≤ 16)、最初の可視トークンの前にモデルが上限 (finish_reason: length) に達し、空のレスポンスが返されることがあります。短い結果が必要な場合はプロンプトでそれを求め、max_tokens には余裕を持たせてください。 |
temperature | number | 出力のランダム性、0〜2。デフォルトは 1。 |
| パラメーター | タイプ | 説明 |
|---|---|---|
top_p | numbermodel-dependent | Nucleus サンプリング(0~1)。temperature の代替です。両方を同時に変更することはおすすめしません。 |
top_k | numberClaude | Top-Kサンプリング。Anthropicモデルのみ。 |
seed | integerGPT | 再現性のために結果を固定します。GPTシリーズ用。それ以外では無視されます。 |
stop | string | arraymodel-dependent | 停止シーケンス: 1 つの文字列、または最大 4 つの文字列のリスト。 |
frequency_penalty | numberGPT · Claude | トークンの頻度に基づく繰り返しペナルティ (-2〜2)。 |
presence_penalty | numberGPT · Claude | 既出トークンに対するペナルティ (-2〜2)。 |
logprobs | boolean— | 現在、対数確率を返すルートはありません。このパラメーターは転送前に削除され、x-getvibe-warningsヘッダー(param_dropped:logprobs)で報告されます。リクエスト自体は拒否されません。 |
top_logprobs | integer— | logprobsとともに削除され、x-getvibe-warningsで報告されます。 |
logit_bias | objectGPT | トークンID → ロジットバイアス(-100~100)。 |
user | stringmodel-dependent | エンドユーザー識別子 (レート制限の追跡のために上流へ渡されます)。 |
response_format | objectGPT · Claude | 出力をJSONに強制します。詳細を見る → |
tools / tool_choice | array / stringGPT · Claude | 関数呼び出し。詳細を見る → |
「Support」列のバッジ: GPT — GPTシリーズのみ、Claude — Anthropicのモデルのみ、GPT · Claude — 両ファミリー、model-dependent — そのモデルのドキュメントを確認してください。
ルートバリアントごとのパラメーター対応
同じモデルを異なるルート(バリアント :1、:2、…)で提供できます。ルートは価格、速度、対応するパラメータのセットが異なります。
| パラメーター | タイプ | 説明 |
|---|---|---|
Default variant (:1) | basic | OpenAIパラメーターの完全セット: temperature、top_p、seed、stop、penalties、logprobs、tools、response_format、usageチャンク付きストリーミング。 |
Subscription variants (:2, :3…) | advanced | パラメーターのセットは基本のものと一致しますが、ルートは異なるインフラストラクチャを使用します。個々のパラメーターがサポートされない場合があります。その点はバリアントの説明に記載しています。 |
or-* variants | or-* | リクエストを別のアグリゲーター経由でプロキシします。パラメータのサポートは特定のプロバイダーによって異なります。tool_choice: "required" や一部のサンプリングパラメータは動作しない場合があります。 |
: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 を参照してください。