Claude Opus 5.5 が SeedRouter で利用できます

Text

Kimi K3.1 Pro

View Markdown

Kimi K3.1 Pro のネイティブ Chat Completions、Responses、Messages。公式パラメーター、推論履歴、構造化出力、メディア、キャッシュの計量を解説します。

公開モデル ID kimi-k3.1-pro を使ってください。モデルページには Playground と最新料金があります。入れ子を含む完全なリクエストとレスポンスのスキーマは、OpenAPI 仕様をダウンロードして確認できます。

クイックスタート

curl https://api.seedrouter.ai/v1/chat/completions \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model":"kimi-k3.1-pro",
    "messages":[{"role":"user","content":"How can an idempotency key prevent a duplicate payment?"}],
    "max_completion_tokens":2048,
    "reasoning_effort":"low"
  }'

ネイティブ形式

形式エンドポイント必須フィールド
Chat CompletionsPOST /v1/chat/completionsmodel, messages
ResponsesPOST /v1/responsesmodel, input
MessagesPOST /v1/messagesmodel, messages, max_tokens

Authorization: Bearer $SEEDROUTER_API_KEY を使います。Messages では anthropic-version: 2023-06-01 も使います。各形式はネイティブ JSON または SSE イベントを返します。Responses はステートレスのため、完全な履歴を再送してください。previous_response_id は対応するリクエストフィールドではありません。

リクエストパラメーター

Playground の空欄フィールドは省略されます。有効な箇所では、明示的な false とゼロを保持します。省略可能であることと null を許容することは異なります。未知のトップレベル拡張は破棄し、不正な公式フィールドは拒否します。入れ子のツールスキーマと返された履歴はそのまま保持します。

Chat Completions

フィールド型必須デフォルト / 範囲
logprobsbooleanいいえデフォルト false
top_logprobsintegerいいえ0–20; logprobs=true が必要
predictionobjectいいえ指定時のみ送信
max_tokensintegerいいえ1–1048576
max_completion_tokensintegerいいえ1–1048576; デフォルト 131072
response_formatobjectいいえ指定時のみ送信
stopunionいいえ文字列 ≤5 個、各 UTF-8 ≤32 バイト
streambooleanいいえデフォルト false
stream_optionsobjectいいえ指定時のみ送信
toolsarrayいいえ指定時のみ送信
prompt_cache_keystringいいえ指定時のみ送信
prompt_cache_optionsobjectいいえ指定時のみ送信
safety_identifierstringいいえ指定時のみ送信
tool_choiceunionいいえ指定時のみ送信
messagesarrayはい指定時のみ送信
reasoning_effortstringいいえlow, high, max; デフォルト "max"
modelstringはいkimi-k3.1-pro; デフォルト "kimi-k3.1-pro"
temperaturenumberいいえ1
top_pnumberいいえ0.95
nintegerいいえ1
frequency_penaltynumberいいえ0
presence_penaltynumberいいえ0

Responses

フィールド型必須デフォルト / 範囲
modelstringはいkimi-k3.1-pro; デフォルト "kimi-k3.1-pro"
inputunionはい指定時のみ送信
instructionsstringいいえ指定時のみ送信
streambooleanいいえデフォルト false
max_output_tokensintegerいいえ1–1048576; デフォルト 131072
reasoningobjectいいえ指定時のみ送信
textobjectいいえ指定時のみ送信
toolsarrayいいえ指定時のみ送信
tool_choiceobjectいいえ指定時のみ送信
includearrayいいえ指定時のみ送信
prompt_cache_keystringいいえ指定時のみ送信
prompt_cache_optionsobjectいいえ指定時のみ送信
safety_identifierstringいいえ指定時のみ送信

Messages

