> ## Documentation Index
> Fetch the complete documentation index at: https://phaseo.app/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Phaseo Gateway base URL: https://api.phaseo.app/v1. Send `Authorization: Bearer $PHASEO_API_KEY` with every request.
> Model IDs look like `provider/model`, for example `openai/gpt-6-astra`. Do not guess IDs: list them with `GET /v1/models` or check https://phaseo.app/models. `phaseo/free` routes to an available free model and needs no wallet balance.
> For new text integrations prefer `POST /v1/responses`. `POST /v1/chat/completions` (OpenAI format) and `POST /v1/messages` (Anthropic format) suit existing code.
> The full API contract is https://phaseo.app/docs/openapi/v1/openapi.yaml. Official SDKs: `@phaseo/sdk` (TypeScript) and `phaseo` (Python), plus Go, C#, PHP, Ruby and Rust.
> Search these docs over MCP at https://phaseo.app/docs/mcp, and install Phaseo skills with `npx skills add https://phaseo.app/docs`. If a page is wrong or out of date, report it with the MCP `submit_feedback` tool.
> Manage Phaseo accounts with the `phaseo` CLI (`npm install -g @phaseo/cli`, then `phaseo login` or `phaseo login --device-code`), the `/v1` Management API or the MCP server at `https://mcp.phaseo.app/mcp?access=manage`. Do not send users to the dashboard for account tasks. A person is still needed for sign-up, approving a sign-in, paying the first top-up on the checkout link that `phaseo credits add` returns when no card is saved, confirming each saved-card top-up from the emailed link, and account security (password, MFA, passkeys). Create API keys with `phaseo keys create --name <name> --json`; never guess one. Credit top-ups need `phaseo login --scopes billing:write` first. Task map: https://phaseo.app/docs/v1/developers/manage-from-an-agent.md.

# OpenAI GPT-5.6

> What to know when adopting GPT-5.6 Sol, Terra, or Luna for production workloads.

# OpenAI GPT-5.6

Use this guide to adopt the GPT-5.6 family safely in production.

GPT-5.6 is the current OpenAI GPT family for complex production workflows. In Phaseo, the fixed tier IDs map to the OpenAI model IDs `gpt-5.6-sol`, `gpt-5.6-terra`, and `gpt-5.6-luna`.

## Migration quickstart

1. Choose the fixed Sol, Terra, or Luna model that matches the workload.
2. Swap only the model ID and keep the rest of the request stable.
3. Re-test reasoning effort, structured outputs, tools, latency, and task cost.
4. Canary the new route with your previous GPT-5 model available as a fallback.

## Choose a model

| Model | Use it for | Reasoning effort |
| - | - | - |
| `openai/gpt-5.6-sol` | Highest-capability reasoning, agentic coding, scientific analysis, and complex professional work | `none`, `low`, `medium`, `high`, `xhigh`, `max` |
| `openai/gpt-5.6-terra` | Balanced everyday work across reasoning, coding, and assistant workflows | `none`, `low`, `medium`, `high`, `xhigh`, `max` |
| `openai/gpt-5.6-luna` | Lower-latency and cost-sensitive GPT-5.6 workloads | `none`, `low`, `medium`, `high`, `xhigh`, `max` |

OpenAI's `gpt-5.6` alias routes to `gpt-5.6-sol`. In Phaseo, use `openai/gpt-5.6` or `openai/gpt-sol-latest` when you want that Sol-tier default, and use the fixed tier IDs for controlled routing.

Phaseo also tracks tier aliases for the latest model in each tier: `openai/gpt-sol-latest`, `openai/gpt-terra-latest`, and `openai/gpt-luna-latest`. Use the fixed GPT-5.6 IDs for controlled migrations, and use the tier aliases only when you deliberately want future Sol, Terra, or Luna releases to roll forward through the same route.

## What's new

* GPT-5.6 adds the new Sol/Terra/Luna split instead of one default GPT route.
* All three GPT-5.6 tiers support `reasoning.effort: "max"` for the highest reasoning budget.
* GPT-5.6 supports `reasoning.mode: "pro"` without switching to a separate Pro model slug.
* GPT-5.6 adds persisted reasoning controls through `reasoning.context`.
* GPT-5.6 adds beta multi-agent support and Programmatic Tool Calling for eligible tool-heavy workflows.
* Prompt caching is priced with separate uncached input, cache read, cache write, and output meters.
* Explicit prompt caching is supported through cache breakpoints and `prompt_cache_options`. On GPT-5.6, `prompt_cache_options.ttl` replaces `prompt_cache_retention`, which Phaseo does not send to GPT-5.6 models.

## Update your request

