Choosing your AI
The app computes the analysis; the model you choose turns it into words. You bring the key, and you decide which providers are asked and in what order.
Recommended setup #
Ollama Cloud free tier, with gemma4:31b
One free key covers everything:
- With an Ollama Cloud key and no saved chain, gemma4:31b is the default for unprompted calls as well as driver questions.
- F1 25 race questions about fuel, rivals, tyres, damage and stops use the question chain too.
Paste the key into the Ollama Cloud card during setup and the app builds this chain for you. Get a key.
Get an Ollama Cloud key #
- Sign in or create an account at ollama.com.
- Open Settings → Keys on ollama.com and create an API key.
- Add it to airaceGP, in any one of these places:
- the Ollama Cloud card in the first-run wizard;
- Settings → Secrets, field
OLLAMA_API_KEY, then Save secrets; - the
.envfile in the app folder:.envOLLAMA_API_KEY=your-ollama-key
A key saved in Settings works from the next AI call, with no restart. The free tier has usage limits. When you reach one, the app reports AIR-202; a second provider in your chain keeps the engineer talking.
The model chain #
The model chain is the list of providers the engineer asks, in order. It lives in Settings → AI → Model chain. There are two lists:
| List | Used for | Scope |
|---|---|---|
| Unprompted calls | Periodic check-ins and race events: everything the engineer says without being asked. | Routine calls and events |
| Your questions | Driver questions in ACC and F1 25 races. | Questions |
- The engineer asks the first entry that has its key. An entry without a key is skipped and marked no key.
- Use fallbacks on: if a provider fails or is rate-limited, the next one is asked. Off: only the first provider with a key is asked. If every AI provider fails, the driver-question fallback uses measured facts or says there is no answer.
- Up to six entries per list. ↑ and ↓ reorder, × removes, Reset to default goes back to the chain built from your keys.
- Nothing outside these lists is ever called.
When the questions list applies
It is used in ACC with the default engineer settings. If you move Call length away from 50, or turn off Say what's on the dash or Allow the engineer to stay quiet, the app switches to its full prompt and your questions use the unprompted list instead.
With an Ollama Cloud key and no saved chain, gemma4:31b is the default for unprompted calls as well as driver questions.
All providers #
| Provider | Key in .env | Preset models | Notes |
|---|---|---|---|
| Ollama Cloud | OLLAMA_API_KEY | gpt-oss:120b, gemma4:31b, gpt-oss:20b | Free tier. Recommended. |
| Groq | GROQ_API_KEY | openai/gpt-oss-120b, openai/gpt-oss-20b | Provider limits can change. The same key enables Groq transcription. |
| Google Gemini | GEMINI_API_KEY | gemini-2.5-flash, gemini-2.5-flash-lite | Free tier with a limited number of requests a day. |
| OpenRouter | OPENROUTER_API_KEY | openai/gpt-oss-120b:free | Free models are shared and often congested. |
| Anthropic | ANTHROPIC_API_KEY | claude-haiku-4-5-20251001 | Paid. |
| Custom (OpenAI-compatible) | CUSTOM_API_KEY | you name it | Any /chat/completions endpoint. Set the URL and model in Settings → AI → Custom API endpoint. |
| Ollama on this PC | none | qwen3:8b | No key and no internet. Shares the GPU with the game. |
Any model name can be typed into a chain entry; the presets are suggestions.
Other providers through Custom
The wizard's List more providers offers OpenAI, Together AI, Fireworks, DeepInfra,
Cerebras, xAI, Mistral, DeepSeek and others. They all use the one Custom slot: one
CUSTOM_API_KEY and one endpoint URL. Where the wizard knows a provider's URL it fills it
in; otherwise enter it in Settings → AI → Custom API endpoint. A missing URL,
model or key is AIR-209.
Ollama on your PC
Install Ollama from ollama.com, download a model, and add
Ollama on this PC to your chain with that model's name. The app talks to it at
localhost:11434.
ollama pull qwen3:8bA local model runs on the same GPU as the game, so frame rate and answer speed both depend on your hardware. Problems here are the AIR-25x codes.
Where keys live #
- Keys are stored in
.envin the app folder, on your PC. They are never written toweb_config.json. - Settings → Secrets edits that file. It shows only a masked preview of each key, and it works only on the PC running the app, never from a phone on your network.
- The race brief goes only to the providers in your model chain.
- Removing a key is reported as AIR-210; that provider is skipped until a key is added again.