One API.
The best available model.
Ask for a model by exact ID, by pinned tier, or by intent. Modavio resolves it against a priced registry, refuses rather than substituting, and hands back a receipt naming the model that actually answered.
Creating an account is free. Paid requests need prepaid credit — there is no plan, no invoice, and no card on file until you add one.
# the key comes from your shell, never from a doc
curl https://modavio.app/api/v1/messages \
-H "x-api-key: $MODAVIO_API_KEY" \
-H "content-type: application/json" \
-d '{
"model": "auto",
"max_tokens": 512,
"messages": [{ "role": "user", "content": "ping" }]
}'Requested route, selected candidate and delivered model are three separate response fields. A failed request is charged nothing at all.
From nothing to a receipt
Five steps, no sales call, no card until you choose one.Your ChatGPT account signs you in. Free, and no payment method is requested.
account created on first visitA one-time top-up. No subscription, no invoice, and no card kept on file until you add one.
$10 · $25 · $50 · $100Give it a name and an optional spend cap. The secret is shown once, then only its prefix.
fg_live_… · shown oncePoint an Anthropic-compatible client at the messages endpoint. Only the base URL changes.
POST /api/v1/messagesRequested route, selected candidate and delivered model are recorded separately, with the settled charge.
200 OK · $0.01Why Modavio
Product facts you can check inside the product. No logos, no testimonials, no uptime claims.Every route in the catalogue has a ceiling tier in the billing table. A route we could call but not settle truthfully is not a product, so it is not advertised.
See the catalogueRequested route, selected candidate and delivered model are stored and returned separately on every request — so you can check what answered, not just what you asked for.
Compare modelsWith no credit, the 402 is decided before the Fleet is contacted, and the response says so. Per-key spend caps stop a single key sooner.
Pricing & creditAn Anthropic-compatible messages endpoint and caller-supplied tool schemas. Built-in host tools are refused, and hosted_tools is stated plainly as empty.
Read the docsWhere the money goes
Authorize → meter → settle → release. Each step is a visible ledger line.Estimated input plus max_tokens of output, priced at the most expensive tier the route may resolve to. Held, not charged.
Cache reads, cache writes and helper-model tokens are summed from the routing receipt — the top-level usage summary undercounts them.
The final charge names the delivered model and the pricing version (2026-08-24.1). Price changes never apply retroactively.
The unused hold goes back to available balance immediately, as its own ledger line that reconciles to the request.
Failed requests are never charged. A refusal, a capacity shortfall or a validation error releases the entire authorization — no partial capture, no rounding in our favour.
Pricing & creditAmounts above are computed from the live pricing table for a 512-token request on auto delivered by claude-sonnet-5. Your charge depends on your own token counts.