{"slug": "gpt-6-astra-reasoning-effort-max-costs-2-3x-low-for-the-same-answers", "title": "GPT-6 Astra Reasoning Effort: max Costs 2.3x low for the Same Answers", "summary": "An engineer's benchmark of OpenAI's GPT-6 Astra reveals that the 'max' reasoning effort setting costs 2.3 times more than 'low' but yields identical answers across 11 verified tasks, while the 'none' setting fails 17 of 33 runs. The API's documentation and validation are inconsistent: it advertises seven effort values but rejects 'minimal' on all models, and accepts an undocumented 'disabled' value that does nothing. OpenAI's launch benchmarks, reported as 'the maximum at any effort,' reflect the most expensive setting, and the model trails Claude Fable 5.1 on Humanity's Last Exam and the Artificial Analysis Intelligence Index.", "body_md": "On [GPT-6 Astra](https://synthorai.io/models/gpt-6-astra/), `reasoning_effort: \"max\"` costs 2.3x what `low` costs and returns the same answer on every one of 11 verified tasks; the only setting that changes accuracy is `none`, which fails 17 of 33 runs (11 tasks, 3 runs each). `reasoning_effort` is the request parameter that sets how much hidden thinking the model does before it answers; that thinking is billed as reasoning tokens at the output rate, and the ordered values from `none` to `max` are the ladder this post measures. The ladder is not the one in the docs: the API's own input check advertises seven values, one of them (`minimal`) is rejected on every model, and one it never mentions (` disabled`) is accepted on Astra and does not disable anything. That matters for reading OpenAI's launch benchmarks, reported as \"the maximum at any effort\": the leaderboard number comes from the most expensive rung of the ladder.\n\n**TL;DR**\n\n`reasoning_effort` values including `none` and `disabled`; the docs list five and say `low`'s 151 and costs 54% more per correct answer, same accuracy.` max`, on work both models get right.\nAhead on agent-style work (the model driving tools in a loop, often in a terminal), behind [Claude Fable 5.1](https://synthorai.io/models/claude-fable-5-1/) on Humanity's Last Exam and on the Artificial Analysis Intelligence Index (an independent aggregate of ten evaluations), and every score reported at whichever effort scored highest. The table below is OpenAI's own, from the [launch page](https://openai.com/index/gpt-6-astra/), with the comparison columns OpenAI chose:\n\n| Benchmark | What it tests | [GPT-6 Astra](https://synthorai.io/models/gpt-6-astra/) | [GPT-5.6 Sol](https://synthorai.io/models/gpt-5-6-sol/) | Claude Fable 5.1 | [Claude Opus 5](https://synthorai.io/models/claude-opus-5/) | \n|---|---|---|---|---|---|\n| Terminal-Bench 4.0 | agent tasks in a terminal | **57.9%** | 37.3% | 55.8% | 52.6% | \n| Terminal-Bench Science 0.1 | research workflows with code | **64.6%** | 22.4% | 52.6% | 30.0% | \n| FrontierMath Tier 4 (v2) | research-level mathematics | **97.6%** | 83.0% | 87.8% | 73.2% | \n| ARC-AGI-3 | solving novel puzzle environments | **99.9%** | 7.8% | not listed | 30.2% | \n| Humanity's Last Exam, with tools | expert-written questions across fields | 57.2% | not listed | **65.0%** | 63.6% | \n| Artificial Analysis Intelligence Index v4.1.1 | aggregate of ten evaluations | 61.2 | 60.9 | **65.7** | 63.1 | \n\nThree things to read alongside the wins:\n\nThe sentence under the tables is the one that connects the benchmarks to your bill: \"Evaluation scores are the maximum at any effort.\" The Artificial Analysis leaderboard lists each model once per effort setting, and Astra at `xhigh` scores 54 against 55 at `max`. The rest of this post prices that point.\n\nSeven, and that is not the set the API advertises: one advertised value is rejected on every model, and one accepted value is advertised nowhere. The [model page](https://developers.openai.com/api/docs/models/gpt-6-astra) lists `low`, `medium`, `high`, `xhigh` and `max`, and states the model \"does not support `none` reasoning effort\". The API disagrees with the docs twice, and with itself once.\n\nSend an invalid value and the first check, which validates the request shape before any model is involved, answers with the same list of allowed values on [GPT-6 Astra](https://synthorai.io/models/gpt-6-astra/) and [GPT-5.6 Sol](https://synthorai.io/models/gpt-5-6-sol/):\n\n```\nInvalid value: '__invalid__'. Supported values are: 'none', 'minimal', 'low', 'medium', 'high', 'xhigh', and 'max'.\n```\n\nThen send each of those values and a second check, specific to the model, rejects some of what the first one advertised (200 means the request went through, 400 means it was rejected):\n\n| Value | In the advertised list | GPT-6 Astra | GPT-5.6 Sol | \n|---|---|---|---|\n| `none` | yes | 200 | 200 | \n| `minimal` | yes | 400, \"not supported with the 'gpt-6-astra-2026-09-03' model\" | 400, same | \n| `disabled` | **no** | **200** | 400 | \n| `low` through`max` | yes | 200 | 200 | \n\nSo `none` works although the docs say it does not, `minimal` is advertised and rejected everywhere, and `disabled` is accepted on Astra alone without appearing in any list. The error messages also give away the dated build the `gpt-6-astra` alias currently points to, `gpt-6-astra-2026-09-03`.\n\n`none` does, and it is the only value that does. `disabled` is a normal rung with a misleading name. We sent 11 tasks whose answers were computed by exhaustive search on our own machine first, so the answer key cannot be wrong (a rule applied 40 times in a row, a counting problem under three constraints, a knapsack, a base conversion, 7 to the power 222 modulo 1000, and six shorter ones), at all seven efforts (six on Sol, which rejects `disabled`), 3 runs per task and effort, through an endpoint that speaks the OpenAI Chat Completions API. The five hardest, on GPT-6 Astra:\n\n| effort | accuracy | mean reasoning tokens | cost per call | cost per correct answer | \n|---|---|---|---|---|\n| `none` | **20%** (3 of 15) | 0 | $0.00086 | $0.0043 | \n| `disabled` | 100% | 243 | $0.01311 | $0.0131 | \n| `low` | 100% | 151 | $0.00851 | **$0.0085** | \n| `medium` | 100% | 159 | $0.00890 | $0.0089 | \n| `high` | 100% | 203 | $0.01110 | $0.0111 | \n| `xhigh` | 100% | 279 | $0.01491 | $0.0149 | \n| `max` | 100% | 370 | $0.01946 | $0.0195 | \n\nCost per correct answer is the spend on a task-and-effort cell divided by the runs it got right: a setting that is 20% correct pays for five runs to get one answer. The cliff is one step wide. Every rung from `low` up scored 33 of 33 across all 11 tasks on both models; `none` scored 16 of 33 on Astra and 21 of 33 on Sol, and on the iterated-map task Astra returned three different wrong numbers in three runs. There is no gradual degradation to tune against: reasoning is on, or the model is guessing.\n\n`disabled` is the trap. It spends more reasoning tokens than `low`, `medium` or `high`, and costs 54% more per correct answer than `low` for the same 100%. Only `xhigh` and `max` cost more per correct answer than the value whose name says off.\n\nNothing on these tasks, at 2.3x the price: $0.01946 per call against $0.00851, both 100% correct. Reasoning tokens climb from 151 at `low` to 370 at `max`, and every one of them bills at the $50 per million output rate.\n\nThat is the number to hold next to the benchmark table. Reporting \"the maximum at any effort\" means each score comes from whichever rung scored best, and on the independent leaderboard Astra's best entry is its `max` entry, one point above `xhigh`; our ladder prices that rung at 1.3x the one below it. On a workload that resembles the launch benchmarks, the extra effort may earn its cost. On a workload that resembles ours, it does not, and you find out which by measuring your own tasks at `low` first.\n\nAt `low`, no: 1.57x. At `max`, yes: 2.57x. List price is the per-token price on the vendor's own page: Astra lists at $10 input and $50 output per million tokens, Sol at $4 and $20 (both from the OpenAI model pages for [Astra](https://developers.openai.com/api/docs/models/gpt-6-astra) and [Sol](https://developers.openai.com/api/docs/models/gpt-5.6-sol) on 2026-09-07), so the list gap is 2.5x on both sides; the [GPT-5.6 Sol vs [GPT-6 Astra](https://synthorai.io/models/gpt-6-astra/) comparison page]([https://synthorai.io/compare/models/gpt-5-6-sol-vs-gpt-6-astra/](https://synthorai.io/compare/models/gpt-5-6-sol-vs-gpt-6-astra/)) carries the live catalog prices. Cost per correct answer, computed from token counts at those list prices across all 11 tasks, both models scoring 33 of 33 from `low` up:\n\n| effort | GPT-6 Astra per correct | [GPT-5.6 Sol](https://synthorai.io/models/gpt-5-6-sol/) per correct | ratio | \n|---|---|---|---|\n| `low` | $0.00560 | $0.00356 | **1.57x** | \n| `medium` | $0.00618 | $0.00373 | 1.66x | \n| `high` | $0.00741 | $0.00400 | 1.85x | \n| `xhigh` | $0.01005 | $0.00443 | 2.27x | \n| `max` | $0.01349 | $0.00525 | 2.57x | \n\nAstra spends fewer reasoning tokens than Sol to reach the same answer at the low rungs (91 against 158 per call across the 11 tasks at `low`), which is where the gap closes; its reasoning then grows faster up the ladder (249 against 242 at `max`), and there the per-answer gap is the full list-price gap.\n\nThe claim stays narrow: both models score 100% from `low` up, so this set does not separate their capability, only the price of an answer both get right, which runs from 1.6x to 2.6x on one parameter. OpenAI's launch page reports the opposite direction on agent work, Terminal-Bench 4.0 at \"approximately 9% and 63% lower estimated API cost per task\" than Sol and Fable 5.1, where a model that solves more tasks in fewer tokens can be cheaper despite a higher per-token price. Different workloads; the effort setting decides the bill on both.\n\nNot at `low`; `medium` does. We sent a one-step task (add 2 hours 37 minutes to 08:15) three ways: bare, inside a strict `response_format` JSON schema (the reply must be JSON matching a shape you supply), and as a forced tool call (`tool_choice` pinned to one function, so the model must answer by calling it), at four efforts, 3 runs each. [GPT-6 Astra](https://synthorai.io/models/gpt-6-astra/), mean reasoning tokens (with their share of all billed output tokens) and cost per call:\n\n| shape | `none` | `low` | `medium` | `high` | \n|---|---|---|---|---|\n| bare | 0, $0.00085 | 0, $0.00084 | 18 (67% of output), $0.00185 | 24 (73%), $0.00217 | \n| JSON schema | 0, $0.00141 | 4 (23%), $0.00165 | 21 (57%), $0.00257 | 26 (62%), $0.00282 | \n| forced tool call | 0, $0.00196 | 0, $0.00197 | 5 (18%), $0.00223 | 20 (47%), $0.00307 | \n\n`low` scales to zero: on a task with no steps it spends no reasoning and costs the same as `none`, and on the multi-step set above it spends 16 to 345 tokens per task and stays correct where `none` collapses, so `low` is the floor. The shell is not the tax: a schema or a tool call at `low` adds 0 to 4 reasoning tokens, while `medium` puts reasoning at 57 to 67% of the output tokens bare and in the schema, and 18% in the tool call, on a task with nothing to reason about. The same extraction costs 1.6x more at `medium` than at `low` inside the schema and 2.2x more bare, and the July [GPT-5.6 cost guide](https://synthorai.io/blog/gpt-5-6-cost-guide/) found the same lever on that family. Sol is flatter: 0 reasoning bare and in the schema at every effort, 14 to 18 tokens on the forced tool call from `medium` up.\n\nOn one of OpenAI's two API surfaces. The older Chat Completions endpoint and the newer Responses endpoint accept the same model and bill the same way; the same question at `medium`, 3 runs per surface:\n\n| Surface | reasoning tokens billed | reasoning text returned | \n|---|---|---|\n| `/v1/chat/completions` | 76, 75, 120 | none; the message carries `role` and`content` only | \n| `/v1/responses` with`reasoning.summary: \"auto\"` | 62, 62, 116 | a `reasoning` item with a 277 to 352 character summary | \n\nThe token counts are within noise of each other, so the billing is the same and the only difference is whether you can see what you paid for. At $50 per million output tokens, the endpoint decides that. The docs also route tool calling to Responses (\"[GPT-6 Astra](https://synthorai.io/models/gpt-6-astra/) supports Chat Completions, but tool calling requires Responses\"), so a tool-using workload lands on the readable surface by requirement.\n\nMost of the contract. Measured:\n\n`temperature` returns 400 on Astra and Sol alike (\"not supported with this model\"), and so do `top_p` and `logprobs`; `response_format` with a strict JSON schema returns schema-valid output on both; `max_tokens` below 16 is rejected on both.`reasoning_effort: \"max\"` returned 400 on GPT-5.6 Sol through Chat Completions. It is accepted now, and Sol scored 33 of 33 at it.\nFrom the docs, not measured here: the context window is 1,050,000 tokens with a 922,000 maximum input and 128,000 maximum output; prompts above 272K input tokens are billed at 2x the input and cache rates, the same threshold the GPT-5.6 family carries and [the same mechanism we measured across vendors](https://synthorai.io/blog/llm-long-context-pricing-tiers/); cache reads list at $1 per million and cache writes at $12.50, with a new `prompt_cache_options.ttl: \"30m\"` parameter replacing `prompt_cache_retention`. Fast mode, a paid option OpenAI says delivers up to 2x the speed, is 2x the standard price.\n\nThe gateway passes `reasoning_effort` through unchanged, including the values the docs do not list, and the per-request usage record keeps `reasoning_tokens` as its own field next to `completion_tokens` and the billed cost. That is what every table above was built from: the effort a request was sent at, the reasoning it burned, and what it cost, readable per request rather than reconstructed from a monthly total.\n\n**Does GPT-6 Astra support reasoning_effort none?**\n\nYes. The docs say it does not; the API accepts it on [GPT-6 Astra](https://synthorai.io/models/gpt-6-astra/) and on [GPT-5.6 Sol](https://synthorai.io/models/gpt-5-6-sol/), and it is the only value that returns zero reasoning tokens. It also failed 17 of 33 runs on a verified task set, so it is a setting for lookups and transforms, not for anything with steps.\n\n**What does reasoning_effort disabled do on GPT-6 Astra?**\n\nIt reasons. `disabled` is accepted on [GPT-6 Astra](https://synthorai.io/models/gpt-6-astra/) (and rejected on [GPT-5.6 Sol](https://synthorai.io/models/gpt-5-6-sol/)), appears in no documented or advertised list, and spent 243 reasoning tokens per call on our hard set against 151 for `low`, with identical accuracy. Treat it as an expensive alias for a middle rung, not as an off switch.\n\n**Which reasoning_effort should I default to on GPT-6 Astra?**\n\n`low`. On [GPT-6 Astra](https://synthorai.io/models/gpt-6-astra/) it spent zero reasoning on a one-step task and 16 to 345 tokens per task on multi-step ones, scored 33 of 33 where `none` scored 16, and `max` cost 2.3x as much for the same answers. Raise a specific call site only when an eval on your own tasks shows a higher rung changing outcomes. Set it explicitly on every call and read the reasoning count back from the usage block:\n\n```\nresp = client.chat.completions.create(\n    model=\"gpt-6-astra\",\n    reasoning_effort=\"low\",\n    messages=[{\"role\": \"user\", \"content\": prompt}],\n)\nprint(resp.usage.completion_tokens_details.reasoning_tokens)\n```\n\n*Measured 2026-09-07 through an OpenAI-compatible Chat Completions surface, plus the Responses endpoint for the visibility comparison: 11 tasks with locally brute-forced answer keys, 7 effort values, 3 runs per cell on both models, salted prompts (a unique suffix per request so no reply is served from a cache), cost taken from per-request usage accounting. Benchmark figures are OpenAI's launch table and the Artificial Analysis leaderboard, both fetched the same day. Cost per correct answer against GPT-5.6 Sol is computed from token counts at each model's documented list price.*\n\nRelated: [thinking controls across 13 models](https://synthorai.io/blog/llm-thinking-controls/), [GPT-5.6 cost guide](https://synthorai.io/blog/gpt-5-6-cost-guide/), [Claude Opus 5 cost](https://synthorai.io/blog/claude-opus-5-cost/), [long-context pricing tiers](https://synthorai.io/blog/llm-long-context-pricing-tiers/), [prompt cache write cost](https://synthorai.io/blog/prompt-cache-write-cost/).", "url": "https://wpnews.pro/news/gpt-6-astra-reasoning-effort-max-costs-2-3x-low-for-the-same-answers", "canonical_source": "https://dev.to/synthorai/gpt-6-astra-reasoning-effort-max-costs-23x-low-for-the-same-answers-5bjh", "published_at": "2026-09-07 16:44:08+00:00", "updated_at": "2026-09-07 16:56:55.108339+00:00", "lang": "en", "topics": ["large-language-models", "ai-research", "ai-products", "ai-infrastructure"], "entities": ["OpenAI", "GPT-6 Astra", "GPT-5.6 Sol", "Claude Fable 5.1", "Claude Opus 5", "Artificial Analysis Intelligence Index", "Humanity's Last Exam", "Terminal-Bench"], "alternates": {"html": "https://wpnews.pro/news/gpt-6-astra-reasoning-effort-max-costs-2-3x-low-for-the-same-answers", "markdown": "https://wpnews.pro/news/gpt-6-astra-reasoning-effort-max-costs-2-3x-low-for-the-same-answers.md", "text": "https://wpnews.pro/news/gpt-6-astra-reasoning-effort-max-costs-2-3x-low-for-the-same-answers.txt", "jsonld": "https://wpnews.pro/news/gpt-6-astra-reasoning-effort-max-costs-2-3x-low-for-the-same-answers.jsonld"}}