← All guides · provider record →
OVHcloud AI Endpoints — free tier setup
What you get free
Two distinct tiers. Catalog quota: "OVHcloud AI Endpoints offers a permanent free anonymous tier (2 requests per minute per IP, per model) with no signup or API key required. Higher rate limits (400 RPM per Public Cloud project per model) require an API key and are billed pay-as-you-go per token; new Public Cloud accounts get up to $200 in free trial credits. (mnfst data.json footnote 7)" Category: conditional_free — free only on the anonymous tier; anything keyed is pay-as-you-go (softened by the $200 new-account credit, confirmed on the official page: "Get US$ 200 in free credit to launch your first Public Cloud project"). Standout: strongest data policy in the catalog — "Your data will never be used to train or improve our AI models" and "Zero data retention: We keep only the data required for billing purposes" (official page). The gotcha: 2 RPM/IP/model is background-job territory, not app territory.
Friction check
| Credit card | no (anonymous tier); keyed tier is billed pay-as-you-go |
| Phone verification | no |
| Org/membership | no |
| Est. time to first key | 0m (anonymous — there is no key) |
| Trains on your prompts | no — "never used to train"; zero data retention (official page) |
Get a key
Tier 1 — anonymous (the free one): skip this section entirely. No signup, no key. Go straight to First request.
Tier 2 — keyed (400 RPM/model, pay-as-you-go, $200 new-account credit): exact click-path not retrievable from official docs at check time — all steps (unconfirmed — verify on first signup):
- Create an OVHcloud account and a Public Cloud project (this is where the $200 first-project credit attaches).
- In the Public Cloud section of the OVHcloud Control Panel, find AI Endpoints and create/generate an API key (unconfirmed menu path).
- The official page also references a Playground to "Test all our models for free in a sandbox or via the API" — useful for smoke-testing before wiring in the key.
First request
Anonymous tier — note there is no Authorization header. Base URL is from the seed repo only (not shown on fetched official pages), so treat as (unconfirmed — verify on first request). Success shape: JSON with choices[0].message.content.
# No key needed on the anonymous tier (catalog env_key_names is empty).
curl https://oai.endpoints.kepler.ai.cloud.ovh.net/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model":"gpt-oss-20b","messages":[{"role":"user","content":"Say OK."}],"max_tokens":16}'
For the keyed tier, add -H "Authorization: Bearer YOUR_KEY" (env var name unconfirmed; ModelHubby convention below uses OVHCLOUD_API_KEY).
Limits that will bite you
- Anonymous: 2 RPM per IP, per model (catalog; sourced from seed repo, not shown on fetched official pages). Per-model means you can fan out across
gpt-oss-120b,gpt-oss-20b,Meta-Llama-3_3-70B-Instruct,Mistral-Nemo-Instruct-2407, andQwen2.5-VL-72B-Instructfor ~10 combined RPM from one IP — but each model individually caps at 2 RPM. - Per-IP limiting: shared office/CI egress IPs share the quota.
- Keyed tier: 400 RPM per Public Cloud project per model — but every token is billed (against the $200 credit at first).
- Streaming and tool-calling support: unknown in the catalog — probe before relying on either.
- No daily/token caps recorded for the anonymous tier; the RPM ceiling is the whole story.
Key rotation runbook
- Anonymous tier: there is no key to rotate. "Rotation" = egress IP diversity, which ModelHubby does not automate — and deliberately hammering per-IP limits is ToS-hostile; don't.
- Keyed tier: key creation/revocation lives in the OVHcloud Control Panel (unconfirmed — verify on first signup).
- ModelHubby integration (keyed tier only):
export OVHCLOUD_API_KEY_2="..."— the key pool picks it up automatically; state machine cools down rate-limited keys per-key. (Catalog currently models only the key-less free tier.)
ModelHubby usage
pnpm mh show ovhcloud
pnpm mh probe --live --provider ovhcloud --apply