OpenAI's GPT-6 did not arrive as one model. Its official Python SDK, which adds model identifiers as they become callable, tells the story in four steps:
| SDK release | Date | Change |
|---|---|---|
| 3.8.0 | 2026-09-03 | "add gpt-6-astra and related features" |
| 3.18.0 | 2026-09-22 | "add GPT-6 Sol and Luna model identifiers" |
| 3.21.0 | 2026-09-29 | "add GPT-6.1 Sol model identifier" |
The SDK's model list now carries gpt-6-astra, gpt-6-sol, gpt-6-luna and gpt-6.1-sol, next to the GPT-5.6 tiers gpt-5.6-sol, gpt-5.6-terra and gpt-5.6-luna. Same month, the SDK also gained an Agents API and a Live API (3.10, September 10).
A family, not a model
Named tiers inside one generation change the question teams ask. "Should we upgrade to GPT-6?" has no single answer; "which lane gets which tier?" does. A sensible starting map:
- Top tier (Astra): the hardest, highest-value requests: long agentic tasks, difficult code, escalations. Access should be intentional, not default.
- Middle tier (Sol): the default for general product traffic, once it wins your evaluation.
- Small tier (Luna): high-volume preprocessing, classification, extraction, summarization of short inputs.
The 6.1 Sol identifier arriving a week after 6 Sol is the other lesson: point releases now land in days, not quarters. A route pinned to gpt-6-sol will not move to gpt-6.1-sol by itself, which is what you want for reproducibility and exactly what you don't want if 6.1 is cheaper or better for that lane.

Pricing: check the live catalog
Tiered families usually come with launch or promotional pricing and long-context surcharges, and they change faster than an article can. Use the price the model catalog shows at request time rather than a number from a launch post, and re-check when a promotion ends.
A rollout pattern for tiered families
- Add every tier disabled or internal-only the day it appears, so evaluation can start without exposing it to customers.
- Evaluate per lane, not per model. Run each lane's real prompts against the tier you expect to fit, plus one tier up and one tier down.
- Promote by lane. Switch the default for a lane only when the new tier wins on that lane's quality, latency and cost targets.
- Track point releases. When a
.1appears, re-run the lanes that use its base tier. - Keep the previous generation as the rollback until the new defaults have a few weeks of production history.
NeuronGate angle
NeuronGate exposes each model id separately, with per-key model allowlists, so you can give an evaluation key access to the top tier while production keys stay on the middle tier. Per-request usage records make the lane-by-lane cost comparison a filter rather than a project. Start from the docs.
FAQ
Which GPT-6 model should be my default?
The one that wins your evaluation on your real traffic. For most products that is a middle tier for general traffic and a small tier for high-volume preprocessing, with the top tier reserved for hard requests.
Does gpt-6-sol upgrade to 6.1 automatically?
No. They are separate identifiers. Pinning keeps results reproducible; moving to 6.1 is a deliberate change.



