https://ai-gateway.crevio.co/v1, pass the key you already have, and call GPT, Claude, Gemini, Grok, or any other model in the catalog. Tokens are billed to your Crevio credit balance at the provider’s list price.
There is no separate signup, no provider account, and no second key to rotate. Apps that Crevio builds and deploys for you get the endpoint wired up automatically.
Quickstart
Inside a Crevio-built app
Apps that Crevio deploys already haveCREVIO_API_KEY and CREVIO_AI_GATEWAY_URL in their environment. Nothing to configure:
Streaming
Setstream: true and read the response as you would from OpenAI. Tokens are forwarded as they arrive — the gateway adds no buffering of its own.
Models
Models are addressed asprovider/model, the same slugs the OpenRouter catalog uses.
Aliases
A slug you pin today is a slug that retires. The gateway also answers to three stable names, and Crevio repoints them as models are released and retired — an app built against an alias keeps working without a redeploy.model field names the slug that actually served the request, and that is what the charge is recorded against.
GET /v1/models returns the aliases followed by the full live catalog:
model that isn’t in that list is rejected with model_not_found rather than silently substituted.
What it costs
Gateway usage is billed at the provider’s list price — Crevio adds no markup on top. The cost of a request is converted to credits and deducted from your balance once the response completes, including for streamed responses. Every request answers with your remaining balance:Credits are only deducted for requests that reach a model. A rejected request — bad model, failed auth, provider error — costs nothing.
Limits and errors
Errors use the same envelope as the OpenAI API, so SDK error handling works unchanged:
Each key carries a daily credit cap that bounds the damage from a leaked key or a runaway loop. Contact support if your workload needs a higher one.
Errors returned by the model provider itself — rate limits, context-length overruns, content filters — pass through unchanged, so you see the real reason rather than a rewritten one.