フィールド型必須デフォルト / 範囲
modelstringはいkimi-k3.1-pro; デフォルト "kimi-k3.1-pro"
messagesarrayはい指定時のみ送信
max_tokensintegerはい1–1048576
systemunionいいえ指定時のみ送信
streambooleanいいえデフォルト false
stop_sequencesarrayいいえ文字列 ≤5 個、各 UTF-8 ≤32 バイト
toolsarrayいいえ指定時のみ送信
tool_choiceobjectいいえ指定時のみ送信
metadataobjectいいえ指定時のみ送信
cache_controlobjectいいえ指定時のみ送信
output_configobjectいいえ指定時のみ送信

Chat のトップレベルフィールドは 22 個です。model、固定のサンプリングフィールド 5 個、可変入力 16 個で構成されます。Responses は model と入力 12 個、Messages は model と入力 10 個です。Playground では固定のモデルとサンプリング設定を表示しません。

推論と出力上限

思考は常に有効です。Chat の reasoning_effort、Responses の reasoning.effort、Messages の output_config.effort は low、high、max に対応し、デフォルトは max です。すべての出力上限に推論が含まれます。Chat と Responses のデフォルト出力は 131,072 トークン、最大は 1,048,576 です。Messages では正の max_tokens が必須です。Chat は非推奨の max_tokens にも対応しますが、新しい連携では max_completion_tokens を使ってください。

コンテキストウィンドウは 1,048,576 トークンです。入力自体をこの範囲内に収める必要があります。入力と生成枠の合計がウィンドウを超える場合、サービスは生成枠を残りの空間まで縮小できます。出力上限が小さいと、表示できる回答が出る前に停止することがあります。

Chat のサンプリング値は temperature:1、top_p:0.95、n:1、frequency_penalty:0、presence_penalty:0 に固定されています。他の値は無効です。停止シーケンスはテキストに完全一致し、回答から除外されます。32 バイトの上限は文字数ではなく UTF-8 のバイト数です。

構造化出力と予測出力

Chat の response_format.type は text、json_object、json_schema に対応します。JSON モードでは、プロンプトでも JSON を要求する必要があります。JSON Schema には json_schema.name と json_schema.schema が必要です。strict のデフォルトは true です。

Responses は text.format に type:json_schema、schema、任意の name と strict を指定します。Messages は output_config.format に type:json_schema と schema を指定します。Moonshot Flavored JSON Schema に従ってください。一般的な JSON Schema の拡張がすべて強制されるとは限りません。完成した出力はアプリ内で検証してください。

Chat の予測出力は prediction:{type:"content",content:...} を使います。content は文字列、またはテキストのみの部分です。少しだけ編集するファイルなど、出力の大部分が既知の場合に使います。

ツールと会話履歴の保持

Chat のツールは type:function と function.name、function.parameters を使います。任意フィールドには description と strict(デフォルト true)があります。名前は ^[a-zA-Z_][a-zA-Z0-9-_]{0,127}$ に一致する必要があります。ツール選択は auto、none、required に対応し、required には利用可能なツールが少なくとも 1 つ必要です。名前を指定した関数の強制呼び出しは、常時有効の思考と両立しません。

動的な Chat ツールメッセージは、content を持たない {role:"system",tools:[...]} です。このメッセージを会話に保持してください。reasoning_content と tool_calls を含む完全な assistant 応答を追加し、各ツール結果を一致する tool_call_id を持つ role:tool メッセージとして返します。assistant のツール応答は null の content を持てます。他のロールでは引き続き content が必須です。

Responses は、ネイティブの function、namespace、apply_patch カスタムツール、web_search の定義に tool_choice:"auto" で対応します。一致する呼び出し ID を付けて function_call_output または custom_tool_call_output 項目を返してください。include の値 web_search_call.results と web_search_call.action.sources はウェブ検索出力のみに影響します。

Messages はネイティブのツール定義と、type が auto、any、none のツール選択オブジェクトに対応します。assistant の思考ブロックと署名を保持してください。ツール結果のブロックは user メッセージ内で返します。引数の検証、カスタム関数の実行、外部操作の制御はアプリが担います。

