BazaarLinkBazaarLink
ログイン
ドキュメントAPIリファレンスSDKリファレンスエージェント利用AIスキル
チャット

チャットを作成

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、その他のトークン課金ではない生成方式はこの取り決めの対象外です。

POST/v1/chat/completions

認証

Authorization必須
string · header

Authorization ヘッダーに Bearer トークンとして API キーを渡します。

Body

model必須
string

使用するモデル。プロバイダー修飾形式、例:"openai/gpt-4o"。 GET /v1/modelsには"claude-sonnet-4.6"などのidと"anthropic/claude-sonnet-4.6"などのcanonical aliasが掲載されます。リクエストはどちらの形式も受け付けます。

minLength: 1
Example: "openai/gpt-4o"
messages必須
Message[]

会話メッセージの配列、最低1件。各メッセージにはrole(system/user/assistant/tool)とcontentがあります。

minLength: 1
content
string | ContentPart[]

音声入力は messages[].content[] に入れます:{"type":"input_audio","input_audio":{"data":"<raw base64>","format":"wav"}}。data には data URI ではなく生の base64 を使い、対応形式はモデルによって異なります。トップレベルの input_audio は使わないでください。専用の検証とクレジット予約の取り決めがありません。

Example: [{"type":"input_audio","input_audio":{"data":"<raw base64>","format":"wav"}}]
models
string[]

フォールバックモデルリスト——順番に試行され、主モデルの候補グループがすべて失敗した場合にのみ使用されます。

stream
boolean

trueの場合はSSEでレスポンスをストリーミング。省略またはfalseの場合は単一のJSONレスポンスを返します。 音声ストリームは choices[].delta.audio に data(base64 音声)と transcript の断片を返し、非ストリーミングでは choices[].message.audio で返します。モデルが id や expires_at を返すこともあります。断片をつなげて audio.format に従ってデコードしてください。ストリーミングの形式はモデルによって異なります。

temperature
number

サンプリング温度。高いほどランダム、低いほど決定的です。サンプリング値は範囲検証なしで転送され、モデルが対応範囲外の値を丸めるか無視する場合があります。

max_tokens
integer

レスポンスが生成できる最大トークン数。

max_completion_tokens
integer

max_tokensのエイリアスで、意味は同じです。

top_p
number

核サンプリング(nucleus sampling)のしきい値。

top_k
integer

サンプリングを確率上位K個のトークンに限定します。

frequency_penalty
number

既に出現した頻度に基づいてトークンを罰します。

presence_penalty
number

出現回数に関わらず、既に出現したかどうかに基づいてトークンを罰します。

repetition_penalty
number

繰り返しトークンのペナルティ係数——frequency/presence penaltyとは別の仕組みです。

min_p
number

最も可能性の高いトークンに対する最小確率しきい値。

top_a
number

もう一つの動的カットオフサンプリング機構で、最高確率の二乗によってしきい値をスケーリングします。

seed
integer

決定論的サンプリングシード。すべてのプロバイダーが再現性を保証するわけではありません。

n
integer

生成する応答の数。

stop
string | string[]

生成を停止する文字列、最大4個。

tools
Tool[]

モデルが呼び出せるツール/関数定義のリスト。

tool_choice
string | object

モデルがツールを呼び出すかどうか/どのように強制されるかを制御します。

parallel_tool_calls
boolean

toolsが提供されている場合に並列ツール呼び出しを許可するかどうか。デフォルトはtrue。 OpenAI系モデルのみ対応——対象モデルがOpenAI自身のものでない場合、このフィールドは静かに除去されます(エラーにはなりません)。

response_format
object

出力形式を制限します。例:{type:"json_object"} またはJSON Schemaを含む{type:"json_schema"}。

logit_bias
object

トークンIDを、サンプリング前に加算される[-100, 100]のバイアス値にマッピングします。 OpenAI系モデルのみ対応——対象モデルがOpenAI自身のものでない場合、このフィールドは静かに除去されます(エラーにはなりません)。

