GPT-6 Astra
openai/gpt-6-astra is OpenAI's most capable model, built for end-to-end work that runs long: hard reasoning, agentic coding, computer use, research, and document production.
| Model | Context | Output | Inputs |
|---|---|---|---|
openai/gpt-6-astra | 1,050,000 | 128,000 | Text, image, PDF |
openai/gpt-6-astra-free | 200,000 | 128,000 | Text, image |
Audio input is not supported; a request carrying audio is refused upstream.
Pricing
Section titled “Pricing”Prices are per million tokens and are OpenAI's list rates. No margin is added to model prices.
| Model | Input / Cache read / Output ($/1M) |
|---|---|
openai/gpt-6-astra | 10.00 / 1.00 / 50.00 |
Cache writes are billed separately
Section titled “Cache writes are billed separately”This is the first OpenAI row in the LLMTR catalog that charges for prompt cache writes. On every other OpenAI model, writing to the cache is free. Here it is not.
| Metric | Standard | Requests above 272K tokens |
|---|---|---|
| Input | 10.00 | 20.00 |
| Cache read | 1.00 | 2.00 |
| Cache write | 12.50 | 25.00 |
| Output | 50.00 | 75.00 |
The cache-write rate is 1.25x the input rate. Cache-write tokens are a subset of input tokens, not an addition to them: on a cold request the cacheable prefix of the prompt is written to the cache, and that portion bills at the cache-write rate instead of the input rate. On a second request with the same prefix those same tokens move to the cache-read rate, one tenth of input.
In practice this means an agent loop that resends the same system prompt pays roughly 25% more on its first call and roughly 90% less on every call after it. Cache writes and cache reads appear as separate line items in your usage records.
When a request's input exceeds 272,000 tokens, the entire request is billed from the long-context column above: input and cache rates double, and the output rate rises by half.
Free card
Section titled “Free card”openai/gpt-6-astra-free serves the same model free of charge. No token charge
applies and your credit balance is untouched.
It differs from the metered row in four ways, all of them measured:
| Aspect | openai/gpt-6-astra | openai/gpt-6-astra-free |
|---|---|---|
| Charge | Per token | Free, daily quota |
| Output ceiling | Not enforced | 128,000 tokens per response, enforced |
| Context | 1,050,000 tokens | 200,000 tokens |
| Endpoint | /v1/responses and /v1/chat/completions | /v1/chat/completions only |
| PDF input | Yes | No |
There are two separate limits and they work differently:
| Limit | Enforced by | Shape | On exhaustion |
|---|---|---|---|
| Fair use | LLMTR | Requests over a sliding 24 hours | 429 with resetAt + retryAfterSeconds |
| Provider quota | Third-party infrastructure | Input tokens per hour | Resets at the top of the hour |
Hitting the LLMTR limit returns 429; the response body carries resetAt and
retryAfterSeconds, and the error message states the same thing in plain text.
The window slides, so you do not wait for the end of the day.
The provider quota is hourly and counts input tokens, so a single very long prompt spends more of it than hundreds of short ones. The platform manages that limit, and ordinary use does not meet it.
The metered row is subject to neither limit.
curl "$LLMTR_BASE_URL/v1/chat/completions" \ -H "Authorization: Bearer llmtr-your_key" \ -H "Content-Type: application/json" \ -d '{ "model": "openai/gpt-6-astra-free", "messages": [ { "role": "user", "content": "Make this function O(n)." } ], "max_tokens": 1024 }'Data policy
Section titled “Data policy”The free card is served through third-party infrastructure outside Türkiye, and your prompts and completions may be logged by that provider. Use the metered row for requests carrying sensitive or personal data. This warning is also shown on the model page, in the model picker, and in the playground.
Reasoning effort levels
Section titled “Reasoning effort levels”The free card accepts low, medium, high, xhigh, and max as well.
none and minimal are not accepted: this route answers 200 for both,
but measured reasoning-token counts come back level with low, so the level
is not actually applied. Rather than let it fail silently, the gateway
returns 400.
Text request
Section titled “Text request”curl "$LLMTR_BASE_URL/v1/responses" \ -H "Authorization: Bearer llmtr-your_key" \ -H "Content-Type: application/json" \ -d '{ "model": "openai/gpt-6-astra", "input": "List the irreversible steps in this migration plan.", "max_output_tokens": 1024 }'The same model can be called through /v1/chat/completions; the gateway translates the request into the Responses format and returns the answer in OpenAI chat format.
curl "$LLMTR_BASE_URL/v1/chat/completions" \ -H "Authorization: Bearer llmtr-your_key" \ -H "Content-Type: application/json" \ -d '{ "model": "openai/gpt-6-astra", "messages": [ { "role": "user", "content": "List the irreversible steps in this migration plan." } ], "max_tokens": 1024 }'Reasoning effort levels
Section titled “Reasoning effort levels”The model accepts five levels: low, medium, high, xhigh, and max. none and minimal are not accepted; sending either returns 400.
{ "model": "openai/gpt-6-astra", "reasoning_effort": "max", "input": "Explain why this race condition only shows up under load.", "max_output_tokens": 4096}The level can be set three ways, in priority order reasoning_effort > reasoning.effort > slug suffix. See Reasoning Effort for details.
On this model the :max suffix resolves to a real max level rather than falling back to xhigh:
openai/gpt-6-astra:max -> reasoning effort = maxopenai/gpt-6-astra:xhigh -> reasoning effort = xhighHigher levels spend more reasoning tokens, and those tokens bill at the output rate. At max, a low max_output_tokens can be consumed entirely by reasoning, leaving the answer text empty.
Sampling parameters
Section titled “Sampling parameters”temperature and top_p are not supported on this model. Rather than rejecting the request, the gateway removes these fields and reports which ones were dropped, so clients that send them by default keep working.
Image and document input
Section titled “Image and document input”Images and PDFs are sent in the content array:
{ "model": "openai/gpt-6-astra", "input": [ { "role": "user", "content": [ { "type": "input_text", "text": "Find the inconsistencies in this table." }, { "type": "input_image", "image_url": "data:image/png;base64,..." } ] } ], "max_output_tokens": 2048}Image tokens bill at the input rate.
Tool calling and structured output
Section titled “Tool calling and structured output”Function calling, parallel calls, tool_choice: "required", and json_schema with strict: true are all supported. See Tool Calling for the shared request format.
Streaming
Section titled “Streaming”The model supports streaming. The final frame of the stream carries the complete usage block, so streamed requests are billed from real token counts as well. See Streaming.