はじめに
Gemini 3.1 Pro Preview の OpenAI 互換チャットです。1,000,000 トークンの読み込み枠、3 段階の推論強度、128 個のツール定義、JSON 出力が同期呼び出し 1 回に収まります。
Gemini 3.1 Pro Preview は Google の長文脈対話モデルで、OpenAI 互換のエンドポイント 1 本として提供されます。最大 1,000,000 トークンを読み、返答は最大 32,768 トークン。約 30 対 1 なので、設定資料と全履歴を丸ごと入れて、辻褄の合った 1 ターンを受け取る使い方になります。
主な機能とハイライト
本棚 1 つ読んで、1 段落書く
入力 1,000,000 トークンに対して出力 32,768 トークン、およそ 30 対 1。この比率がそのまま取扱説明書です。設定資料、キャラクターシート、これまでの全章を添えたうえで、場面を前に進める返答を 1 つだけ求めます。返ってくるものは設計どおり短く、しかも送ったすべてのページと辻褄が合っています。
履歴は圧縮せずそのまま持ち歩く
長編ロールプレイが崩れる原因の多くは、枠に収めるために履歴を要約することです。1,000,000 トークンの枠はたいていその工程ごと不要にします。毎ターン原文を送り直せば、30 章前に置いた伏線は言い換えの中ではなくモデルの目の前に残ります。
予告なく変わりうる
プレビュー版の寿命を握っているのは Google です。挙動も提供状況も価格も動きうるし、取り下げもありえます。本番のスレッドを預ける前に、そのスレッドがどのモデルへ退避するか決めておいてください。
リクエストパラメーター
| パラメーター | 必須 | 説明 |
|---|---|---|
messages | はい | 順序付きの対話ターン。内容は文字列、またはテキストと |
max_tokens | いいえ | 返答を 32,768 で抑えます。読み込み枠の 30 分の 1 です。 |
reasoning_effort | いいえ | minimal / low / medium / high。既定は medium です。 |
stop | いいえ | 最大 4 件の停止シーケンスを、文字列か配列で指定します。モデルがそのいずれかを書いた時点で応答が終わり、一致した文字列そのものは返されません。 1 文字以上 · 1 件以上 · 4 件以内 |
seed | いいえ | 任意の整数です。ほかが同じリクエストで同じ seed を使うと応答がほぼ再現されるため、1 か所ずつ変えて公平に比べられます。 |
temperature | いいえ | 0〜2、既定 1 です。Gemini 3 系は既定の 1.0 のまま使うことを Google が強く勧めており、1.0 を下回ると出力が堂々巡りになったり質が落ちたりすることがあります。 |
top_p | いいえ | 0.01〜1。同じ比較の中で、これと temperature を同時に動かさないでください。 |
tools | いいえ | 1 リクエストにつき最大 128 個の関数定義。 128 件以内 |
tool_choice | いいえ | auto / none / required、または呼ぶ関数を名指しするオブジェクト。 |
response_format | いいえ | JSON オブジェクトを要求し、キーはすべて system メッセージで名指ししてください。 |
料金
入力 $1.90 / 出力 $11.40 100 万トークンあたり; 200K トークンを超えるプロンプト: 入力 $3.80 / 出力 $17.10
入力が 20 万トークンを超えると、リクエスト全体が長コンテキスト料金になります。
ユースケース
数十万字の前提の中で場面を続ける
設定資料、人物相関、これまでの全章を送り、そのうえで 1 ターンだけ求めます。検索も抜き取りもしていないので、第一幕で交わした約束が、第三幕を書いている最中もモデルの視界に残っています。
章をまたいだ整合性の点検
世界設定の規則と書き終えた章を同じリクエストに入れ、どの箇所が規則と矛盾するかを尋ねます。返ってくるのは書き直しではなく出典付きの矛盾一覧です。大量に読んで短く答える——この比率がいちばん得意な領域です。
巨大な資料群にひとつの判断を出す
仕様書一式、四半期分のチケット、受信箱まるごとを 1 回の呼び出しに載せ、実際に何が変わったのかを尋ねます。32,768 トークンあれば、結論と根拠の引用には十分です。
キャラクターの状態を JSON でアプリへ
response_format を json_object、system メッセージでキーを名指しして、各キャラクターの現在地・負傷・関係・把握している秘密を JSON で受け取ります。本文とセーブデータが、救済用パーサーなしで同期します。
プロンプトガイドと実践のヒント
規則は system、物語は user
世界設定の規則、望む文体、このターンの長さは system メッセージに書きます。設定資料、人物相関、履歴は古い順に 1 つの user メッセージへまとめ、末尾にこのターンの指示を置いてください。
毎ターン全履歴を送り直す。要約しない
枠は 1,000,000 トークン、書き上がった長編 1 本より広いのが普通です。毎ターン原文を送り直せば入力トークンはかかりますが、買える中でいちばん安い一貫性です。言い換えで失われるものがありません。
前提にしておく制限
返答の上限は 32,768 トークン、読み込み枠のおよそ 30 分の 1 です。章まるごとを求めるリクエストは書き終える前に上限に達しますし、これを超える max_tokens はその場で検証エラーになります。メッセージ内容はテキストと画像で、動画と音声のパートは拒否されます。プレビュー版なので、Google が挙動を変えることも提供を終えることもあります。本番トラフィックを預ける前に、切り替え先のモデルを決めておいてください。JSON の response_format は返答の形を整えますが、解析と検証はアプリケーション側の仕事のままです。
API クイックスタート
curl --fail-with-body -sN https://api.spicyapi.ai/v1/chat/completions \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"model": "google/gemini-3.1-pro-preview/chat",
"messages": [
{
"role": "user",
"content": "Summarise the following release notes into three bullet points."
}
],
"stream": true
}' \
| jq --unbuffered -Rrj 'select(startswith("data: ")) | .[6:] | select(. != "[DONE]") | fromjson | if .error then "\n[error] \(.error.message)\n" else (.choices[0].delta.content? // empty) end'
認証、完全なスキーマ、ポーリング、エラー処理は API リファレンスを参照してください。












