Skip to content
Available on AWS MarketplaceAzure AI Foundry · coming soon

Every request goes to the right Bedrock model.

AI Cloud Gateway is an OpenAI-compatible router for Amazon Bedrock. Each call goes to the lowest-cost model that can answer it well. Inference runs in your own AWS account, at your Bedrock prices.

No token markupWorks with the OpenAI SDKPlans from $19/month
POST /v1/chat/completions
Prompt · model: "auto"
Signals read
task: classificationdifficulty: lowlength: short
Candidates, cheapest first
amazon.nova-micro$
amazon.nova-lite$
anthropic.claude-haiku-5-5$$
openai.gpt-oss-120b$$
meta.llama3-3-70b$$
amazon.nova-pro$$
anthropic.claude-sonnet-5-5$$$
anthropic.claude-opus-5-5$$$$
AmazonAnthropicMetaOpenAI
0

extra model calls. A rules engine decides in milliseconds.

1

endpoint across Bedrock's leading models from Amazon, Anthropic, Meta and OpenAI

$0

markup on tokens. AWS bills Bedrock to you directly.

3

US regions for inference in your account

How it works

Your app calls one endpoint. Bedrock runs in your account.

The gateway picks the model and makes the call through a role you create. AWS bills the Bedrock tokens to you at your own prices. We bill only for routed requests.

Your app or agentOpenAI SDK, LangChain,AgentCore, curlAI Cloud Gatewayapi.aicloudgateway.compicks the model, appliesbudgets and guardrailsYOUR AWS ACCOUNTAmazon BedrockNova · Claude · Llamagpt-ossbilled by AWS, your pricesmodel: "auto"IAM role via STSExternal ID
  1. STEP 1

    Subscribe on AWS Marketplace

    Pick Starter, Team or Business. Billing runs through your AWS invoice.

    ~2 min
  2. STEP 2

    Connect your AWS account

    Launch our CloudFormation stack. It creates a role that can only invoke Bedrock models and apply your guardrails.

    ~5 min
  3. STEP 3

    Enable models and create a key

    Turn on the models you want in the Bedrock console, then create an acg_ API key in the dashboard.

    ~5 min
  4. STEP 4

    Point your SDK at the gateway

    Change the base URL and set model="auto". The rest of your code keeps working.

    1 line
Savings

Most requests don't need your strongest model.

Send everything to one model and every request pays for the hardest one. Routed, each request goes to the cheapest model expected to answer it well, and on Bedrock the price gap between models is more than a hundredfold. Our plan is a flat fee next to that.

Requests a month
Typical request
Without routing, everything goes to
The plan pays for itself when
1.3%

of requests go to Claude Haiku 5.5 instead of Claude Sonnet 5.5. Everything routed beyond that is money kept.

Everything on Claude Sonnet 5.5$11,000
AI Cloud Gateway, Team$139
Floor: everything on Nova Micro$161
Ceiling on savings, after the plan$10,700 / month

The ceiling assumes every request could go to the cheapest model, which real traffic never allows: hard prompts still need strong models, and the router sends them there. Bedrock on-demand list prices, us-east-1, for the visible tokens shown; Claude 5.5 also thinks before answering, which adds output tokens. Bedrock bills you directly; every response names the model that answered.

Routing

Rules you can read, results you can repeat.

The router reads the task type, difficulty, length, tools and images. The same request always picks the same model, and every response says which model answered.

auto

The default. Picks the cheapest model expected to answer the request well.

auto:cost

Leans further toward lower-cost models.

auto:quality

Leans toward stronger models when the task is hard.

anthropic.claude-…

Pin one model by its ID when you need to.

task: · effort:

Tags in the prompt steer the choice. They are removed before the model sees it.

import os
from openai import OpenAI

client = OpenAI(
    base_url="https://api.aicloudgateway.com/v1",
    api_key=os.environ["ACG_API_KEY"],
)

reply = client.chat.completions.create(
    model="auto",  # or "auto:cost", "auto:quality"
    messages=[{"role": "user", "content": "Hello"}],
    stream=True,
)
OpenAI-compatible · streaming · tools · images · JSON

Each request gets one that can do the job.

Before cost comes capability. The router checks what a request needs, rules out the models that can't do it, then picks the cheapest of the rest.

  1. 1

    Can it do this?

    A request with tools only goes to models that call tools; one with images only to models that read them; one asking for JSON only to models that return it.

  2. 2

    Does it fit?

    The model's context window must hold the input plus the expected answer, so long documents never reach a model that would cut them off.

  3. 3

    Is it allowed and enabled?

    Only models enabled in your AWS account, in your region, and allowed by your policy are considered.

  4. 4

    Cheapest that answers well

    Of what is left, the cheapest model expected to answer at this difficulty wins. Hard prompts go to stronger models.

