Every model. One API. One bill.
One API for text, images, speech and video. Pick a quality tier and we route across providers, so it keeps working when one is slow, busy, or gone.
Three tiers
Loading plans…
What this is
The model is an implementation detail
Name a tier and you get a quality level we can keep our promise on. You never had to pick a model, and you never have to keep up with what is new.
Built to stay up
We route every request across multiple providers. If one is slow, overloaded, or unavailable, the request goes elsewhere instead of failing.
You are never surprised by a bill
Past your allowance the answer is no, not a surprise invoice. A pack, or a larger plan, is how you go further. There is no metered overage and nothing bills you by surprise.
Your key, your account
Keys are tied to your account, so one account can never spend another one's allowance. Revoke a key at any time and it stops working straight away.
Pricing
One price, one monthly allowance, and everything included. Prices are per month in US dollars. There is no per-request charge on top, and no overage.
Loading…
Extra capacity
A pack is extra capacity for a fixed number of days. It never runs out early, is not transferable, has no cash value, and cannot be withdrawn.
Loading…
Documentation
One base URL, one key, and a tier instead of a model name.
Quickstart
curl https://api.clever.diy/v1/infer \
-H "authorization: Bearer $CLEVER_TOKEN" \
-H "content-type: application/json" \
-d '{"tier":"balanced","messages":[{"role":"user","content":"Hello"}]}'
That is the whole shape: a tier, and messages. There is
no model parameter, because naming a model is the promise this API exists to replace.
Authentication
An API key in Authorization: Bearer. Issue and revoke keys from
your keys page. A signed-in browser session works too — the
cookie is set at sign-in and the same endpoints accept it, which is how this site works.
Inference
| Route | Capability | Notes |
|---|---|---|
| POST /v1/infer | text | Streaming with "stream": true |
| POST /v1/decide | decisions | Structured output |
| POST /v1/images/generations | image | Priced per megapixel or per call |
| POST /v1/audio/speech | audio | Priced per 1,000 characters |
| POST /v1/audio/transcriptions | audio | Whisper-compatible |
| POST /v1/videos | video | Asynchronous; poll for the result |
What a response tells you
Every response carries which model served it and what is left of your monthly allowance, so you never have to guess.
| Header | Means |
|---|---|
x-clever-model | The model that actually ran — a real id, not a tier name |
x-clever-value-remaining-usd | What is left of your monthly allowance |
When something is refused
A refusal is a normal answer with a reason and, where it applies, a
upgradeRequired flag.
| Code | Means |
|---|---|
trial_expired | The trial has ended. Add a plan. |
spend_cap_exceeded | You've reached today's limit. It resets daily. |
value_limit_exceeded | This month's allowance is used up. Resets monthly. |
capability_not_in_plan | That capability is not in your plan. |
model_unavailable / tier_unavailable | Nothing able to serve it right now |
upstream_error | Every provider tried failed. Usually temporary. |
What happens when you reach your limit
Each plan includes a monthly allowance. It is yours for the whole month, and it resets on the first of the month — not 24 hours after you signed up.
When a request would exceed it
The request is refused, not billed. You get a
429 and a reason you can read. Nothing is charged beyond what you have
already used, and there is no overage on your next invoice.
Three ways forward, and none of them is waiting:
- Wait for the month to reset, if you can.
- Add a pack — extra capacity for a fixed number of days, straight from your dashboard. It costs more per dollar of inference than a plan does, on purpose, so it never quietly becomes the cheaper option.
- Move up a plan, which carries a larger allowance and unlocks more capabilities.
What we will never do
- Overage. There is no metered charge above your allowance.
- A bill you did not expect. What you see in your dashboard is what you owe.
- Silently degrading the request. A tier is a promise about quality, and if we cannot keep it we refuse rather than serve you something worse and call it the same thing.
The other limit
There is also a requests-per-minute figure, to stop a runaway loop from taking the service down for everyone. It is not a spending limit and you are very unlikely to reach it. If you do, the error says so and asks you to slow down.
Status
Checks that ran just now, against our live endpoints.
| Check | State | Round trip | Detail |
|---|
Sign in
Create an account
Start working in about a minute. You get a 14-day trial, no card, and nothing to install.
We don't need a confirmed email to let you work — the confirmation link is there so nobody else can claim your address.
Already have one? Sign in
Reset your password
Enter the address you signed up with and we'll send a link to set a new one.
We send the same answer whether or not an account exists on that address. If it's on file, the email is already on its way.
Choose a new password
Pick something you haven't used before. At least 10 characters — a short phrase you can recall beats a mangled word.
Setting a new password signs out every device, including any session someone else might be holding. That is on purpose.
Email confirmation
Your account
Where your allowance stands and what you've been using.
Your allowance
What you've been using
| Tier | Requests this month |
|---|
Last requests
| When | Tier | Value |
|---|
Plans
Extra capacity
Playground
A real request against your own allowance, streaming as it arrives. This is the same endpoint your key calls, so whatever it costs is charged to your plan.
API keys
Create a key for each place you use Clever — one for production, one for local development — so revoking a leaked key doesn't take everything down with it.
A key is shown once and cannot be read again. If you lose it, revoke it and create another; nobody, including us, can recover it. Your key is scoped to your account, so one account cannot spend another's allowance.