AI model gateway

One key. Every model. One bill.

Liquid Whale fronts hundreds of models from 40+ providers behind one OpenAI-compatible API. Smart routing with automatic fallbacks, cost analytics on every request, and per-token prices passed through with zero markup.

Your first request

hello-gateway.sh
curl https://api.liquidwhale.com/v1/chat/completions \
  -H "Authorization: Bearer $LIQUIDWHALE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "helios-5",
    "messages": [
      { "role": "user", "content": "Hello, gateway." }
    ]
  }'

Swap the base URL and key. The request shape stays the same.

Routing uptime

99.98%

Models routed

300+

Providers

40+

Markup

0%

  • Helios 5
  • Meridian Max 4.1
  • Tycho 2.5 Deep
  • Foghorn 4 Coastal
  • Northbeam V3.1
  • Vela 3 Max
  • Aurora Large 3
  • Kestrel 4
  • Beacon A
  • Argosy K2
  • Tidal 1.1 Pro
  • Maelstrom 3
  • Echo large-v3
  • Siren Multilingual v2
  • 0 +

    models routed

  • 0 +

    providers on one bill

  • 0.00 %

    routing uptime, 90 days

  • 0 %

    markup on provider prices

01 / The gateway

Everything between your code and every provider, handled

Six things the gateway does so your team does not have to. Each one ships enabled by default, on every key, at every price.

  • 01

    One key, one bill, one SDK

    A single API key fronts hundreds of models from 40+ providers. One invoice at the end of the month, one dashboard, one client library to maintain.

    1 key, 300+ models

  • 02

    Drop-in compatible

    The request shape is OpenAI-compatible. Change the base URL and the key, keep your code. Teams migrate in an afternoon, not a quarter.

    base url + key

  • 03

    Smart routing

    Every request is scored against live latency, price, and capacity, then sent to the best healthy provider for that model class.

    scored per request

  • 04

    Automatic fallbacks

    Provider outage or rate limit? The gateway retries the next healthy provider and reports the attempt chain in response headers.

    x-lw-failover

  • 05

    Cost tracking and analytics

    Per key, per model, per day: tokens, spend, and latency. Set budgets, get alerts, and export everything through the usage endpoint.

    GET /v1/usage

  • 06

    Zero markup on tokens

    You pay the provider price, per token, with no platform fee folded in. What the catalog lists is what the invoice shows.

    0% platform fee

02 / Surface

Eight endpoints, five modalities, one base URL

Text, image, video, speech to text, and text to speech, plus catalog and usage. Everything hangs off the same authenticated prefix.

Gateway API endpoints
Method Path Serves Notes Free
POST /v1/chat/completions text Chat and instruction models with streaming, tool calls, and structured output. yes
POST /v1/completions text Legacy text completion shape, kept identical for older stacks. paid
POST /v1/images/generations image Text to image across frontier diffusion models, billed per image. paid
POST /v1/videos/generations video Text to video with shot length and resolution controls, billed per second. paid
POST /v1/audio/transcriptions speech-to-text Audio in, timestamped text out, with automatic language detection. paid
POST /v1/audio/speech text-to-speech Text in, natural audio out, in dozens of voices and languages. paid
GET /v1/models catalog Every routed model with context window, modality, and live price. yes
GET /v1/usage analytics Spend, tokens, and latency per key, model, and day. yes

Cookbook

Copy, paste, and you are routing

Four recipes covering the shapes most teams ship first. Tabs switch between curl, python, and node, and every block copies with one click.

Chat completion

The classic call, identical shape to the SDK you already use.

chat.curl
curl https://api.liquidwhale.com/v1/chat/completions \
  -H "Authorization: Bearer $LIQUIDWHALE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "helios-5",
    "messages": [
      { "role": "user", "content": "Summarize this changelog in one line." }
    ]
  }'

Streaming

Server-sent events, token by token, with the same delta shape.

stream.curl
curl https://api.liquidwhale.com/v1/chat/completions \
  -H "Authorization: Bearer $LIQUIDWHALE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "meridian-pro-4.5",
    "stream": true,
    "messages": [
      { "role": "user", "content": "Draft a one-paragraph release note." }
    ]
  }'

Image and speech to text

Diffusion models and transcription under the same key.

media.curl
# text to image
curl https://api.liquidwhale.com/v1/images/generations \
  -H "Authorization: Bearer $LIQUIDWHALE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "tidal-1.1-pro",
    "prompt": "Aerial view of deep blue waves, white foam",
    "size": "1536x1024"
  }'

# speech to text
curl https://api.liquidwhale.com/v1/audio/transcriptions \
  -H "Authorization: Bearer $LIQUIDWHALE_KEY" \
  -F model="echo-large-v3" \
  -F file="@meeting.mp3" \
  -F response_format="verbose_json"

Speech and video

