GPT-6 Astra API:最初のリクエストとGPT-5.6 Solからの移行
コピー可能なGPT-6 Astra初回リクエスト、GPT-5.6 Solからの最小差分、parameters、tools、monitoring、rollbackの確認方法をまとめます。
目次

BetterTokenで最初のsmoke testを行うなら、Model IDをgpt-6-astraに変え、OpenAI互換Chat Completions endpointへ短いリクエストを送ります。ただし稼働中のアプリを移行するには追加対応が必要です。GPT-6 Astraはreasoning effort noneをサポートせず、複数のsamplingとlogprobs parametersを削除し、tool callingにはResponses APIを使う必要があります。
以下ではテキストリクエストから始め、gpt-5.6-solからの最小で制御可能なdiffを適用します。文書で確認した手順であり、本稿の準備では実API Keyによる有料callを実行していません。
準備と最初のリクエスト
2026年9月6日時点で、BetterToken公開catalogにはgpt-5.6-solとgpt-6-astraがGPT groupに掲載されています。自分のaccount、現在のgroup用Key、Base URL https://www.bettertoken.ai/v1、Bearer tokenとJSONを送れるHTTP clientが必要です。
BetterTokenアカウントとGPT-6 Astra用API Keyを作成する
カタログとSetupで現在のModel IDを確認し、Keyをcode、issue、screenshot、support messageに貼らないでください。ローカル環境にのみexportします。
export BETTERTOKEN_API_KEY="YOUR_API_KEY"
BetterToken公開API Referenceのendpointを使います。
curl "https://www.bettertoken.ai/v1/chat/completions" \
-H "Authorization: Bearer $BETTERTOKEN_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"model": "gpt-6-astra",
"messages": [
{
"role": "user",
"content": "Reply with exactly: ASTRA_OK"
}
]
}'
成功時はchoices[0].message.contentにテキストが入り、このfixtureではASTRA_OKを期待します。401、403、model not foundがなく、contentが空でなく、Dashboardにgpt-6-astra、status、input/output/cache tokensが記録されることを確認します。これはKey、endpoint、Model ID、基本response shapeの確認であり、tools、SDK streaming、production品質、Solとの同等性は証明しません。
GPT-5.6 Solからの最小diff
{
- "model": "gpt-5.6-sol",
+ "model": "gpt-6-astra",
"messages": [
{"role": "user", "content": "Summarize this incident report."}
]
}
古いリクエストがreasoning effort noneまたはminimalなら、Astraはlowから開始します。Chat Completionsのfieldはreasoning_effortです。
{
"model": "gpt-6-astra",
"reasoning_effort": "low",
"messages": [
{
"role": "user",
"content": "Summarize this incident report. Preserve dates and owners."
}
]
}
Solが別の有効levelを使っていた場合、OpenAIは最初の比較でそれを維持するよう推奨しています。Effortの一律引き上げはlatencyとusageも変えます。
非対応parametersを削除します。
{
"model": "gpt-6-astra",
"reasoning_effort": "low",
- "temperature": 0.2,
- "top_p": 0.95,
- "top_logprobs": 5,
- "logprobs": true,
"messages": [
{"role": "user", "content": "Summarize this incident report."}
]
}
OpenAIはtemperature、top_p、top_logprobsを非対応とし、Chat Completionsではlogprobsも削除します。SDKがdefaultを追加する場合は、設定objectではなくserialized JSONを確認します。
テキストはChat Completions、toolsはResponses
GPT-6 Astraは両endpointに対応しますが、tool callingにはOpenAIがResponsesを要求します。BetterTokenの一般公開referenceはChat Completionsを記載し、ResponsesはCodex設定で別に示されています。
| 目的 | 経路 |
|---|---|
| Key、Model ID、テキストの確認 | POST https://www.bettertoken.ai/v1/chat/completions |
| Codexでtoolsを使う | Codexガイドのcustom providerとwire_api = "responses" |
| 自作appからraw Responsesを呼ぶ | channelの現行contractを先に確認する。一般公開referenceにはまだない |
URLだけを変えてtool schemaを移さないでください。input items、tool-call形式、state継続、テキスト抽出が異なります。Transport互換性は同じbehaviorを意味しません。
制御された移行とrollback
実アプリから、正確な短い回答、JSON Schemaで検証するstructured output、長いproduction prompt、tool workflow、意図的なinvalid requestをfixturesにします。SolのModel ID、endpoint、有効reasoning、serialized body、acceptance checkを保存し、最小diffでAstraに同じsetを実行します。
全fixturesが通り、monitoringがgpt-5.6-solとgpt-6-astraを区別し、rollbackが新しいreleaseなしで旧modelとparametersを戻せる場合だけtrafficを移します。内部workflowかriskに応じた小さな割合から始めます。普遍的な割合はありません。観測中はSol設定を残します。
すばやいトラブルシュート
401 Unauthorized:Authorization: Bearer ...、process environment、コピーした空白を確認し、Key全体をlogに出しません。403またはmodel not found:groupを確認して正確なgpt-6-astraをコピーします。400:temperature、top_p、top_logprobs、logprobsを削除し、noneかminimalをlowへ変えます。- テキストは動くがtoolsは失敗:endpointを確認します。smoke testはResponsesの証明ではありません。Codexでは
wire_api = "responses"を維持します。 - 成功したのにUIが空:secretを除いたraw responseで
choices[0].message.content、status、finish reason、adapterを確認します。
Astraがfixturesを通り、別に観測でき、設定でrollbackできるとき移行完了です。最初の200は接続確認であり、移行全体の完了ではありません。