Curated models for your best work

Join the waitlist

Router docs

Models and images

The registry, canonical ids, aliases, and image inputs.

Models

xai/grok-4.7
Vendor
xAI
Context
500K
Input /M
$2
Output /M
$6
Images
yes
xai/grok-4.6
Vendor
xAI
Context
500K
Input /M
$2
Output /M
$6
Images
yes
xai/grok-4.5
Vendor
xAI
Context
500K
Input /M
$2
Output /M
$6
Images
yes
xai/grok-4.3
Vendor
xAI
Context
1000K
Input /M
$1.25
Output /M
$2.5
Images
yes
zai/glm-5.3
Vendor
Z.ai
Context
1048.576K
Input /M
$0.9
Output /M
$3
Images
no
zai/glm-5.2
Vendor
Z.ai
Context
1048K
Input /M
$0.75
Output /M
$2.4
Images
no
qwen/qwen3.5-9b
Vendor
Qwen
Context
262.144K
Input /M
$0.17
Output /M
$0.25
Images
yes
openai/gpt-5.4
Vendor
OpenAI
Context
1050K
Input /M
$2.5
Output /M
$15
Images
yes
openai/gpt-5.2
Vendor
OpenAI
Context
400K
Input /M
$1.75
Output /M
$14
Images
yes
openai/gpt-5.1
Vendor
OpenAI
Context
400K
Input /M
$1.25
Output /M
$10
Images
yes
openai/gpt-4o
Vendor
OpenAI
Context
128K
Input /M
$2.5
Output /M
$10
Images
yes

USD base rates per million tokens. Long-context tiers and cache pricing can change the total; see each model's full rate card. BYOK bills your provider account. Managed usage draws down at list price; receipts show the actual breakdown.

Managed Muse Spark follows Meta's geographic policy. Requests from restricted territories are refused before forwarding.

Registry 2026-10-21.3, effective 9/17/2026. Every new receipt pins this version. Open registry JSON.

Canonical ids are stable. Accepted aliases resolve to one canonical id. Dated revisions stay distinct on receipts. List contracts with GET /v1/models or inspect one with GET /v1/models/{model}.

Unknown ids return 404 model_not_found with error.param = model before forwarding.

Verified output ceilings fail before forwarding. A null ceiling means the selected provider path manages the limit and TokenSpend does not publish a narrower value.

curl
curl https://api.tokenspend.dev/v1/models \
  -H "Authorization: Bearer $TOKENSPEND_API_KEY"

Images

Send images as standard content parts; the rail handles provider differences. Models without image support refuse with a 400 naming the model rather than silently ignoring the image. The Images column above applies to Chat Completions and Messages. Responses image input is available on Astra and the GPT-5 models; other Responses routes are text-only.

JSON
{"model":"anthropic/claude-sonnet-5","messages":[
  {"role":"user","content":[
    {"type":"text","text":"What is in this screenshot?"},
    {"type":"image_url","image_url":{"url":"data:image/png;base64,<base64>"}}
  ]}
]}