Passing through OpenAI's price cut
31 Juli 2026 · 4 min read
On 30 July, OpenAI reduced the price of two of the three gpt-5.6 models. Luna dropped 80%, Terra dropped 20%, and Sol was unchanged. They attribute it to work across their serving stack: better hardware routing, faster inference software, and smarter context caching.
Those cuts are now in the catalogue. Here is what changed for you, and the part most vendors leave out.
What you pay now
Prices are in credits per 1,000 tokens. One credit is EUR 0.001, so a price of 1 credit per 1,000 tokens is EUR 1 per million. The credit number and the euro-per-million price are the same number, which makes this easy to check.
| Model | Input (was) | Input (now) | Output (was) | Output (now) |
|---|---|---|---|---|
openai/gpt-5.6-luna |
2 | 1 | 8 | 2 |
openai/gpt-5.6-terra |
3 | 3 | 20 | 16 |
openai/gpt-5.6-sol |
7 | 7 | 39 | 39 |
Luna's output is a quarter of what it was. If you are running high-volume classification, extraction, routing or summarisation on Luna, that is the line to look at.
There is nothing to do. No migration, no new model id, no configuration change. The next request you send is priced at the new rate.
The two numbers that did not fall as far
Look at that table again and two things do not line up with OpenAI's headline.
Terra's input price did not move at all, even though OpenAI cut Terra by 20%. And Luna's input halved rather than falling 80%.
Both come from the same cause: a credit is EUR 0.001, so the finest price we can express is EUR 1 per million tokens. That is the floor.
Terra's input went from EUR 2.50 to EUR 2.00 per million, a difference of EUR 0.50. That is less than the EUR 1 per million we can express, so the price in credits does not move. The cut is real, it is simply smaller than the unit we bill in.
Luna's input went from EUR 1.00 to EUR 0.20 per million. The floor is EUR 1 per million, so that is where it sits. We cannot pass on a cut below the smallest price the ledger can express.
We could have described this as "up to 75% off" and left it there. It seemed better to show you the whole table and explain the two entries that look wrong, because you can verify every one of these numbers yourself and we would rather you did.
Why pass it through at all
When a supplier drops its prices, a platform reselling inference has a choice. It can lower its own prices, or it can hold them where they are. The second option is invisible to customers and is worth real money.
We take the first, and not out of generosity. Every model's price is published in the catalogue and returned by the API, so it is a number you can check rather than one you take on trust. A published price that quietly stopped tracking what it is based on would make that publication meaningless, and a platform whose entire proposition is that you can verify what it does with your data is a strange place to start being vague about money.
The same reasoning runs the other way. When a provider raises prices, ours will follow, and we would rather that be understood as the mechanism than discovered as a surprise.
Nothing about governance changed
Luna, Terra and Sol are OpenAI models, served outside the EU. They are cheaper today. They are not more sovereign.
Reaching them still requires your organisation to have accepted non-compliant routing, and each request still needs either the PII firewall active or a valid compliance acknowledgement. The egress guard still fails closed. A cheaper external model is still an external model, and a request that would have been refused yesterday is refused today at the new price.
If you want the EU-resident path, that remains mistral/*, routed without leaving European infrastructure and without needing any acceptance at all.
Checking it yourself
Every chat completion returns what it cost:
"usage": {
"prompt_tokens": 4120,
"completion_tokens": 880,
"total_tokens": 5000,
"credits": { "base": 2, "modules": 0, "total": 2 }
}
total is what your ledger was debited, so you can reconcile against it directly rather than taking our word for the table above. The catalogue is also available over the API at GET /v1/models, with the per-1,000-token price on every entry, so a price change is something you can detect programmatically rather than read about in a post.