Start by swapping only the model id and keeping the rest of the request stable.

The first examples use the Responses API-style `input` shape. If you are migrating Chat Completions traffic, keep using `messages` and the flat `reasoning_effort` field where the route supports it.

```json theme={null}
{
  "model": "openai/gpt-5.6-terra",
  "input": "Summarize the rollout risks in this migration plan.",
  "reasoning": {
    "effort": "medium"
  }
}
```

Use `max` effort only for routes where the extra reasoning budget is worth the latency and cost.

```json theme={null}
{
  "model": "openai/gpt-5.6-sol",
  "input": "Review this multi-service incident report and propose a rollback plan.",
  "reasoning": {
    "effort": "max"
  }
}
```

If your integration still sends the flat OpenAI-compatible field, Phaseo also accepts `reasoning_effort` where the route supports it:

```json theme={null}
{
  "model": "openai/gpt-5.6-sol",
  "messages": [
    {
      "role": "user",
      "content": "Design a test plan for this agent workflow."
    }
  ],
  "reasoning_effort": "max"
}
```

## Review pricing

GPT-5.6 pricing is tracked per 1M tokens in the catalog.

| Model | Input | Cache read | Cache write | Output |
| - | -: | -: | -: | -: |
| Sol | \$5.00 | \$0.50 | \$6.25 | \$30.00 |
| Terra | \$2.50 | \$0.25 | \$3.125 | \$15.00 |
| Luna | \$1.00 | \$0.10 | \$1.25 | \$6.00 |

Cache reads are priced separately from cache writes. In the current catalog, cache reads use a 90% discount from uncached input, while cache writes are priced at 1.25x uncached input. Each input token is billed at one of the three rates. Usage counts cache reads and writes inside `input_tokens` (`prompt_tokens` on Chat Completions) and reports writes in `cache_write_tokens`; see [usage and pricing fields](https://phaseo.app/docs/v1/guides/prompt-caching.md#usage-and-pricing-fields).

## Use prompt caching deliberately

For repeated context, keep the stable part of the prompt in cacheable blocks and leave request-specific text uncached.

```json theme={null}
{
  "model": "openai/gpt-5.6-sol",
  "input": [
    {
      "role": "user",
      "content": [
        {
          "type": "input_text",
          "text": "Stable policy document...",
          "prompt_cache_breakpoint": {
            "mode": "explicit"
          }
        },
        {
          "type": "input_text",
          "text": "Apply the policy to this new customer request."
        }
      ]
    }
  ],
  "prompt_cache_options": {
    "mode": "explicit",
    "ttl": "30m"
  }
}
```

`prompt_cache_breakpoint` caches everything up to and including its block. A block `cache_control` such as `{"type": "ephemeral"}` works too, and Phaseo sends it to GPT-5.6 as `prompt_cache_breakpoint`. Either mark reaches Claude as a cache breakpoint, so a fallback to Claude still caches. In `explicit` mode OpenAI caches only the breakpoints you place. The `ttl` is `30m` (the default) or `12h`, which OpenAI accepts on its Responses API only; see [12-hour cache on OpenAI](https://phaseo.app/docs/v1/guides/prompt-caching.md#12-hour-cache-on-openai). Phaseo does not send `prompt_cache_retention` to GPT-5.6. See [Prompt Caching](https://phaseo.app/docs/v1/guides/prompt-caching.md#openai-retention-and-options).

## What to test

### Reasoning and output quality

* Sol, Terra, and Luna at the effort levels you expect to expose to users, including `max` where quality-first workflows justify it
* standard mode versus `reasoning.mode: "pro"` on difficult tasks where quality matters more than latency
* structured outputs and schema pass rate at each effort level
* tool-call selection and argument quality

### Cost and latency

* latency at each reasoning effort
* output token growth relative to your current production baseline
* cache read/write mix on repeated prompts
* cost per successful task, not just price per token

### Rollback

* keep your previous GPT-5.x route available as a fallback
* keep `max` behind a config flag or preset until it is proven on production-like prompts
* monitor cache write volume separately from cache read volume
* move GPT-5.6 into default routing only after your own evals confirm task success, cost, and latency

## Sources

* [OpenAI GPT-5.6 preview announcement](https://openai.com/index/previewing-gpt-5-6-sol/)
* [OpenAI GPT-5.6 model guidance](https://developers.openai.com/api/docs/guides/latest-model)
* [OpenAI model catalog](https://developers.openai.com/api/docs/models)
* [GPT-5.6 preview system card](https://deploymentsafety.openai.com/gpt-5-6-preview)
* [Phaseo prompt caching guide](https://phaseo.app/docs/v1/guides/prompt-caching.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.