Save up to 30% on AI models

Use OpenAI, Anthropic, and Google through one OpenAI-compatible API—without changing your request format.

Start saving
Fund from $5 Usage-based pricing No monthly commitment
$2,000+/month? Request a pilot
No prompt or response bodies in our app database OpenAI-compatible Usage-based billing Built and operated by Keak Trust Center

Current rates

See current catalog rates

Loading current rates. Up to 30% off list price Market-linked rates
Loading current rates...

Operational proof

Evidence you can inspect before switching

Review how performance is measured, what data is retained, and how to evaluate the API with a controlled workload before moving production traffic.

Per-model performance

Model pages publish observed reliability, output speed, timeframe, and evidence strength from recent provider-reaching production requests. Early samples are labeled.

Review reliability methodology

A clear data boundary

Cheaper Inference does not store prompt or response bodies in its application database. Prompts are forwarded to the serving provider; billing and operational metadata required for History and support is retained.

Open the Trust Center

Validate with your workload

Start with one model or a controlled share of traffic. Compare compatibility, latency, output quality, and cost before expanding usage.

Open the quick start

Why it costs less

We buy excess inference capacity and pass the savings to you

AI companies often commit to more inference capacity than they end up using. Instead of letting that paid-for capacity expire, they sell it at a discount. We acquire it, make it available through one OpenAI-compatible API, and pass most of that discount on to you.

01

Capacity would otherwise go unused

Sellers make excess, paid-for inference capacity available instead of letting it expire.

02

We acquire it at a discount

We aggregate discounted capacity across supported models and make it available through one API.

03

We pass most of the discount on

You pay an all-in rate for actual usage, with no separate routing surcharge, contract, or monthly commitment.

How to switch

Change two values. Keep your request format.

Replace your provider base URL and API key. Keep your model, messages, tools, streaming setting, and response handling.

Before Provider base URL https://api.provider.com/v1
After Cheaper Inference base URL https://api.cheaperinference.com/v1
OpenAI SDK compatible Model selected per request Every request visible in History
The Keak team

Built by Keak

A real team behind the platform

Cheaper Inference is built and operated by Keak. The team responsible for the product also handles its infrastructure, billing, and customer support.

Savings calculator

Estimate savings using live model discounts

Choose a currently listed model and apply its discount to your monthly inference spend.

Checking current public pricing... Review pricing proof

$
Estimated monthly savings $0
Estimated yearly savings $0
Estimated monthly bill $1,000

Keep your selected model ready for your first request.

Start saving with this model

Ready to switch?

Lower the cost of your next API request

Create an account, fund from $5, and get $10 extra after your first successful payment—then keep your current request format.

Start saving

For capacity sellers

Turn unused inference capacity into revenue

Tell us where you have available capacity and its approximate dollar value. Our team will review the fit and contact you directly.

Share available capacity We review provider fit Discuss supply and settlement
[ SELL CAPACITY ] Tell us what is available

We will only use these details to review and respond to your submission.

Docs

Documentation

Everything you need to create an account, choose a model, send requests, and understand billing.

Quick start

  1. Create an account.
  2. Add at least $5 to your wallet. Your first successful funding adds $10 in bonus credit.
  3. Create an API key from the dashboard and copy it once.
  4. Set your OpenAI SDK baseURL to the endpoint below.
  5. Put a supported model name in the model field.
  6. Send your first chat or image request and review usage in History.

Base URL

https://api.cheaperinference.com/v1

Authentication

Authorization: Bearer ir_live_YOUR_API_KEY

Example: cURL chat completion

curl https://api.cheaperinference.com/v1/chat/completions \
  -H "Authorization: Bearer ir_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-opus-4.6",
    "messages": [{"role": "user", "content": "Hello!"}]
  }'
Browse the complete API reference SDK examples, vision, streaming, errors, security, and the live model list

Example: cURL image generation

curl https://api.cheaperinference.com/v1/images/generations \
  -H "Authorization: Bearer ir_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "nano-banana-pro",
    "prompt": "A clean product render of a banana invoice",
    "n": 1,
    "size": "1024x1024",
    "resolution": "1K",
    "quality": "high",
    "response_format": "url"
  }'

Use /v1/images/generations for every model whose /v1/models entry has type: "image" or capabilities.image_generation: true, including grok-imagine. Image-generation models are not accepted by /v1/responses, /v1/chat/completions, or /v1/completions.

Example: Grok Imagine

curl https://api.cheaperinference.com/v1/images/generations \
  -H "Authorization: Bearer ir_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "grok-imagine",
    "prompt": "A cinematic city at night",
    "n": 1,
    "response_format": "url"
  }'

Vision input

Vision-capable chat models accept OpenAI image_url content parts and Anthropic-style base64 image blocks. Use up to 10 images, 5MB per image, and 23MB total decoded base64 image data. The complete serialized JSON body must be 31MiB or smaller. Split larger workloads across requests; public image URLs reduce body size but do not change the 10-image limit. Models with this capability are marked Vision input in the model list.

Prompt caching