logprobs
boolean

各出力トークンの対数確率を返します。 OpenAI系モデルのみ対応——対象モデルがOpenAI自身のものでない場合、このフィールドは静かに除去されます(エラーにはなりません)。

top_logprobs
integer

各位置で返す最も可能性の高いトークン数(logprobs: trueが必要)。 OpenAI系モデルのみ対応——対象モデルがOpenAI自身のものでない場合、このフィールドは静かに除去されます(エラーにはなりません)。

0–20
user
string

モニタリングと不正検出用のエンドユーザー識別子。課金には影響なし。 OpenAI系モデルのみ対応——対象モデルがOpenAI自身のものでない場合、このフィールドは静かに除去されます(エラーにはなりません)。

reasoning
object

推論モデルの思考制御オブジェクト(例:{effort, max_tokens})。

reasoning_effort
string

reasoning.effortの簡略形式フィールド。

lowmediumhigh
include_reasoning
boolean

true にすると message.reasoning(ストリーミングでは delta.reasoning)に思考内容を返し、false にすると、デフォルトで思考するモデルの思考をオフにします(推論のセクション参照)。そのため思考は課金されません。reasoning_effort、reasoning、thinking のいずれも送らない場合、デフォルトで思考して返すのはそれらのモデルだけで、ほかのモデルは求めたときだけ返します。

image_config
object

画像生成/編集オプション(modalitiesにimageが含まれる場合に使用)。

modalities
string[]

要求される出力モダリティ。imageを含む場合、画像生成ディスパッチパスを通ります。 Audio chat は ["text","audio"] と audio オブジェクトを併用し、テキストと音声の両方を出力できるモデルが必要です。

textimageaudio
Example: ["text","audio"]
audio
object

音声出力のオプション。modalities:["text","audio"] と併用します。対応する voice と format はモデルによって異なります。

Example: {"voice":"alloy","format":"wav"}
voice
string

モデルが対応する声。例:alloy。

Example: "alloy"
format
string

モデルが対応する出力形式。例:wav。ストリーミングでは pcm16 がよく使われますが、モデルの対応状況を確認してください。

Example: "wav"
plugins
object[]

プラグイン配列(例:{id:"web"}でウェブ検索を有効化)。一部のモデルルートのみ対応し、それ以外では効果がありません。:online は対応ルートでウェブ検索を有効にします。plugins、:online、web_search_options による検索ではアップストリームの追加料金が発生することがあり、リクエストで使うキー(BazaarLink のプラットフォームキーまたはお客様の BYOK キー)に請求されます。

POST /v1/chat/completions
curl https://api.bazaarlink.ai/v1/chat/completions \
  -H "Authorization: Bearer $BAZAARLINK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o",
    "messages": [{"role": "user", "content": "Explain quantum computing in one paragraph."}]
  }'
レスポンス例

成功。BazaarLinkは、独自に発行したレスポンスID、model、choices、usageなど、公開レスポンスの許可リストにあるフィールドだけを返します。modelフィールドはBazaarLinkの公開ルールに従います。エイリアス解決後も指定した名前が表示される場合があり、自動ルーティングされたリクエストでは実際に処理したモデルが表示されます。providerフィールドとその他のアップストリーム専用メタデータは削除されます。usage.costは常にBazaarLink自身が確定した金額です。

{
  "id": "85e6f35c71a31f19-SJC",
  "object": "chat.completion",
  "created": 1740000000,
  "model": "openai/gpt-4o",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Quantum computing leverages quantum mechanics..."
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 28,
    "completion_tokens": 74,
    "total_tokens": 102,
    "cost": 0.000648
  }
}
サポート
サポート
こんにちは。どのようなご用件でしょうか?
メッセージをお送りください。担当者より返信します。
チャットを作成 — BazaarLink API