Pollinations
- Free allowance
- The Classic API lists one model, openai-fast, described as 'GPT-OSS 20B Reasoning LLM (OVH)', with aliases openai, gpt-oss, gpt-oss-20b and ovh-reasoning
- Verdict
- caveatusable, with a named limit or an unprobed read path
- Cost
- free tier
- Identity
- anonymousno card, no phone
- Binding limit
- request-rate1 reply every 30 seconds per IP on the anonymous tier
- Evidence
- measured6 sources; a live request was made and its output kept
- Freshness
- stale on 2026-11-28checked 2026-10-28 (live); stale on 2026-11-28
| Free tier | the Classic API lists one model, openai-fast, described as 'GPT-OSS 20B Reasoning LLM (OVH)', with aliases openai, gpt-oss, gpt-oss-20b and ovh-reasoning unit requests; metered on request-count; the served model is OVH-hosted gpt-oss-20b, so this endpoint is a relay of the OVH public tier rather than a separate allocation |
|---|---|
| Price | none stated |
| Limits |
|
| Identity | anonymous no key required, but the allowance is metered per IP and shared with everything else on that address |
| Egress | not published |
| Interface | rest |
| Tooling | any OpenAI-compatible client; curl against POST {base}/chat/completions |
| Composes with | pairs with a lightweight interactive caller; the one-reply-per-30-seconds-per-IP floor is the scarce link and it is shared with every other caller on the address |
| Reliability | the same model on the same base URL returned 402 and 404 an hour apart, and 404 and 402 in reverse order's two runs |
| Notes | The 402 is the finding: a keyless endpoint exhausted by per-IP budget with no account in existence. |
| Evidence note | measured the per-IP 402 was observed. The advertised id openai-fast is listed by GET /models with the aliases openai, gpt-oss, gpt-oss-20b and ovh-reasoning, and a completion for openai-fast reports the served model as gpt-oss-20b, so the served model is the advertised one under one of its aliases. |
| Parsed numbers |
|
Evidence 6
| date | source | what it proved |
|---|---|---|
| 2026-10-22 | probe: https://text.pollinations.ai/openai/chat/completions | requesting openai-fast returned 200 with model gpt-oss-20b echoed, a substitution; 51 completion tokens in the written run, and re-probed at 2026-10-22T04:38:22Z at 475 ms total with 475 ms to first byte on one streaming request. The recon run's 289 ms figure is withdrawn: its ttft_ms on the same row was 499 ms, so the two fields describe two different calls and neither can be quoted as a latency |
| 2026-10-22 | probe: https://text.pollinations.ai/openai/chat/completions | requesting gpt-5-nano returned 402 'Free limit reached: 1 reply every 30 seconds per IP' in run 1 and 404 'isn't on the Classic API' in run 2, eight minutes apart |
| 2026-10-22 | text.pollinations.ai/models | the Classic API lists exactly one model, openai-fast, with alias gpt-oss-20b and the description 'GPT-OSS 20B Reasoning LLM (OVH)' |
| 2026-10-28 | github.com/pollinations/pollinations/blob/master/APIDOCS.md | text requests are limited to one at a time, at least 30 seconds apart, per IP address |
| 2026-10-28 | probe: https://text.pollinations.ai/openai/chat/completions | one POST with no Authorization header for openai-fast answered 200 with content NEEDLE-9K2X; body model gpt-oss-20b and user_tier anonymous; headers x-model-used: gpt-oss-20b, x-usage-prompt-text-tokens: 324, x-usage-completion-text-tokens: 51, x-usage-total-tokens: 375; no rate-limit header (Retry-After is exposed only on a refusal) |
| 2026-10-28 | probe: https://text.pollinations.ai/models | GET /models lists one model, openai-fast, described as GPT-OSS 20B Reasoning LLM (OVH), tier anonymous, with aliases openai, gpt-oss, gpt-oss-20b and ovh-reasoning |
Unknown values 3
- egress metered: egress metering was not published
- per object cap stated: the field does not apply to this kind of offer
- retention stated: the field does not apply to this kind of offer