Voices out, video out, billed per character and per second.

voice.curl
# text to speech
curl https://api.liquidwhale.com/v1/audio/speech \
  -H "Authorization: Bearer $LIQUIDWHALE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "siren-v2",
    "voice": "aurora",
    "input": "One key. One bill. The whole ocean."
  }'

# text to video
curl https://api.liquidwhale.com/v1/videos/generations \
  -H "Authorization: Bearer $LIQUIDWHALE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "maelstrom-3",
    "prompt": "Slow aerial over ocean swell at dawn",
    "seconds": 8
  }'

Why a whale

Whales cross the whole ocean and never touch the bottom. Your traffic should work the same way.

A whale is enormous, calm, and everywhere at once. That is the property we wanted for model traffic: deep enough to carry anything, stable enough to route around storms, and wide enough that every provider sits under the same surface. The gateway is the ocean, the models are what moves through it.

Read the full story
The tail of a whale rising out of calm misty water
fig. 01 Surface first. Depth on demand.

04 / Resilience

Outages happen upstream. Downtime does not have to be yours

The routing layer watches every provider continuously. When one wobbles, your traffic moves and the response headers tell the story.

  • Provider returns 429 rate limit

    Retry on the next provider serving the same model class, with jittered backoff.

    x-lw-attempts: 2
  • Provider returns 5xx or times out

    Circuit opens, traffic reroutes instantly, provider is retested in the background.

    x-lw-failover: provider-2
  • Provider degrades above latency budget

    Weighted routing shifts share toward faster healthy providers.

    x-lw-route: eu-fast
  • Model unavailable in a region

    Request lands on the nearest healthy replica that passes eval parity.

    x-lw-region: fra1

Error codes

Code Name Meaning Retry
400 invalid_request_error Malformed body, unknown parameter, or unsupported value. No
401 authentication_error Missing or revoked API key, or wrong key prefix lw-sk-. No
402 insufficient_credits Prepaid balance exhausted. Top up or enable auto recharge. After top-up
404 model_not_found Unknown model id for your key. List /v1/models to verify. No
429 rate_limit_error Key or model concurrency limit hit. The gateway retries upstream for you. Automatic
500 routing_error No healthy provider available for this model right now. Yes, with backoff

Rate limits

Scope Free tier Usage tier
Requests per minute 50 1,000, scaling on request
Concurrent requests 4 200, scaling on request
Free-tier eligible models All flagged rows in the catalog Same, plus everything paid
Monthly free allowance Every eligible model, unlimited days Not applicable
Key payload size 10 MB 50 MB

The ocean underneath

Two hundred data centers, forty providers, one route table. The swell moves, the surface stays level.

fig. 02, sea foam, open water

03 / Leaderboard

What the world actually routes, refreshed weekly

Ranked by routed tokens over the last 30 days across the gateway. Snapshot: Week 39, 2026. Every figure comes from real traffic, not vendor claims.

Text model leaderboard by routed tokens, 30 days
# Model Provider Tokens, 30d Requests, 30d Share P50 latency Context Price in/out Free
01 Helios 5 Solstice Labs 412.8B 148.2M 18.4% 320 ms 400k $1.25 / $10.00 -
02 Meridian Pro 4.5 Meridian AI 356.2B 121.7M 15.9% 280 ms 200k $3.00 / $15.00 -
03 Tycho 2.5 Swift Tycho Systems 289.6B 174.3M 12.9% 190 ms 1M $0.30 / $2.50 -
04 Foghorn 4 Coastal free Foghorn AI 201.4B 96.8M 9.0% 240 ms 1M $0.22 / $0.85 yes
05 Northbeam V3.1 free Northbeam 168.9B 71.2M 7.5% 410 ms 128k $0.56 / $1.68 yes
06 Helios 5 Mini Solstice Labs 122.7B 139.5M 5.5% 210 ms 400k $0.25 / $2.00 -

Full leaderboard, all 14 text models

05 / Pricing

Provider prices, passed straight through

No platform fee on tokens. The rate in the catalog is the rate on your invoice, whether you route one request or ten billion.

Token prices per one million tokens
Model Provider Input / 1M Output / 1M Context Free tier
Helios 5 Solstice Labs $1.25 $10.00 400k -
Helios 5 Mini Solstice Labs $0.25 $2.00 400k -
Meridian Pro 4.5 Meridian AI $3.00 $15.00 200k -
Meridian Max 4.1 Meridian AI $15.00 $75.00 200k -
Tycho 2.5 Deep Tycho Systems $1.25 $10.00 1M -
Tycho 2.5 Swift Tycho Systems $0.30 $2.50 1M -

All prices and the free tier

Get started

Point your stack at the ocean

Create a key, change two lines, and route your first request in minutes. The free tier covers every model flagged free, forever, with the same routing as paid traffic.