Update OpenAI and Gemini pricing to current published rates - #324
Merged
Conversation
Checked every family against the providers' rate cards. The Claude rates were already current (Fable and Mythos, Opus 5 through 4.5, the Opus 4.1 and 4 legacy tier, Sonnet 5's introductory rate, Sonnet 4.x, Haiku 4.5 and the Haiku 3.5 legacy tier), so nothing changed there. Gemini had drifted furthest: one gemini-3-flash entry was pricing every Gemini 3.x Flash model. Adds 3.6 Flash, 3.5 Flash, 3.5 Flash-Lite and 3.1 Flash-Lite at their own rates, plus long-context tier pairs for 3.1 Pro and 3 Pro, and keeps gemini-3-flash as the fallback for older transcripts. The Gemini branch now shares one 200k-token check, so the tier step applies to all three Pro generations instead of only 2.5. On the OpenAI side several variants were quietly billing at their base model's rate because they matched it by substring: gpt-5-pro was priced at $1.25/$10 instead of $15/$120, and the same held for gpt-5-mini, gpt-5-nano and the 5.2, 5.4 and 5.5 pro tiers. Each gets its own entry, matched ahead of the base model. gpt-5.1 was unpriced entirely (costing zero) because the model-id regex rejected the dot; it now resolves to the gpt-5 rate it shares. The pro tiers get no cached-input discount, so their cacheRead is the full input rate rather than a tenth of it. Fills in the price-family table in the settings reference, which was missing fable, mythos, opus-legacy, sonnet-5, haiku-legacy, the whole gpt-5.6 family and gpt-5.4-nano, and names gpt-5.6-sol on the gpt-5.6 row so the override key is findable. Stamps a verification date on the defaults so the next refresh knows the baseline. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Checked every price family against the providers' current rate cards.
Claude rates were already correct (Fable and Mythos, Opus 5 through 4.5, the Opus 4.1/4 legacy tier, Sonnet 5's introductory rate, Sonnet 4.x, Haiku 4.5, Haiku 3.5 legacy), so nothing changed there.
Gemini had drifted furthest: a single
gemini-3-flashentry was pricing every Gemini 3.x Flash model. Adds 3.6 Flash, 3.5 Flash, 3.5 Flash-Lite and 3.1 Flash-Lite at their own rates, plus long-context tier pairs for 3.1 Pro and 3 Pro.gemini-3-flashstays as the fallback for older transcripts. The Gemini branch now shares one 200k-token check, so the tier step applies to all three Pro generations instead of only 2.5.OpenAI had several variants quietly billing at their base model's rate, because they matched it by substring:
gpt-5-progpt-5.4-progpt-5.5-progpt-5.2-progpt-5-minigpt-5-nanogpt-5.1Each gets its own entry, matched ahead of the base model.
gpt-5.1was unpriced entirely because the model-id regex rejected the dot; it now resolves to thegpt-5rate it shares. The pro tiers get no cached-input discount, so theircacheReadis the full input rate rather than a tenth of it.Also fills in the price-family table in the settings reference, which was missing
fable,mythos,opus-legacy,sonnet-5,haiku-legacy, the wholegpt-5.6family andgpt-5.4-nano. Namesgpt-5.6-solon thegpt-5.6row, since OpenAI publishes that tier suffixed and the override key isn't otherwise guessable. Stamps a verification date on the defaults so the next refresh knows the baseline.Notes for review
gemini-3-flashandcodex-mini.gpt-5.6-solkey. Two keys with the same rate is a footgun, since overriding one inpricing.jsonwould silently leave the other at the default.Test plan
bun test(694 pass)bun run typecheckgpt-5.1, and the Gemini 3.x rates and Pro tier boundaries🤖 Generated with Claude Code