チャットを作成
BazaarLinkは標準化されたレスポンスを返し、上流固有のフィールドを削除します。usage.costはこのリクエストでお客様に請求された米ドル額です。 レスポンスのidまたはx-request-idヘッダーの不透明なBazaarLinkリクエストIDでGET /v1/generationを呼び出します。非ストリーミングではx-generation-idにも同じIDが返ります。統計は完了後数秒かかる場合があり、404は短時間再試行してください。 長時間の非ストリーミングChat、Messages、Responsesリクエスト(約12秒以上)では、JSON本文の前に空白のkeep-aliveパディングが付く場合があります。標準JSONパーサーは先頭空白を処理できます。 Audio chat はこのエンドポイントを使います。音声出力は modalities:["text","audio"] と audio:{voice,format} で要求します。GET /v1/models?output_modalities=audio は音声出力できるモデルだけを絞り込み、音声入力に対応する全モデルを含むわけではありません。音声を入力してテキストを返すモデルは text 一覧に残ります。能力表示だけでは利用可能なルートがあることは保証されないため、公開一覧のモデルと対応パラメーターを選んでください。音声のみの出力、TTS、STT、その他のトークン課金ではない生成方式はこの取り決めの対象外です。
/v1/chat/completions認証
Authorization必須Authorization ヘッダーに Bearer トークンとして API キーを渡します。
Body
model必須使用するモデル。プロバイダー修飾形式、例:"openai/gpt-4o"。 GET /v1/modelsには"claude-sonnet-4.6"などのidと"anthropic/claude-sonnet-4.6"などのcanonical aliasが掲載されます。リクエストはどちらの形式も受け付けます。
"openai/gpt-4o"messages必須会話メッセージの配列、最低1件。各メッセージにはrole(system/user/assistant/tool)とcontentがあります。
content音声入力は messages[].content[] に入れます:{"type":"input_audio","input_audio":{"data":"<raw base64>","format":"wav"}}。data には data URI ではなく生の base64 を使い、対応形式はモデルによって異なります。トップレベルの input_audio は使わないでください。専用の検証とクレジット予約の取り決めがありません。
[{"type":"input_audio","input_audio":{"data":"<raw base64>","format":"wav"}}]modelsフォールバックモデルリスト——順番に試行され、主モデルの候補グループがすべて失敗した場合にのみ使用されます。
streamtrueの場合はSSEでレスポンスをストリーミング。省略またはfalseの場合は単一のJSONレスポンスを返します。 音声ストリームは choices[].delta.audio に data(base64 音声)と transcript の断片を返し、非ストリーミングでは choices[].message.audio で返します。モデルが id や expires_at を返すこともあります。断片をつなげて audio.format に従ってデコードしてください。ストリーミングの形式はモデルによって異なります。
temperatureサンプリング温度。高いほどランダム、低いほど決定的です。サンプリング値は範囲検証なしで転送され、モデルが対応範囲外の値を丸めるか無視する場合があります。
max_tokensレスポンスが生成できる最大トークン数。
max_completion_tokensmax_tokensのエイリアスで、意味は同じです。
top_p核サンプリング(nucleus sampling)のしきい値。
top_kサンプリングを確率上位K個のトークンに限定します。
frequency_penalty既に出現した頻度に基づいてトークンを罰します。
presence_penalty出現回数に関わらず、既に出現したかどうかに基づいてトークンを罰します。
repetition_penalty繰り返しトークンのペナルティ係数——frequency/presence penaltyとは別の仕組みです。
min_p最も可能性の高いトークンに対する最小確率しきい値。
top_aもう一つの動的カットオフサンプリング機構で、最高確率の二乗によってしきい値をスケーリングします。
seed決定論的サンプリングシード。すべてのプロバイダーが再現性を保証するわけではありません。
n生成する応答の数。
stop生成を停止する文字列、最大4個。
toolsモデルが呼び出せるツール/関数定義のリスト。
tool_choiceモデルがツールを呼び出すかどうか/どのように強制されるかを制御します。
parallel_tool_callstoolsが提供されている場合に並列ツール呼び出しを許可するかどうか。デフォルトはtrue。 OpenAI系モデルのみ対応——対象モデルがOpenAI自身のものでない場合、このフィールドは静かに除去されます(エラーにはなりません)。
response_format出力形式を制限します。例:{type:"json_object"} またはJSON Schemaを含む{type:"json_schema"}。
logit_biasトークンIDを、サンプリング前に加算される[-100, 100]のバイアス値にマッピングします。 OpenAI系モデルのみ対応——対象モデルがOpenAI自身のものでない場合、このフィールドは静かに除去されます(エラーにはなりません)。
logprobs各出力トークンの対数確率を返します。 OpenAI系モデルのみ対応——対象モデルがOpenAI自身のものでない場合、このフィールドは静かに除去されます(エラーにはなりません)。
top_logprobs各位置で返す最も可能性の高いトークン数(logprobs: trueが必要)。 OpenAI系モデルのみ対応——対象モデルがOpenAI自身のものでない場合、このフィールドは静かに除去されます(エラーにはなりません)。
userモニタリングと不正検出用のエンドユーザー識別子。課金には影響なし。 OpenAI系モデルのみ対応——対象モデルがOpenAI自身のものでない場合、このフィールドは静かに除去されます(エラーにはなりません)。
reasoning推論モデルの思考制御オブジェクト(例:{effort, max_tokens})。
reasoning_effortreasoning.effortの簡略形式フィールド。
lowmediumhighinclude_reasoningtrue にすると message.reasoning(ストリーミングでは delta.reasoning)に思考内容を返し、false にすると、デフォルトで思考するモデルの思考をオフにします(推論のセクション参照)。そのため思考は課金されません。reasoning_effort、reasoning、thinking のいずれも送らない場合、デフォルトで思考して返すのはそれらのモデルだけで、ほかのモデルは求めたときだけ返します。
image_config画像生成/編集オプション(modalitiesにimageが含まれる場合に使用)。
modalities要求される出力モダリティ。imageを含む場合、画像生成ディスパッチパスを通ります。 Audio chat は ["text","audio"] と audio オブジェクトを併用し、テキストと音声の両方を出力できるモデルが必要です。
textimageaudio["text","audio"]audio音声出力のオプション。modalities:["text","audio"] と併用します。対応する voice と format はモデルによって異なります。
{"voice":"alloy","format":"wav"}voiceモデルが対応する声。例:alloy。
"alloy"formatモデルが対応する出力形式。例:wav。ストリーミングでは pcm16 がよく使われますが、モデルの対応状況を確認してください。
"wav"pluginsプラグイン配列(例:{id:"web"}でウェブ検索を有効化)。一部のモデルルートのみ対応し、それ以外では効果がありません。:online は対応ルートでウェブ検索を有効にします。plugins、:online、web_search_options による検索ではアップストリームの追加料金が発生することがあり、リクエストで使うキー(BazaarLink のプラットフォームキーまたはお客様の BYOK キー)に請求されます。