Chat Partial Mode では、最後の assistant メッセージにのみ partial:true を設定します。Messages は最後の assistant メッセージを直接続けます。表示された回答だけで履歴を再構成しないでください。

メディアの制約

Chat はテキスト、image_url、video_url のコンテンツブロックに対応します。base64 の data URL、または受け付けられる ms:// 参照を使います。任意の公開メディア URL には対応しません。画像形式は JPEG、PNG、GIF、WebP、BMP、HEIC、HEIF、動画形式は MP4、MPEG、MOV、AVI、FLV、MPG、WebM、WMV、3GPP です。公式ガイドのリクエストボディ全体の上限は 100M で、画像枚数の個別上限はありません。4K 画像と Full HD 動画は推奨であり、必須条件ではありません。

Responses は data URL を持つ input_image.image_url を使います。Messages は {type:"base64",media_type:"image/png",data:"..."} のような画像ソース、または type が url で有効な ms:// 参照を持つソースを使います。Messages のインライン画像は JPEG、PNG、GIF、WebP に対応します。これらの形式で Chat の動画ブロックも使えるとは限りません。専用スキーマに従ってください。

Playground はインライン画像を添付します。動画ブロックやファイル参照には、ネイティブの会話フィールドか JSON エディターを使ってください。ファイルのアップロードと管理は、これらの生成エンドポイントの対象外です。別のアカウントで作成したファイル ID が使えるとは限りません。

キャッシュと使用量

Chat と Responses は prompt_cache_key と prompt_cache_options:{mode:"implicit",ttl:"5m"} を使います。TTL は 5m または 1h で、デフォルトは 5 分です。Messages はトップレベルの cache_control:{type:"ephemeral",ttl:"5m"} と任意の metadata.user_id を使います。入れ子の Messages キャッシュ制御マーカーは無視されます。コンテンツレベルの prompt_cache_breakpoint は無効です。

既存のキャッシュ接頭辞は、更新されても元の TTL を保ちます。異なる有効期間を指定しただけでは、それが適用されたとは判断できません。Chat の公式キャッシュ書き込みヘッダーは、実際の 5 分と 1 時間の数を報告します。Responses は適用された prompt_cache_options を返せます。Messages は usage.cache_creation 内に両方の TTL のカウンターを返します。

形式入力合計キャッシュ読み取りキャッシュ書き込み
Chatusage.prompt_tokensprompt_tokens_details.cached_tokensprompt_tokens_details.cache_write_tokens
Responsesusage.input_tokensinput_tokens_details.cached_tokensinput_tokens_details.cache_write_tokens
Messagesinput_tokens + cache_read_input_tokens + cache_creation_input_tokenscache_read_input_tokenscache_creation_input_tokens

Chat と Responses の入力合計には、キャッシュ読み取りと書き込みがすでに含まれています。これらの区分と未キャッシュの残りは重複しません。キャッシュトークンを二重加算しないでください。出力には推論が含まれます。Messages は書き込みを ephemeral_5m_input_tokens と ephemeral_1h_input_tokens に分けます。最新料金を確認してください。公開生成レスポンスに金額は含まれません。

ストリーミングと完了

stream:true を設定します。Chat はデータチャンクと [DONE] を送ります。stream_options.include_usage:true で最後の使用量チャンクを要求できます。Responses は response.output_text.delta、response.completed、response.incomplete などの名前付きイベントを使います。Messages は message_start、コンテンツブロックのイベント、message_delta、message_stop を使います。

接続が閉じただけでは完了の証明になりません。ネイティブの終了理由と最終状態を確認してください。ストリームが中断されると最終使用量がない場合があります。読み取りを止めても、生成のキャンセルは保証されません。

公式リファレンス

2026 年 10 月 25 日確認:Kimi K3.1 Pro ガイド、Chat、Responses、Messages、画像認識、キャッシュ。