OpenAI は 2026年9月3日に GPT-6 Astra を発表した。API 識別子は gpt-6-astra、4日に API 顧客へ開放された。「どう呼ぶか」で検索する人の多くは、$10/$50 や 105 万トークン窓の話で詰まっていない。ChatGPT には GPT-6 Pro が見えるのに Python が model_not_found を返す。昨年の Chat Completions 例をそのまま貼り、最初の tools で 400 になる。本稿は Astra とは何かの再掲ではない。それは 発売・価格・Agent の解説にある。ここでは API Key から最初の output_text までを通す。
最初のリクエストが失敗しやすい理由
旧来は旗艦が出た日にモデル文字列を差し替えた。今は四つの事実を揃える。有料プロジェクト、環境変数だけの Key、正しいエンドポイント、固定したモデル ID と effort。分水嶺は OpenAI() を書けるかどうかではない。ChatGPT 窓と API プロジェクトを一つのシステムだと思い込んでいないかだ。
失敗の五経路は無関係なのに重なる。第一に、Plus / Pro で GPT-6 Pro と話せても platform.openai.com のプロジェクトに Astra があるとは限らない。第二に、企業ワークスペースは既定で閉じ、SDK は「管理者に聞け」ではなくモデル不可と返す。第三に、無料枠は非対応で、課金前に SDK を疑うな。第四に、プレーンテキストは Chat Completions も使えるが、ツール呼び出しは Responses。第五に、ソースやノートやチャットに Key を置くと、失効後に突然 401 になる。
知識截止は 2026年4月30日。reasoning.effort は low、medium、high、xhigh、max。none は不可で 400 になる。ゲートウェイ既定は low が多い。最初の ping は low。通線を確認するのであり、「hello」で max 推論費を燃やす作業ではない。
分類:Key、エンドポイント、モデル ID
聞こえる名前を四層に分け、「ChatGPT にログインした」を「API が打てる」と読まない。
| 層 | 聞こえる名前 | 最初のリクエストの意味 |
|---|---|---|
| 製品の入口 | ChatGPT / API / Azure / Bedrock | 本教程は OpenAI API。クラウドは各自の SDK とデプロイ名 |
| 秘密 | User key / Project key | 有料プロジェクトで作り、環境だけ、ソース禁止 |
| エンドポイント | Responses / Chat Completions / Batch | 新規は Responses。旧テキストは Completions。オフライン大量は Batch |
| モデル | GPT-6 / Astra / GPT-6 Pro / Ultra | 送るのは gpt-6-astra。本番はカタログのスナップショット |
Key までの最短路:platform.openai.com を開き、組織とプロジェクトに課金があり無料枠でないことを確認し、この端末またはこの CI 専用の鍵を作り、一度だけコピーする。UI は以降フル値を出さない。Windows はシステムまたは秘密管理、macOS / Linux は export。同僚のチャットに貼らず、Jupyter の保存出力にも出さない。
# macOS / Linux export OPENAI_API_KEY="sk-..." # never commit the key echo 'OPENAI_API_KEY=sk-...' >> .env echo '.env' >> .gitignore
公式 openai パッケージを入れる。古いクライアントは client.responses 自体が無い。「Astra が閉じている」ように見え、実体は Completions 専用 SDK である。
python3 -m pip install -U "openai>=1.0" python3 -c "import openai; print(openai.__version__)"
公開時点の入出力はテキストと画像入力、テキスト出力。音声・動画入力は未開放。Responses のツールはウェブ検索、ファイル検索、画像生成、コードインタプリタ、ホスト shell、apply patch、Skills、Computer Use、MCP、tool search。関数呼び出しと構造化出力は可、ファインチューニングは不可。すべては「最初のテキストが通った」上に乗る。一歩目で Computer Use を繋ぐな。
Responses と Chat Completions
非対称な結論:プレーンテキストはどちらでも Astra に届く。ツール、ホスト機能、非同期 tool は Responses 必須。 messages 配列に慣れているからと新しい Agent を Completions に溶接するな。
| 能力 | Responses API | Chat Completions | Batch / Flex |
|---|---|---|---|
プレーンテキスト gpt-6-astra | 対応、新規の既定 | 対応、既存テキスト路向け | 対応、標準の 50% |
| 関数呼び出し / 構造化出力 | 対応、推奨入口 | 新しい Astra ツール列の既定にしない | バッチ規則に従う |
| ホストツール(検索、shell、Computer Use) | 対応 | 主経路ではない | 対話デスクトップ向きでない |
| ストリーム | 対応 | 対応 | ライブ端末向きでない |
| 最初の探査 | 推奨 | 旧ゲートしかないときだけ | Key 確認に使うな |
価格は 100 万トークンあたり入力 $10、出力 $50。キャッシュ読 $1、書 $12.50。文脈 1,050,000、最大出力 128,000。入力 272K 超は請求全体が入力・キャッシュ 2 倍、出力 1.5 倍。Fast は適用料金の 2 倍。検索と Computer Use は別途ツール料。一文・low の最初の ping は無視できる額であるべきだ。最初から長推論になるなら、探査ではなく評価を書いてしまった。
ツールループの協議は変わらない。モデルが構造化要求を出し、ランタイムが副作用を実行する。三社の JSON 方言が業務の if/else に残っているなら、先に内部 ToolCall を畳む。Function Calling の対照と、Gemini 4 vs GPT-5.6 を参照。
最小 Python:Key から最初のリクエスト
次のスクリプトは三つだけ行う。環境を読み、gpt-6-astra を固定し、low effort で一文確認する。成功は名文ではない。output_text と response.id を出せることだ。ID を残せ。「うまくいった気がする」は障害記録にならない。
from openai import OpenAI
client = OpenAI()
response = client.responses.create(
model="gpt-6-astra",
instructions="You are a concise engineering assistant.",
input="Reply with one sentence: Astra API is reachable.",
reasoning={"effort": "low"},
)
print(response.output_text)
print(response.id)
print(getattr(response, "usage", None))
既存ゲートが messages しか出せないなら、テキスト探査は Chat Completions でもよい。Key とモデル ID は証明できる。後で hosted shell を付けられることは証明できない。
from openai import OpenAI
client = OpenAI()
completion = client.chat.completions.create(
model="gpt-6-astra",
messages=[
{"role": "system", "content": "You are a concise engineering assistant."},
{"role": "user", "content": "Reply with one sentence: Astra API is reachable."},
],
)
print(completion.choices[0].message.content)
ストリームは二歩目であり、第一課ではない。非ストリームを通してから stream=True。イベント型は入れた SDK に従う。下はよくある response.output_text.delta。名前が違うなら event.type を出して公式表と照合し、推測するな。
from openai import OpenAI
client = OpenAI()
stream = client.responses.create(
model="gpt-6-astra",
input="List three safe checks before a production cutover.",
reasoning={"effort": "low"},
stream=True,
)
for event in stream:
if getattr(event, "type", "") == "response.output_text.delta":
print(event.delta, end="", flush=True)
すべてのエラーを再試行するな。接続失敗はネットワークとプロキシ。429 は Retry-After と利用枠。400 はモデル ID、effort、schema の誤りで、一万回試しても直らない。401 / 403 はプロジェクトスイッチと Key 範囲。無料枠や企業ロックが原因なら、アプリ層でモデルを黙って差し替えるな。本番が旧旗艦を追う。
from openai import APIConnectionError, APIStatusError, OpenAI, RateLimitError
client = OpenAI()
try:
client.responses.create(
model="gpt-6-astra",
input="ping",
reasoning={"effort": "low"},
)
except APIConnectionError as exc:
print("network", exc)
except RateLimitError as exc:
print("rate_limit", exc)
except APIStatusError as exc:
print(exc.status_code, exc.message)
場面の選び方
| あなたが | 選ぶもの | 理由 |
|---|---|---|
| Key とモデル ID を初めて確認する | Responses + gpt-6-astra + effort low | 最短、最安、デバッグ欄が揃う |
| messages 専用ゲートに縛られる | テキスト探査だけ Chat Completions | アクセスは証明できる。新ツールは Responses へ |
| 関数、検索、shell、Computer Use を足す | Responses。Completions 溶接はしない | ホストツールは Responses にある |
| 遅延できるオフライン評価 | Batch / Flex | 半額。「今すぐ一文」向きではない |
| リポジトリ編集、テスト、ブラウザ | 任意のテキスト路 + 隔離 Mac | 足りないのは実行境界 |
| 攻撃寄りの安全研究 | 公開モデルで攻撃証明を書かない | 拒否される。審査経路へ |
推奨スタック
A — 個人: ローカル環境変数、公式 SDK、Responses の最小スクリプト。既定は low。その路が退屈なほど安定してからストリーム。API Key と ChatGPT ログインは分ける。日常補完は安いモデル、Astra は失敗の再試行と長作業。
B — 小チームゲート: プロジェクト単位の Key。CI は読み取り専用。設定で gpt-6-astra とスナップショットを固定し、漂う「最新旗艦」を追わない。チャットは安価、実装と computer-use は Astra。ホストツールの前に JSON 協議を畳む。
C — 企業: 管理者が先にワークスペースを開く。ゼロデータ保持は別申請。予算アラートはプロジェクト単位。長いプロンプトはキャッシュ接頭辞を強制し、272K の一括値上げを監視。書き込みセッションは破棄可能なリモート Mac とパス許可リスト。ヘルプと Mac mini 料金。
よくある誤解
- ChatGPT の GPT-6 Pro を API 開放の証明だと思う。
- Key をソース、ノート、チャットに置き、モデルが不安定だと言う。
- 最初から
effort=maxや半リポジトリ投入で長推論と 272K を踏む。 - 新しいツール列を Chat Completions に溶接し、hosted shell が全部 400 になる。
gpt-6、chatgpt-6、未発表 Ultra を送る。
7 ステップ
- API プロジェクトに課金があり無料枠でないことを確認。企業は管理者に Astra を開いてもらう。
- プラットフォームで Key を作り、環境または秘密管理だけに置き、
.gitignoreする。 - 現行
openaiSDK を入れ、client.responses.createがあることを確認。 - Responses で
model="gpt-6-astra"、reasoning.effort="low"の一文を送る。 output_text、response.id、usage を出し、ID を残す。- テキスト路が安定してからストリームやツール。JSON は Function Calling 記事と照合。
- ファイル変更、コマンド、ブラウザは隔離した リモート Mac へ。終了時に破棄。
FAQ
ChatGPT に GPT-6 Pro があるのに Python が失敗する理由は?
ChatGPT と API は別会計・別ゲート。企業は既定で Astra を閉じ、無料 API 枠は非対応。platform.openai.com の有料プロジェクトで Key を作る。
最初は Responses と Chat Completions のどちら?
プレーンテキストは両方可。新規は Responses。関数、ホストツール、構造化出力、非同期ツールは Responses 必須。
モデル ID は?
gpt-6-astra。本番は公式カタログの日付スナップショット。gpt-6 や chatgpt-6、Ultra を推測しない。
reasoning.effort に none は?
不可。low / medium / high / xhigh / max。none は 400。最初の ping は low。
キーをソースに書いてよいか?
不可。環境変数か秘密管理。Git に入れない。漏れたら即失効。
まとめ
GPT-6 Astra の第一課は旗艦崇拝ではない。有料プロジェクト、ソースに入らない Key、Responses(または余儀なく残す Completions テキスト路)、固定した gpt-6-astra を揃えることだ。最初のリクエストは一文と low。 output_text が出て通線成立。ツール、長文脈、Computer Use は次の課であり、破棄可能なホストへ置く。安定したリモート Mac は レンタル と 料金。口座は ヘルプ。