GPT-6.1 Sol APIを呼び出すには、`https://api.openai.com/v1/responses`に、`"model": "gpt-6.1-sol"`とキーをBearerトークンとして含むPOSTリクエストを送信します。GPT-6 Solと同じく、100万トークンあたり入力が2ドル、出力が10ドルで提供され、キャッシュされた入力は0.20ドルから0.10ドルに下がります。`gpt-6-sol`からの移行は、ほとんど文字列の置き換えです。破壊的な変更点は「effort」です。GPT-6.1 Solは`none`や`minimal`を受け付けないため、これらのリクエストは`low`に移行する必要があります。これには、`none`に依存していたすべてのコードが含まれます。
OpenAIは、2026年9月29日のDevDayでGPT-6.1 Solをリリースしました。DevDay 2026のまとめでは他の発表が、GPT-6.1 Solとは何かではベンチマークが詳しく解説されています。このガイドでは、最初のリクエスト、開始すべきエフォートレベル、すべての移行変更点、Batch、Flex、Fastの各ティア、そして本番環境のトラフィックを切り替える前にApidogで両方のモデルIDを並行して実行する回帰テストについて説明します。
GPT-6 Sol vs GPT-6.1 Sol: APIの変更点
仕様のほとんどは同じです。GPT-6.1 Solモデルページ、GPT-6 Solモデルページ、およびOpenAIのGPT-6移行ガイダンスからの完全な差分は以下の通りです。
gpt-6-sol |
gpt-6.1-sol |
対応策 | |
|---|---|---|---|
| 1Mトークンあたりの入出力 (標準) | $2 / $10 | $2 / $10 | なし |
| 1Mトークンあたりのキャッシュされた入力 | $0.20 | $0.10 | キャッシュ計算を再実行する |
| 1Mトークンあたりのキャッシュ書き込み | $2.50 | $2.50 | なし |
| コンテキストウィンドウ / 最大入力 / 最大出力 | 1,050,000 / 922,000 / 128,000 | 1,050,000 / 922,000 / 128,000 | なし |
| 知識カットオフ | 2026年4月20日 | 2026年4月30日 | 日付に依存する評価を再確認する |
reasoning.effort |
none, low, medium (デフォルト), high, xhigh, max |
low, medium (デフォルト), high, xhigh, max |
noneをlowに移動し再評価する |
| チャット完了での関数呼び出し | reasoning_effort: "none"の場合のみ |
非対応 | ツール呼び出しをResponses APIに移行する |
| エンドポイント | Chat Completions, Responses, Batch | 同じ | なし |
| レート制限 | ティア1: 500 RPM / 500K TPM; ティア5: 15,000 RPM / 40M TPM | 同じ | なし |
GPT-6 Solのページは現在、「新しいSolモデル」としてGPT-6.1 Solへ読者を誘導しています。
最初のGPT-6.1 Solリクエストを送信する
キーを`OPENAI_API_KEY`としてエクスポートし、Responses APIを呼び出します。
curl https://api.openai.com/v1/responses \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "gpt-6.1-sol",
"reasoning": {"effort": "medium"},
"input": "List three ways a webhook retry policy can create duplicate orders. One line each."
}'
Python SDKも同じ環境変数を読み込みます。
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-6.1-sol",
reasoning={"effort": "medium"},
input="List three ways a webhook retry policy can create duplicate orders. One line each.",
)
print(response.output_text)
print(response.usage)
レスポンスの4つの部分が重要です。
- `status`は、成功時には`completed`です。モデルが出力予算を使い果たした場合、`incomplete`が返され、`incomplete_details.reason`が`max_output_tokens`に設定されます(表示されるテキストがない場合もあります)。推論ガイドでは、実験中は推論と出力のために少なくとも25,000トークンを確保することを推奨しています。
- `output`は配列です。回答は`type: "message"`を持つ項目で、そのコンテンツに`output_text`が含まれます。インデックスではなく、タイプで読み取ってください。
- `usage.output_tokens`には推論トークンが含まれており、出力レートで課金されます。`usage.output_tokens_details.reasoning_tokens`はその数を示します。
- `usage.input_tokens_details`は`cached_tokens`と`cache_write_tokens`を報告します。これは、より安価になったキャッシュが反映される部分です。
ツールを伴うものにはResponses APIを使用してください。GPT-6.1 Solは、ツールを使用しないリクエストの場合のみChat Completionsをサポートします。Responses APIガイドでは、リクエストの形式についてより詳しく説明しています。
推論のエフォートレベルを選択する
エフォートはコストと品質の主要な調整ダイヤルであり、省略した場合は`medium`がデフォルトです。OpenAIのモデル選択ガイドでは、`medium`を「複雑な技術作業や修正を想定した調整済み成果物」と、`xhigh`を「洗練された成果物や相反する証拠から構築された意思決定」と組み合わせています。OpenAIの発表投稿では、設定ごとの結果が追加されています。これらのベンチマークはOpenAIが報告したものであり、以下の表にはOpenAIがテキストで述べている差分が引用されています。
| エフォート | 開始点として推奨される用途 | OpenAIがGPT-6.1 Solについて報告していること |
|---|---|---|
low |
チャット、抽出、分類、noneで実行していたあらゆるもの |
ユーザーが指摘した会話において、事実誤りを含むレスポンスが11.4% (GPT-6 Sol) から7.7%に減少 |
medium (デフォルト) |
エージェント的な自動化とツール呼び出しワークフロー | AutomationBench 1.0.6: Claude Opus 5.5に対し約3分の1のコストで+2.2ポイント増; GPT-6 Solと同じ設定で+4.8ポイント増 |
high |
困難なデバッグと詳細なプランニング | 設定固有の主張なし |
xhigh |
洗練された成果物と長時間の非同期実行 | 設定固有の主張なし |
max |
コンピュータ使用と難解な科学タスク | OSWorld 2.0: GPT-6 Sol (max設定)に対し、半額以下のコストで+7ポイント増。Terminal-Bench Science 0.1: タスクあたり5.47ドル、Opus 5.5は23.21ドル、GPT-6 Astraは23.80ドル |
2つの注意点があります。事実性に関するデータセットは、以前にエラーが指摘された会話であり、一般的なトラフィックではありません。また、Terminal-Bench Scienceでは、GPT-6 Astraが依然として最高スコア(68.1%)を記録しているため、OpenAIは最も困難な科学研究にはAstraを推奨しています。
`none`を使用していたレイテンシに敏感な呼び出しについては、`low`から開始して測定してください。推論ガイドでは、`low`は「わずかなレイテンシ増加を伴う」効率的な推論と説明されています。プロンプトキャッシュを壊さずに会話の途中でエフォートを変更するには、リクエストレベルの`reasoning.effort`を変更するのではなく、`configuration_update`入力項目を追加します。
gpt-6-solからの移行: 4つのコード変更点
- モデルIDを交換する。 `gpt-6-sol`を`gpt-6.1-sol`に置き換え、設定または環境変数に保持しておくことで、ロールバックが1回の編集で済みます。
- `none`と`minimal`を再マッピングする。 OpenAIのガイダンス:`none`の代わりに`low`を使用し、`minimal`は`low`から開始し、代表的なタスクで比較してください。`none`を欠くGPT-6 Astraでも、`none`を送信するとHTTP 400が返されるため、トラフィックを移行する前にこれを修正してください。
- サンプリングパラメータを削除する。 エフォートが`none`でない場合、`temperature`、`top_p`、`top_logprobs`(およびChat Completionsの`logprobs`)を削除してください。GPT-6 Solで`temperature`と`none`を組み合わせていたコードにはこれが必要です。
- チャット完了のツール呼び出しをResponses APIに移行する。 GPT-6 Solでは、`reasoning_effort: "none"`の場合にのみChat Completionsでの関数呼び出しが許可されていました。この組み合わせは6.1 Solには同等のものがありません。
その後、最新性に依存するものをすべて再実行してください。カットオフ日が2026年4月20日から4月30日に移動します。AstraからSolに移行した場合は、AstraからSolへの移行ガイドで以前のステップについて説明しています。
Batch、Flex、Fast、およびキャッシュされた入力の料金
各ティアはGPT-6 Solの形式を維持し、キャッシュされた入力の列は半減しています。100万トークンあたりの料金はAPI料金ページからのものです。モデルページには、272K入力トークンを超えるプロンプトは、GPT-6 Solと同じルールで、入力とキャッシュの料金が2倍、出力が1.5倍で請求されると追加されています。
| ティア | 入力 | キャッシュされた入力 | キャッシュ書き込み | 出力 |
|---|---|---|---|---|
| Standard | $2.00 | $0.10 | $2.50 | $10.00 |
| Batch | $1.00 | $0.05 | $1.25 | $5.00 |
| Flex | $1.00 | $0.05 | $1.25 | $5.00 |
| Fast | $4.00 | $0.20 | $5.00 | $20.00 |
| Standard, プロンプトが272K入力トークン超 | $4.00 | $0.20 | $5.00 | $15.00 |
Flexはリクエストごとの`service_tier: "flex"`です。Fastは`service_tier: "fast"`で、`"priority"`はエイリアスとして受け入れられます。FastモードはEUデータレジデンシーでは利用できません。GPT-6.1 Sol向けのUltrafastは「近日公開」であり、現在はGPT-6 Astraでのみ広く利用可能です。詳細についてはOpenAI Ultrafastモードをご覧ください。夜間バッチ処理については、OpenAI Batch APIガイドでバッチ実行の手順が説明されています。
このアップグレードによりコスト削減が期待できるのがキャッシュです。プロンプトキャッシュガイドによると、6.1 Solでの読み取りコストは入力レートの0.05倍に対し、GPT-6 Solでは0.1倍であり、書き込みコストは両方で1.25倍です。1,000のリクエストで再利用される50,000トークンのシステムプロンプトを例にとります。1回の書き込みはどちらのモデルでも0.125ドルかかります。999回の読み取りは、GPT-6 Solで9.99ドル、GPT-6.1 Solで5.00ドルかかります。キャッシュ可能なプレフィックスの最小値は1,024可視トークンであり、キャッシュされたプレフィックスは最後の書き込みまたは再利用から少なくとも30分間は有効です。ブレークポイント戦略については、GPT-6プロンプトキャッシュをご覧ください。
Apidogでの入れ替えテスト
定価だけで本番環境を切り替えないでください。同じ保存済みリクエストを両方のIDに送信し、返される内容を比較してください。Apidogでは以下の手順で行います。
- `OPENAI_API_KEY`(シークレットとして保存)、`MODEL_ID`を`gpt-6-sol`、`EFFORT`を`medium`に設定した環境を作成します。
- `POST https://api.openai.com/v1/responses`を、ヘッダー`Authorization: Bearer {{OPENAI_API_KEY}}`と以下のボディで作成し、保存します。
{
"model": "{{MODEL_ID}}",
"reasoning": {"effort": "{{EFFORT}}"},
"max_output_tokens": 25000,
"input": "Return a JSON object with keys risk and fix for this policy: retry any 5xx three times with no idempotency key."
}
- アサーションを追加します:HTTP 200、`$.status`が`completed`と等しいこと、`$.output[*].type`に`message`が含まれること、`$.usage.output_tokens`が0より大きいこと、および`$.usage.output_tokens_details.reasoning_tokens`が存在すること。次に、パースするキーを持つ有効なJSONなど、コードが依存する出力形式を確認します。
- `usage`をドルに変換する後処理スクリプトを、OpenAIのプロンプトキャッシュガイドからの入力分割を使用して追加します。
const u = pm.response.json().usage;
const d = u.input_tokens_details || {};
const cached = d.cached_tokens || 0;
const writes = d.cache_write_tokens || 0;
const model = pm.environment.get("MODEL_ID");
const cachedRate = model === "gpt-6.1-sol" ? 0.10 : 0.20;
const cost = ((u.input_tokens - cached - writes) * 2 + cached * cachedRate
+ writes * 2.5 + u.output_tokens * 10) / 1e6;
console.log(model, "cost per call $", cost.toFixed(5));
- それを送信し、`MODEL_ID`を`gpt-6.1-sol`に設定して再度送信します。`reasoning_tokens`、`output_tokens`、回答、および記録されたコストを比較します。`none`から再マッピングする場合は、ベースラインを`none`で、候補を`low`で実行します。
次に、リクエストといくつかの実際のプロンプトをテストシナリオに移動し、CIでApidog CLIからペアを実行します。`--env-var`は1回の実行で変数を上書きするため、1つのシナリオで両方のモデルをカバーできます。
npm install -g apidog-cli
apidog run --access-token "$APIDOG_ACCESS_TOKEN" -t "$SCENARIO_ID" -e "$ENV_ID" \
--env-var "MODEL_ID=gpt-6-sol" -r cli,junit
apidog run --access-token "$APIDOG_ACCESS_TOKEN" -t "$SCENARIO_ID" -e "$ENV_ID" \
--env-var "MODEL_ID=gpt-6.1-sol" -r cli,junit
アサーションが失敗するとジョブも失敗し、JUnitレポートには両方の実行結果が並んで表示されます。実行ごとに変動する出力に対するアサーションについては、非決定性AIエージェントのテストを参照してください。
よくある質問
GPT-6.1 SolはGPT-6 Solより高価ですか? いいえ。どちらも100万トークンあたり入力2ドル、出力10ドルです。GPT-6.1 Solのキャッシュされた入力は0.10ドルで、GPT-6 Solの0.20ドルと比較して安価になるため、キャッシュを多用するワークロードは安くなります。
`reasoning.effort: "none"`はどうすればよいですか? GPT-6.1 Solは`none`も`minimal`もサポートしていません。両方を`low`にマッピングし、`temperature`と`top_p`を削除し、切り替える前に評価を再実行してください。
GPT-6.1 SolをChat Completionsで利用できますか? はい、ツールを使用しないリクエストであれば可能です。ツール呼び出しにはResponses APIが必要です。
GPT-6.1 Solの無料APIティアはありますか? いいえ。API呼び出しは最初のリクエストからトークンごとに課金されます。GPT-6.1 Solは無料ですか?で最も安価なルートについて説明されています。
次のステップ
最初のリクエストを保存し、現在のエフォートレベルで`gpt-6-sol`で実行し、次に`gpt-6.1-sol`で実行して、実際のトラフィックからのプロンプトで`usage`と出力を比較してください。CIで再実行可能なアサーションとして両方の実行結果を保持するには、Apidogをダウンロードしてください。代わりにAnthropicを検討していますか?その場合は、GPT-6.1 Sol vs Claude Sonnet 5.5をご覧ください。
