FAQ and troubleshooting
Which base URL should I use?
Use the protocol path for your client:
| Client | Base URL |
|---|---|
| Claude Code | https://api.fhrouter.com |
| Codex CLI | https://api.fhrouter.com/v1 |
| OpenAI-compatible apps | https://api.fhrouter.com/v1 |
| Gemini CLI | https://api.fhrouter.com/v1beta |
| Antigravity | https://api.fhrouter.com/v1beta |
Do I need any advanced settings?
No. Most users only need:
- a token key
- the correct base URL
- the exact model id
Use the model ids shown in the console or returned by /v1/models.
Why is a request slow?
Large prompts, long output, high reasoning models, and model-side load can all affect latency. For first tests, use a small prompt and a small max_tokens value.
If a coding client appears to think for a long time and returns no visible text, stop the run, check FHRouter usage, then retry with a short prompt. Some clients stream or retry internally, so a partially processed request can still use quota.
How are tokens billed?
Requests are billed from model usage. Input tokens, output tokens, and reported usage are counted according to the active model pricing.
Check the usage page after a small test request before sending larger workloads.
Gemini gives an API key or model error
Common causes:
- The client is using
/v1instead of/v1beta. - A local
.envfile is overriding Gemini CLI config. - The model id is not in the FHRouter model list.
- The client is using OpenAI-compatible conversion instead of Gemini-native mode.
Use:
https://api.fhrouter.com/v1betaIf Gemini CLI runs in a sandboxed mode, make sure GEMINI_API_KEY and GOOGLE_GEMINI_BASE_URL are passed into the sandboxed environment.
A client passes its connection test but chat fails
Some clients enable tools, skills, or protocol conversion by default. Try:
- turning off tools or skill calling
- using a smaller prompt
- selecting the correct API type
- manually adding the exact FHRouter model id
Also make sure the app is not silently rewriting Gemini or Claude requests into OpenAI format.
I see model_not_found
The model name is wrong or not enabled for your account. Call:
curl https://api.fhrouter.com/v1/models \
-H "Authorization: Bearer YOUR_FHROUTER_API_KEY"Then use one of the returned ids.
I see Selected model is at capacity
This usually means the selected model is temporarily overloaded. Retry later or switch to another model id from the FHRouter catalog.
HTTP status guide
| Status | What it usually means | What to try |
|---|---|---|
400 | Request format, unsupported beta header, or incompatible tool call | Use the matching protocol path, lower complexity, or disable experimental client features |
401 | API key rejected or wrong endpoint | Check the FHRouter token key and base URL |
404 | Wrong endpoint path or model id | Copy the model id from FHRouter and check /v1, /v1beta, or host root |
429 | Rate limit, cache limit, or too many retries | Start a new conversation, wait briefly, or reduce concurrency |
503 | Model temporarily unavailable | Retry later or switch model |
524 | Request timed out before the gateway received a final answer | Use a shorter prompt/output limit and retry |
FHRouter hides detailed internal errors from normal user logs where possible. For deeper troubleshooting, note the approximate request time and status code before retrying.
The model list is empty
Check that you are signed in and that your token key has not been deleted. For API checks, call:
curl https://api.fhrouter.com/v1/models \
-H "Authorization: Bearer YOUR_FHROUTER_API_KEY"If the API returns models but the dashboard does not, refresh the page and sign in again.
Payment succeeded but balance did not update
Wait for the browser to return to FHRouter after payment. If the payment page was closed early, refresh the billing page after a short delay.
If it still looks wrong, note:
- FHRouter account email
- payment time
- payment amount
- screenshot of the payment status
Those details are usually enough to trace the payment in the billing records.
My API key may have leaked
Delete the key immediately and create a new one. Anyone with the key can spend from your FHRouter balance.
Does FHRouter support image generation?
Not in the current public catalog. FHRouter is currently focused on text and coding models for Claude, GPT/Codex, and Gemini clients.
Can I use one key for all apps?
Yes, but separate keys are safer. Create one key per app or device so you can delete a single key without interrupting everything else.
