How Fernel estimates impact
Anthropic and OpenAI don't publish energy figures per token. Every number in Fernel is therefore a modelled estimate. We publish the model, every parameter and its range, so anyone can check, challenge or improve it. Fernel stores raw token counts, so a new methodology version recalculates your entire history.
What's included
Fernel counts the electricity used to serve your requests in the provider's data centres: accelerators, host servers and idle capacity, scaled by data-centre overhead (PUE). It converts that electricity to CO₂e with location-based grid intensity, plus a small uplift for the emissions of manufacturing the hardware. It does not include model training, your own computer, networking or water use.
The formula
equivalent output tokens = output
+ input × r_input
+ cache writes × r_cache_write
+ cache reads × r_cache_read
energy (Wh) = equivalent output tokens / 1000 × E_class × PUE
CO₂e (kg) = energy (kWh) × grid intensity × embodied upliftGenerating a token (decode) is the expensive step. Reading prompt tokens (prefill) is much cheaper per token. Reading from the prompt cache skips prefill entirely, but the cached context still has to be loaded and attended to. Every value has a low, central and high estimate. The dashboard shows the central value and the low–high range. The range compounds all lows and all highs, so it is wide on purpose.
Why cache reads matter
Coding agents re-send large contexts on every step, so cache reads are often more than 90% of the tokens a heavy user generates. Each one is cheap, but there are so many that they can dominate the total. The cache-read ratio is therefore our most influential and most uncertain parameter. Nobody has measured it directly, so we derive it two ways. First, from the memory traffic of attending to a cached context on every generated token. Second, from provider prices, which put cache reads at 0.5–2% of an output token's price and so bound the cost from above. Both land at about 1%. This is a per-token simplification: the real cost grows with context length multiplied by output length, so it fits typical agent turns of a few hundred output tokens best.
Parameters
| Model class | Wh per 1k output tokens (low / central / high) |
|---|---|
| small | 0.02 / 0.07 / 0.25 |
| mid | 0.07 / 0.25 / 0.80 |
| large | 0.15 / 0.50 / 1.50 |
| frontier | 0.30 / 1.00 / 3.00 |
| Token type | Cost relative to an output token |
|---|---|
| Uncached input | 0.050 / 0.150 / 0.350 |
| Cache write | 0.050 / 0.150 / 0.400 |
| Cache read | 0.003 / 0.010 / 0.030 |
| Factor | low / central / high |
|---|---|
| PUE | 1.08 / 1.15 / 1.35 |
| Grid, Anthropic (kg CO₂e / kWh) | 0.25 / 0.36 / 0.45 |
| Grid, OpenAI (kg CO₂e / kWh) | 0.25 / 0.38 / 0.55 |
| Grid, Google (kg CO₂e / kWh, provisional) | 0.20 / 0.33 / 0.50 |
| Embodied hardware uplift | 1.05 / 1.10 / 1.25 |
| Model name matches | Provider | Class |
|---|---|---|
| /^gemini.*(flash-lite|lite)/ | small | |
| /^gemini.*flash/ | mid | |
| /^gemini.*(ultra|deep-think)/ | frontier | |
| /^gemini/ | large | |
| /opus/ | anthropic | frontier |
| /sonnet/ | anthropic | large |
| /haiku/ | anthropic | small |
| /^claude/ | anthropic | large |
| /(mini|nano)/ | openai | small |
| /^gpt-5.*-pro|^o\d-pro/ | openai | frontier |
| /^gpt-5|codex|^o\d/ | openai | large |
| /^gpt-4/ | openai | mid |
| /^gpt/ | openai | large |
| anything else | other | large (assumed) |
Sources
- Elsworth et al., Google (2025). Measuring the environmental impact of delivering AI at Google scale.Median Gemini Apps text prompt ≈ 0.24 Wh including host, idle capacity and PUE. Accelerators are about 60% of that.
- Oviedo et al., Microsoft (2026). Joule; arXiv 2509.20241.Median ≈ 0.31 Wh per query for frontier-scale models on full H100 nodes including PUE, which works out to about 1 Wh per 1,000 output tokens.
- You, Epoch AI (2025). How much energy does ChatGPT use?≈ 0.3 Wh for a typical GPT-4o query of about 500 output tokens.
- Chung et al. (2026). Where Do the Joules Go? (ML.ENERGY v3).Measured GPU energy per token for open models on B200 and H100.
- Jegham et al. (2025). How Hungry is AI?Per-model estimates under low-batch assumptions. We use these for our high values.
- Mistral AI, Carbone 4 & ADEME (2025). Life-cycle analysis of Mistral Large 2.1.14 g CO₂e per 400-token response, including embodied impacts.
- Schneider et al. (2025). Life-cycle emissions of AI hardware (TPU LCA).Embodied emissions are about 10% of the total under location-based accounting.
- Anthropic and OpenAI API pricing (2026).Cache reads cost 0.5–2% as much as output tokens. Used as an upper bound for the cache-read ratio.
- Google, AWS and Microsoft efficiency reports (2024–2025).Fleet PUE of 1.09–1.17.
- US EPA eGRID2023; Ember US Electricity 2025; Google Cloud region carbon data.Location-based grid intensity of 0.27–0.42 kg CO₂e/kWh across the US regions where inference runs.
Improving this
If a provider publishes real figures, we'll adopt them in a new version. If you have better data or think a parameter is wrong, tell us. Each change gets a new version number and a changelog entry.