How to run OpenAI GPT models in your browser
OpenAI’s API blocks browser calls — a free OpenRouter key is the honest route, and it takes two minutes.
What it is, and when to pick it
Here is the plain truth: OpenAI’s API returns no CORS headers, so a browser page that tries to call api.openai.com is blocked before the request even lands — that is OpenAI’s setup, not this site’s. So this site never claims direct OpenAI support. The route that works: an OpenRouter key. It runs the same GPT models (gpt-5-nano, gpt-4o-mini and friends) from this page, billed through your OpenRouter account, and it is free to create.
Step by step
Create an account at OpenRouter — Google, GitHub, or email; no card. openrouter.ai
Open the Keys page and click “Create Key”, then copy the
sk-or-v1-value — it is shown only once. openrouter.ai/keysOptional: add credits on the Credits page — $5 covers hundreds of runs, and “:free” model variants need no balance. openrouter.ai/credits
In the AI resume tailor, choose OpenRouter and pick a GPT model such as gpt-5-nano or gpt-4o-mini.
What the key looks like
sk-or-v1-…The key you paste here is an OpenRouter key. A native OpenAI key (sk-…, platform.openai.com/api-keys) is for server-side apps — a browser page cannot use it.
What it actually costs
- The OpenRouter key is free; GPT usage bills through OpenRouter.
- gpt-5-nano ≈ $0.05/$0.40 and gpt-4o-mini ≈ $0.15/$0.60 per million tokens (OpenRouter list prices sampled 2026-11-14 — estimates).
- A typical tailored resume costs about $0.002–0.01.
- “:free” model variants need no balance at all.
Paste it into Practical Web Tools
In the AI resume tailor, choose OpenRouter, paste the sk-or-v1-… key, and pick a GPT model from the model list. Your key stays in your browser; we never receive it. Open the AI resume tailor.
If something goes wrong
- You pasted an OpenAI key (sk-…) and got “That key was rejected”
- That is expected: browsers cannot call api.openai.com (no CORS headers), so this page does not accept OpenAI keys. Create an OpenRouter key instead — it runs the same GPT models.
- 401 — “That key was rejected”
- The OpenRouter key was mistyped, clipped, or revoked. Create a fresh one at openrouter.ai/keys and paste it in full.
- 429 — “Provider rate limit hit”
- Wait the time the provider asked for, then run again. If a “:free” GPT variant stays queued, a paid model skips the free queue.