テキスト

チャット補完の作成

チャットメッセージの補完を作成します

POST
/v1/chat/completions

リクエストボディ

任意パラメーターの対応状況、指定可能な値、既定値は選択したモデルによって異なります。サンプリング、推論、ツールのオプションを設定する前にモデルの詳細を確認してください。

modelstring必須

使用するモデルのID。利用可能なオプションについては Models を参照してください。

messagesarray必須

会話を構成するメッセージの一覧。

各メッセージオブジェクトは次を含みます:

  • role (string): system, developer, user, assistant, tool, function
  • content (string | array | null): メッセージの内容

tool_calls を含む assistant メッセージでは、content を省略するか null にできます。

content が配列の場合、TokenLab は互換モデル向けに構造化されたマルチモーダルブロックをサポートします:

  • text: { "type": "text", "text": "..." }
  • 画像: { "type": "image_url", "image_url": { "url": "https://..." } }
  • 動画: { "type": "video_url", "video_url": { "url": "https://..." } }
  • 音声: { "type": "audio_url", "audio_url": { "url": "https://..." } }

マルチモーダル入力には公開アクセス可能な https URL を使用してください。対応するメディアの種類は選択したモデルによって異なります。

temperaturenumber

サンプリング温度。対応状況、指定可能な値、既定値は選択したモデルによって異なります。省略するとモデルの既定値を使用します。

max_tokensinteger

生成する最大トークン数。

streambooleanデフォルト: false

true の場合、部分的なメッセージ差分が SSE イベントとして送信されます。

stream_optionsobject

ストリーミングのオプション。include_usage: true を設定するとストリームチャンクでトークン使用量を受け取れます。

top_pnumber

Nucleus sampling のパラメータ。temperature または top_p のどちらかを変更することを推奨します(両方は推奨されません)。

frequency_penaltynumber

-2.0 から 2.0 の値。正の値は繰り返しトークンにペナルティを与えます。

presence_penaltynumber

-2.0 から 2.0 の値。正の値は既にテキスト内に存在するトークンにペナルティを与えます。

stopstring | array

停止シーケンス、またはそのリスト。対応状況とシーケンス数の上限は選択したモデルによって異なります。

toolsarray

モデルが呼び出す可能性のあるツールの一覧(関数呼び出し)。

tool_choicestring | object

モデルがツールをどのように使用するかを制御します。オプション: auto, none, required, または特定のツールオブジェクト。

parallel_tool_callsboolean

選択したモデルが対応している場合、アシスタントの1ターンで複数のツール呼び出しを許可します。

max_completion_tokensinteger

補完に使用される最大トークン数。max_tokens の代替で、新しい推論対応モデルファミリーに有用です。

reasoning_effortstring

対応モデルの推論強度。指定可能な値は選択したモデルによって異なります。

seedinteger

対応モデルのサンプリング用シード。同一の出力は保証されません。

ninteger

生成する補完の数 (1-128)。

logprobsboolean

ログ確率を返すかどうか。

top_logprobsinteger

返す上位ログ確率の数 (0-20)。logprobs: true が必要です。

top_kinteger

対応モデル向けの Top-K サンプリングパラメーター。

response_formatobject

レスポンス形式。JSON モードには {"type": "json_object"}、JSON Schema には {"type": "json_schema", "json_schema": {...}} を使用します。対応状況は選択したモデルによって異なります。

logit_biasobject

指定したトークンが出現する可能性を変更します。トークンID(文字列)を -100 から 100 のバイアス値にマップしてください。

userstring

悪用監視のためにエンドユーザーを一意に識別する識別子。

レスポンス

idstring

補完の一意の識別子。

objectstring

常に chat.completion。

createdinteger

補完が作成された Unix タイムスタンプ。

modelstring

補完に使用されたモデル。

choicesarray

補完の選択肢の一覧。

各選択肢は次を含みます:

  • index (integer): 選択肢のインデックス
  • message (object): 生成されたメッセージ
  • finish_reason (string): モデルが停止した理由。例:stop、length、tool_calls
usageobject

トークン使用状況の統計。

  • prompt_tokens (integer): プロンプト内のトークン数
  • completion_tokens (integer): 補完内のトークン数
  • total_tokens (integer): 使用された合計トークン数

リクエスト

curl -X POST "https://api.tokenlab.sh/v1/chat/completions" \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5.6-terra",
    "messages": [
      {"role": "system", "content": "You are a helpful assistant."},
      {"role": "user", "content": "Hello!"}
    ],
    "max_tokens": 1000
  }'

マルチモーダルの例

{
  "model": "gemini-2.5-pro",
  "messages": [
    {
      "role": "user",
      "content": [
        { "type": "text", "text": "Describe this video briefly." },
        { "type": "video_url", "video_url": { "url": "https://example.com/demo.mp4" } }
      ]
    }
  ],
  "max_tokens": 64
}

レスポンス

Response
{
  "id": "chatcmpl-abc123",
  "object": "chat.completion",
  "created": 1706000000,
  "model": "gpt-5.6-terra",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help you today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 20,
    "completion_tokens": 9,
    "total_tokens": 29
  }
}

認証

BearerAuth
AuthorizationBearer <token>

APIキー認証。Dashboard > API > API KeysでAPIキーを作成または管理します。

場所: header

ヘッダー

X-TokenLab-Delivery-Policy?string

リクエストごとの配信ポリシー。APIキーおよびWorkspaceのデフォルト設定を上書きします。自動的にまず TokenLab Verified を試行し、出力、リクエストの受け入れ、または永続的なリソース作成の前に、一度だけ Official に切り替える場合があります。

指定できる値

  • "auto"
  • "verified"
  • "official"

リクエストボディ

application/json

レスポンス

application/json

application/json

application/json

application/json

application/json

application/json

application/json