Controls

Spend limits and guardrails you set.

Monthly budgets

Cap estimated spend, request count, or both, for the whole subscription or for one API key. When a cap is reached, further requests are refused, and refused calls are not billed.

Key acg_…prod · spend$312.40 of $400
Requests this month41,800 of 60,000
403 budget_exceeded · the monthly limit for this key is reached

Example values. Spend is estimated from Bedrock on-demand list prices.

Your own Bedrock Guardrails

Name a guardrail from your AWS account and the gateway applies it to every request. You keep the policies and filters you already manage in Bedrock.

Guardrail ID or ARN
arn:aws:bedrock:us-east-1:123456789012:guardrail/q8x2…
Version
3
● Applied to all requests on this connection

Opt-in. Works with cross-Region inference.

Dashboard

See every request, model and dollar.

Usage by day and by model, your plan allowance, budgets, keys and the AWS connection, in one place.

AI Cloud Gateway

Usage

Oct 7 – Nov 5, 2026
Requests
612,480
▲ 18% vs prior 30 days
Input tokens
941.2M
Output tokens
188.6M
Included requests used · Team plan612,480 of 1,000,000
Requests per day
0k10k20k30k14,000 requests16,838 requests13,856 requests12,373 requests16,325 requests9,557 requests7,557 requests14,213 requests18,314 requests17,372 requests14,100 requests16,473 requests10,846 requests9,404 requests15,113 requests18,834 requests20,446 requests16,897 requests16,786 requests11,523 requests11,317 requests17,095 requests18,954 requests22,543 requests20,346 requests17,910 requests11,727 requests12,906 requests20,088 requests19,402 requestsOct 7Nov 5
ModelRequestsInput tokOutput tok
amazon.nova-micro288,140352.1M61.0M
anthropic.claude-haiku-5-5141,920198.4M39.7M
amazon.nova-lite96,310201.8M34.2M
openai.gpt-oss-120b58,700121.5M27.9M
anthropic.claude-sonnet-5-527,41067.4M25.8M

Example data. Use the sidebar to look around.

Data handling

Clear about what we keep, and what we don't.

What we store

  • Hourly request and token counts per model
  • The routing signals behind each decision, with no prompt text
  • API keys, as a one-way hash
  • Your role ARN and External ID

What we never store

  • Prompts or completions
  • Images or tool results you send
  • AWS credentials. Calls use a short-lived STS session.

Requests pass through the router in AWS us-east-1, in memory only, then go to Bedrock in your account. Inference regions: us-east-1, us-east-2 and us-west-2. Read the data-handling guide →

Pricing

Pay per routed request. Tokens stay at your AWS price.

Starter

$19/month
50,000 requests / month
then $0.30 per 1,000
  • Full routing, budgets and guardrails
  • Email support, next business day
Choose Starter

Team

Most teams
$139/month
1,000,000 requests / month
then $0.25 per 1,000
  • Everything in Starter
  • Faster email support
Choose Team

Business

$649/month
5,000,000 requests / month
then $0.22 per 1,000
  • Everything in Team
  • Priority support
Choose Business
Same routing on every planOne AWS account per subscriptionRefused requests are freeUpgrade any time; downgrades apply at renewal
Available now

AWS Marketplace

Subscribe with your AWS account and pay on your AWS bill. Bedrock runs in your account in us-east-1, us-east-2 or us-west-2.

View the listing
Coming soon

Azure Marketplace

An edition for Azure AI Foundry is planned, with the same routing and controls. Tell us if you want early access.

Ask for early access
Questions

Before you subscribe

Do I pay for tokens through you?

No. Bedrock runs in your AWS account, and AWS bills the tokens to you at your own prices. AI Cloud Gateway bills only per routed request, against your plan's allowance.

Do I need to change my code?

Usually only the base URL and API key. The API follows the OpenAI chat completions format, with streaming, tool calls, images and JSON output. Embeddings and the Responses API are not supported yet.

Which models can it route to?

Amazon Nova Micro, Lite and Pro; Claude Haiku, Sonnet and Opus 5.5; Llama 3.3 70B; and gpt-oss-120b. You enable each one in your own Bedrock console.

What happens when a model is throttled?

The request moves to the next suitable model before the response stream opens, and the x-acg-model header tells you which model answered.

Do you store my prompts?

No. Requests pass through the router in memory and go to Bedrock in your account. We keep hourly request and token counts per model, not prompt or completion text.

Is there a free trial?

Not at the moment. Starter is $19 a month for 50,000 requests, and you can upgrade at any time.

Route your first request in about 15 minutes.

Subscribe on AWS Marketplace, connect your account, and change one line of code.