cache_control is passed through when supported by the selected model. Cache reads and writes use the provider-specific cache rates when they are available. If no cache-read rate is reported, reads fall back to 10% of the normal input rate; cache writes without a separate rate use the normal input rate.

Kimi K3 reasoning effort

Send reasoning: {"effort": "low"}, "high", or "max" with model: "kimi-k3". Kimi K3 does not expose medium as a native effort level. Set the value explicitly when consistent behavior matters; reasoning tokens are billed as output usage.

Temporary vision uploads

For larger base64 payloads, upload each image separately as multipart form data. The returned file ID expires after one hour and is converted to a short-lived, private image URL when the chat request is forwarded. Uploads keep the JSON body small but do not change the limit of 10 images per request.

curl https://api.cheaperinference.com/v1/uploads \
  -H "Authorization: Bearer ir_live_YOUR_API_KEY" \
  -F "file=@tile.png"

# Use the returned id in a chat message:
{
  "type": "image_file",
  "image_file": {"file_id": "img_RETURNED_ID"}
}

# Optional early deletion:
curl -X DELETE https://api.cheaperinference.com/v1/uploads/img_RETURNED_ID \
  -H "Authorization: Bearer ir_live_YOUR_API_KEY"

Example: JavaScript SDK

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "ir_live_YOUR_API_KEY",
  baseURL: "https://api.cheaperinference.com/v1"
});

const response = await client.chat.completions.create({
  model: "gpt-5.4",
  messages: [{ role: "user", content: "Hello! Who are you?" }]
});

Example: Python SDK

from openai import OpenAI

client = OpenAI(
    api_key="ir_live_YOUR_API_KEY",
    base_url="https://api.cheaperinference.com/v1",
)

response = client.chat.completions.create(
    model="claude-opus-4.6",
    messages=[{"role": "user", "content": "Hello! Who are you?"}],
)

List models

curl https://api.cheaperinference.com/v1/models \
  -H "Authorization: Bearer ir_live_YOUR_API_KEY"

Streaming

Models marked Streaming accept "stream": true on /v1/responses, /v1/chat/completions, and /v1/completions. Streams use server-sent events, and wallet usage is settled when the stream completes. The gateway can change routes before output starts; after the first event is sent, an interrupted stream must be retried as a complete request.

Available model names and pricing

Copy an exact model id into the model field. Text-model prices are per 1M tokens. When a model shows an input-token cutoff, the entire request uses the rate for its input-token tier. Image models show either separate token rates for input, text, thinking, and image output or a fixed price per generated image.

Model catalog API

Retrieve currently available models and their current catalog rates. A fallback route can change the final rate, but never above the applicable direct list price. Filter by type, vision, reasoning, streaming, or provider to compare only models that meet your workload's requirements.

curl 'https://api.cheaperinference.com/v1/models?type=text&vision=true&streaming=true' \
  -H 'Authorization: Bearer ir_live_YOUR_API_KEY'

Token rates are USD per 1 million tokens. Fixed media rates use media_input_unit_price and media_unit_price per unit. For tiered models, use pricing.above_threshold when the request exceeds input_token_price_threshold.

Automatic retries and fallback

Network failures and HTTP 404, 408, 409, 425, 429, and 5xx responses are retried once. Other 4xx responses are not retried; when another route is eligible, the gateway immediately tries it in price order. The serving route determines the settled rate, capped at direct list price with no separate Cheaper Inference routing surcharge. Cheaper Inference does not store prompt or response bodies in its application database; billing and operational metadata is retained for History and support.

Billing and wallet

  • Wallet balance is checked before a request starts.
  • Image requests use the displayed token rates unless the model shows a fixed per-image price.
  • Add funds manually or enable auto-recharge from the dashboard.

Common errors

  • 401 Invalid or missing API key.
  • 403 The API key does not allow this model or client IP.
  • 402 Insufficient wallet balance.
  • 400 Unsupported model or invalid request body.
  • 413 Request body or base64 vision payload exceeds the documented limits.
  • 429 Request was rate limited; retry with backoff.
  • 502 Provider or transport failure after eligible routes were exhausted.
  • 503 No eligible provider route is currently available.

FAQ

  • Do I need a contract? No. Create an account, add funds, and start sending requests.
  • Do I need to migrate code? Usually only the API key and base URL change.
  • Where do I pick the model? Pass the model id in every request.
  • Can I track savings? Yes. History shows request count, tokens, cost, and estimated savings.

Successful response

{
  "output": [{
    "role": "assistant",
    "content": [{"type": "output_text", "text": "Hello!"}]
  }],
  "usage": {
    "input_tokens": 12,
    "output_tokens": 3,
    "total_tokens": 15
  }
}

Security and keys

  • Store API keys in environment variables, not frontend code.
  • Create separate keys for production, staging, and local testing.
  • Configure model, IP, expiration, rate, concurrency, daily quota, and monthly budget controls from API Keys.
  • If a key is exposed, delete it and create a new one.
  • Use History to audit request volume, token usage, and spend.

Support

Use the Contact tab for billing, API, or account questions. We typically answer in under 12h. For platform availability, check the Status link in the footer.