テキスト

Create Chat Completion

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

POST
/v1/chat/completions

リクエストボディ

サポートされているオプションパラメータ、許容値、およびデフォルト値は、選択したモデルによって異なります。サンプリング、推論、またはツールオプションを設定する前に、モデル詳細を確認してください。

modelstring必須

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

messagesarray必須

会話を構成するメッセージのリスト。

各メッセージオブジェクトには以下が含まれます:

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

tool_calls を含む assistant メッセージの場合、content は省略可能、または null に設定できます。

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

  • text: { "type": "text", "text": "..." }
  • image: { "type": "image_url", "image_url": { "url": "https://..." } }
  • video: { "type": "video_url", "video_url": { "url": "https://..." } }
  • audio: { "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の両方を変更するのではなく、どちらか一方を変更することを推奨します。

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

推論をサポートするモデルの推論努力レベル。許容値は選択したモデルによって異なります。

Claudeモデルの場合、この値はモデルの思考を設定します。適応型思考を持つモデルでは努力レベルを、思考機能を持つモデルでは思考予算を設定します。none は、思考を許可するモデルで思考をオフにします。思考がオンの間、Claudeは1以外の temperature、top_k、0.95〜1の範囲外の top_p、およびプリフィルされたアシスタントメッセージを拒否します。強制的な tool_choice は適応型思考では機能しますが、思考予算では機能しません。

anthropic_optionsobject

Claudeモデル用のオプション。

  • prompt_caching (boolean): プロンプトの開始をキャッシュするには true を設定します。TokenLabはシステムプロンプトの末尾と最新のユーザーメッセージをキャッシュポイントとしてマークします。同じ内容で始まる後のリクエストは、キャッシュから読み込まれます。いずれかのメッセージに既に cache_control が含まれている場合、TokenLabはキャッシュポイントを追加しません。
  • prompt_caching_ttl (string): 5m (デフォルト) または 1h。提供ルートが1時間をサポートしていない場合、TokenLabは5分を使用し、リクエストを拒否しません。

extra.prompt_caching および extra.prompt_caching_ttl も同じオプションとして受け入れられます。料金やキャッシュされたトークンの確認方法については、プロンプトキャッシュを参照してください。

seedinteger

サポートするモデルのサンプリングシード。同一の出力が保証されるわけではありません。

ninteger

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

logprobsboolean

対数確率を返すかどうか。

top_logprobsinteger

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

top_kinteger

サポートするモデルのTop-Kサンプリング。

response_formatobject

レスポンス形式。JSONモードの場合は {"type": "json_object"} を、JSONスキーマの場合は {"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)

モデルが思考している場合、message には以下も含まれることがあります:

  • reasoning_content (string): 思考テキスト。一部のモデルは要約のみ、またはテキストを返さない場合があります。
  • reasoning_details (array): 署名付きの思考ブロック。例えばツール呼び出し後に思考を伴う会話を継続するには、それらを変更せずにアシスタントメッセージで送り返してください。

ストリームでは、同じフィールドが delta.reasoning_content および delta.reasoning_details として到着します。

usageobject

トークン使用統計。

  • prompt_tokens (integer): プロンプト内のトークン数
  • completion_tokens (integer): 補完内のトークン数(思考トークンを含む)
  • total_tokens (integer): 使用された合計トークン数
  • completion_tokens_details.reasoning_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