• Compute
  • Customers
  • Pricing
Sign In
More Blog Posts
XDiscordLinkedInYouTube

Products

  • GPUs
  • Inference
  • Studio

Developers

  • Model library
  • Documentation
  • Glossary

Company

  • About Us
  • Blog
  • Events
  • Partnership
  • Scale
  • Career
  • Ambassador program
  • Mission & Vision

Popular models

    Stay in the loop

    By submitting, you acknowledge that we may collect and use the information you provide, which may include personal information.

    XDiscordLinkedInYouTube

    Copyright ©2026 All rights reserved.

    Privacy PolicyTerms of UseLegal Documentation
    More Blog Posts
    Other

    Which Model Routers Can Cut GPT-6 Astra Costs Without Rewriting Your Prompts?

    September 25, 2026

    For the simple requests that don't need a frontier model, we recommend GMI Router. Your prompt runs verbatim on the model the router selects, so the prompt text you send to GPT-6 Astra today can go through unchanged. You set Cost, Balanced, or Quality on each request, the router reads the task behind the prompt, and it picks from an Allowed Model Pool that your org owner approves. Routing is free during the preview, and you pay only for the model that runs your prompt.

    One condition shapes the setup: GMI Router chooses only from the models in your approved pool, so Astra is a routing candidate only if your pool includes it. Requests that must run on Astra itself can stay on your current OpenAI integration while you route everything else, and our team can tell you which models your pool can include.

    Other routers handle Astra and your existing code differently. OpenRouter's catalog includes openai/gpt-6-astra, and its Auto Router is called like any other model on an OpenAI-compatible API, though a catalog listing alone does not make a model one of the Auto Router's candidates. Microsoft Foundry model router is a single Foundry deployment, and its current supported-model list includes gpt-6-astra, with availability depending on region and the model subset you configure. Not Diamond recommends a model and leaves the call to you. Amazon Bedrock Intelligent Prompt Routing works only within Amazon, Anthropic, and Meta model families, so it doesn't apply to OpenAI traffic. Whichever you choose, two questions decide whether it pays off: how much of your Astra bill is simple work, and what "without rewriting prompts" costs you in code.

    Estimate what routing can save from your Astra logs

    Start with spend, not request counts. Simple requests such as classification, extraction, reformatting, and short summaries are often the majority of calls but a smaller share of the bill, because they are short and produce little output. Long reasoning, code generation, and multi-step agent work use more input, output, and reasoning tokens per call, so a few of those requests can outweigh many simple ones.

    Your OpenAI usage logs already hold what you need. For a representative window, such as the last two to four weeks:

    1. Export per-request token counts. Keep input, output, and reasoning tokens for each call, along with the feature or call site that sent it.
    2. Label a sample by difficulty. Read a few hundred requests from each call site and mark each one simple or hard. Call sites tend to be consistent, so a sample usually shows which ones are mostly simple.
    3. Price each request at your Astra rates. Sum the cost of the simple requests and divide by the total. That gives the simple share of spend, S.
    4. Estimate the price ratio, r. For the simple requests, compare what a lower-cost model would charge for the same token counts with what Astra charged. Output lengths can differ between models, so treat this as a first estimate.

    The ceiling on savings is then S × (1 − r) of your current Astra bill. As an illustration with round numbers: simple requests at 60% of calls but 25% of spend, moved to a model that costs one tenth as much per request, give a ceiling of 25% × 90%, or 22.5% of the bill. The formula assumes the same set of requests, answers from the lower-cost model that meet your quality bar, and an r that reflects the full cost of each request, including retries and any change in output length. Real savings land below the ceiling, because the router keeps some simple-looking requests on stronger models when quality calls for it, and because hard requests still pay frontier prices.

    For a sense of what routing does across a broad mix of tasks, GMI's internal benchmark across eight task categories found that GMI Router in Quality mode scored 2.4 points higher than always using GPT-5.5, at 28% lower cost per task, and that Balanced mode cost 84% less per task than always using Opus 4.8. Those figures compare against GPT-5.5 and Opus 4.8, not Astra; they are directional and not independently audited, and routing ran within the allowed pool. Your own number comes from S and r.

    What "without rewriting prompts" means in practice

    A router can leave your prompts alone and still require code changes. Separate the change into three layers.

    The prompt text. The test for any router is whether the prompt that reaches the model is the one you sent. GMI Router runs your prompt verbatim: system messages, few-shot examples, and user content arrive as written.

    The request wrapper. Your application calls a new endpoint with a new key. GMI Router has a dedicated endpoint, authenticated with your GMI API key, and it takes the same OpenAI-style messages array you already build:

    curl -X POST https://console.gmicloud.ai/api/v1/ie/recommendation/autoroute \
      -H "Authorization: Bearer $GMI_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "messages": [
          { "role": "system", "content": "<your existing system prompt>" },
          { "role": "user", "content": "<your existing user message>" }
        ],
        "mode": "cost",
        "stream": false
      }'
    

    The documented request fields are messages, mode, and stream, and unknown fields are ignored. The model field goes away, because the router chooses. Calls that depend on tool definitions, a JSON response format, or specific sampling settings are the ones to keep on a direct model endpoint. The router is stateless, so resend the full conversation on every request, the same way a chat completions call works.

    The response parser. A non-streaming response returns model, message, and a routing_metadata object with selected_model, task_type, selected_mode, fallback_models, and recommendation_id. Point your parser at message instead of a choices array, and log the metadata. Streaming is the default and sends the routing metadata as a separate event after the text. The GMI Router documentation covers both formats and the status codes.

    For most applications that is a change to one API client, not to the prompts.

    Keep hard requests on frontier models

    The worry with a cost-focused router is that it sends a hard request to a weak model. GMI Router is designed around the opposite split: it saves your strongest models for hard tasks and uses cost-efficient models where quality holds. Two controls decide how far it leans each way.

    • Mode, per request. Cost picks lower-cost models while keeping quality acceptable. Balanced weighs quality and price. Quality chooses the strongest models for high-value tasks.
    • Allowed Model Pool, per workspace. The router selects only among models your org owner approves, so the pool sets both the floor and the ceiling. Put the frontier models you trust for hard work in the pool next to the lower-cost ones.

    With no routing rules in place, the simplest starting point is to set the mode per call site rather than per prompt. Background jobs such as tagging and summarization can send mode: "cost", customer-facing answers can send balanced, and the features where a wrong answer is expensive can send quality. That is one setting per feature, not a rule set to maintain, and the router still decides each request inside that setting. Requests that must run on Astra itself and are not covered by your pool stay on your existing OpenAI call.

    How the main routers compare on these two points

    The routers differ on the two points that matter here: whether Astra can stay among the candidates, and what changes in your code.

    Router Can Astra stay a candidate? What changes in your code
    GMI Router The router picks only from your approved pool, so Astra is a candidate only if your pool includes it New endpoint and GMI API key; request carries messages, mode, stream; response parser reads message and routing_metadata; prompts unchanged
    OpenRouter Auto Router OpenRouter's catalog includes openai/gpt-6-astra, but the Auto Router chooses among the models it ranks for each task type and cost tier; allowed_models and excluded_models only narrow that set, so a catalog listing does not by itself make Astra a candidate Set model to openrouter/auto on an OpenAI-compatible API, plus an OpenRouter key and base URL
    Microsoft Foundry model router Microsoft's current router model list includes gpt-6-astra; availability depends on region and the configured model subset Deploy the router as a Foundry deployment and call it like any other Foundry model; mode and model subset are set per deployment
    Not Diamond Not Diamond's published supported-model list for routing goes up to GPT-5.5 among OpenAI models Add a call that returns a recommended model, then call that model yourself with your existing SDK
    Amazon Bedrock Intelligent Prompt Routing Supported models come from the Amazon, Anthropic, and Meta families only, with exactly two models from one family per configured router Not an option for OpenAI traffic without changing model families

    Two notes on prompts. OpenRouter documents a context-compression plugin that removes or truncates messages from the middle of a prompt, on by default for endpoints with 8,192 tokens of context or less, so check that setting before you count on verbatim delivery. Not Diamond also sells prompt optimization, which rewrites a prompt for each target model; its routing works without it.

    Check the estimate on your own traffic

    Run a short check before moving production traffic. Paste a handful of your simple and hard Astra prompts into Test Routing in the GMI console and see which model each mode selects. Then send a few hundred logged simple requests through the routing endpoint with mode: "cost", which runs the selected model and bills its usage. A separate API key for this batch makes the trial traffic easier to pick out. Compare the answers with the Astra answers you already have and record selected_model and task_type for each request. After the first batch, confirm how the routed requests appear on the Serverless Usage page (it can be filtered by API key and model), then recompute r from what you actually paid. S × (1 − r) then becomes a number you can defend in a budget review.

    When a router will not move the bill much

    Routing pays when simple work is a real share of spend. A few patterns cap the savings:

    • The bill is mostly hard work. When long reasoning or agent sessions account for most of the spend, S is small, and routing those requests to cheaper models is the trade you don't want.
    • The expensive calls need fields the router ignores. Tool-calling agents and strict JSON outputs stay on direct model endpoints, so their cost stays where it is.
    • One call site dominates. When a single feature produces most of the simple traffic, pointing that feature at a fixed lower-cost model may capture most of the savings with less change. A router earns its place when difficulty varies within and across features.

    Try routing on your Astra prompts

    Open Test Routing, paste the prompts you send to Astra most often, and compare the picks across Cost, Balanced, and Quality. To discuss what your Allowed Model Pool can include for your workloads, contact our team.

    Colin Mo

    Build AI Without Limits

    GMI Cloud helps you architect, deploy, optimize, and scale your AI strategies

    Ready to build?

    Explore powerful AI models and launch your project in just a few clicks.

    Get Started