v1.1.0:5 — Gemini model menu correctness

User pointed out their Google AI Studio dropdown shows gemini-3-pro,
gemini-3.1-pro, gemini-3-flash and gemini-2.5-flash — not the longer
preview names I shipped in v1.1.0:4. The menu was missing all the
Flash variants entirely.

Fix:
  - Add gemini-3.1-pro (short form, what AI Studio shows)
  - Add gemini-3.1-flash + gemini-3.1-flash-lite (the cheapest 3.x)
  - Add gemini-3-pro + gemini-3-flash (older tier, still available)
  - Pricing entries for all of the above (~$0.50/$3 per M for Flash)

Pure data fix; no schema or behavior changes.
This commit is contained in:
Keysat
2026-05-11 12:51:17 -05:00
parent 7a62690a4a
commit 35539a9341
3 changed files with 58 additions and 6 deletions
+18 -5
View File
@@ -55,10 +55,17 @@ const PRICES: Record<string, PriceEntry> = {
'o4-mini': { inputPerM: 1.1, outputPerM: 4.4 }, 'o4-mini': { inputPerM: 1.1, outputPerM: 4.4 },
// Google Gemini — Gemini 3.1 Pro is $2/$12 standard; >200K ctx is 2x. // Google Gemini — Gemini 3.1 Pro is $2/$12 standard; >200K ctx is 2x.
// Gemini 3 Flash is $0.50/$3. 3.1 Flash-Lite is the cheapest of the
// 3.x line. Both short names (gemini-3.1-pro) and long preview names
// (gemini-3.1-pro-preview) are accepted by the API and listed here.
'gemini-3.1-pro-preview': { inputPerM: 2, outputPerM: 12 }, 'gemini-3.1-pro-preview': { inputPerM: 2, outputPerM: 12 },
'gemini-3.1-pro': { inputPerM: 2, outputPerM: 12 }, 'gemini-3.1-pro': { inputPerM: 2, outputPerM: 12 },
'gemini-3.1-flash-lite': { inputPerM: 0.1, outputPerM: 0.4 },
'gemini-3.1-flash': { inputPerM: 0.5, outputPerM: 3 },
'gemini-3-pro-preview': { inputPerM: 2, outputPerM: 12 }, 'gemini-3-pro-preview': { inputPerM: 2, outputPerM: 12 },
'gemini-3-pro': { inputPerM: 2, outputPerM: 12 }, 'gemini-3-pro': { inputPerM: 2, outputPerM: 12 },
'gemini-3-flash-preview': { inputPerM: 0.5, outputPerM: 3 },
'gemini-3-flash': { inputPerM: 0.5, outputPerM: 3 },
'gemini-2.5-pro': { inputPerM: 1.25, outputPerM: 10 }, 'gemini-2.5-pro': { inputPerM: 1.25, outputPerM: 10 },
'gemini-2.5-flash': { inputPerM: 0.3, outputPerM: 2.5 }, 'gemini-2.5-flash': { inputPerM: 0.3, outputPerM: 2.5 },
'gemini-2.0-flash': { inputPerM: 0.1, outputPerM: 0.4 }, 'gemini-2.0-flash': { inputPerM: 0.1, outputPerM: 0.4 },
@@ -104,11 +111,17 @@ export const MODEL_MENU: Record<string, ModelOption[]> = {
{ id: 'o3', label: 'o3 (reasoning)' }, { id: 'o3', label: 'o3 (reasoning)' },
], ],
gemini: [ gemini: [
{ id: 'gemini-3.1-pro-preview', label: 'Gemini 3.1 Pro Preview (most capable)', recommended: true }, // Names match what Google's AI Studio dropdown shows. Both short
{ id: 'gemini-2.5-pro', label: 'Gemini 2.5 Pro', recommended: true }, // (gemini-3.1-pro) and long preview names work via the API; we
{ id: 'gemini-2.5-flash', label: 'Gemini 2.5 Flash (cheap, fast)', recommended: true }, // ship the short forms because that's what the Studio UI uses.
{ id: 'gemini-2.0-flash', label: 'Gemini 2.0 Flash' }, { id: 'gemini-3.1-pro', label: 'Gemini 3.1 Pro (most capable)', recommended: true },
{ id: 'gemini-1.5-pro', label: 'Gemini 1.5 Pro (legacy)' }, { id: 'gemini-3.1-flash', label: 'Gemini 3.1 Flash (fast, cheap)', recommended: true },
{ id: 'gemini-3.1-flash-lite', label: 'Gemini 3.1 Flash Lite (cheapest)', recommended: true },
{ id: 'gemini-3-pro', label: 'Gemini 3 Pro' },
{ id: 'gemini-3-flash', label: 'Gemini 3 Flash' },
{ id: 'gemini-2.5-pro', label: 'Gemini 2.5 Pro' },
{ id: 'gemini-2.5-flash', label: 'Gemini 2.5 Flash' },
{ id: 'gemini-2.0-flash', label: 'Gemini 2.0 Flash (legacy)' },
], ],
// openai-compatible + ollama: no curated menu — model names are // openai-compatible + ollama: no curated menu — model names are
// gateway- or host-specific. Ollama auto-detects via /api/tags. // gateway- or host-specific. Ollama auto-detects via /api/tags.
+6 -1
View File
@@ -10,6 +10,7 @@ import { v_1_1_0_1 } from './v1.1.0.1'
import { v_1_1_0_2 } from './v1.1.0.2' import { v_1_1_0_2 } from './v1.1.0.2'
import { v_1_1_0_3 } from './v1.1.0.3' import { v_1_1_0_3 } from './v1.1.0.3'
import { v_1_1_0_4 } from './v1.1.0.4' import { v_1_1_0_4 } from './v1.1.0.4'
import { v_1_1_0_5 } from './v1.1.0.5'
/** /**
* Version graph for the `proof-of-work` package. * Version graph for the `proof-of-work` package.
@@ -36,9 +37,12 @@ import { v_1_1_0_4 } from './v1.1.0.4'
* 2026 model names, system-prompt overhaul forcing library * 2026 model names, system-prompt overhaul forcing library
* exerciseIds + suggested weights, sidebar sub-navigation, * exerciseIds + suggested weights, sidebar sub-navigation,
* history detail view. * history detail view.
* v1.1.0:5 — Gemini menu correctness: adds gemini-3.1-pro (short),
* gemini-3.1-flash, gemini-3.1-flash-lite, gemini-3-pro,
* gemini-3-flash + pricing entries.
*/ */
export const versionGraph = VersionGraph.of({ export const versionGraph = VersionGraph.of({
current: v_1_1_0_4, current: v_1_1_0_5,
other: [ other: [
v_1_0_0_1, v_1_0_0_1,
v_1_0_0_2, v_1_0_0_2,
@@ -50,5 +54,6 @@ export const versionGraph = VersionGraph.of({
v_1_1_0_1, v_1_1_0_1,
v_1_1_0_2, v_1_1_0_2,
v_1_1_0_3, v_1_1_0_3,
v_1_1_0_4,
], ],
}) })
+34
View File
@@ -0,0 +1,34 @@
import { IMPOSSIBLE, VersionInfo } from '@start9labs/start-sdk'
/**
* v1.1.0:5 — Gemini model menu correctness.
*
* Driven by a user pointing out that their Google AI Studio dropdown
* showed `gemini-3-pro` and `gemini-3-flash` (no `.0`), neither of
* which were in our v1.1.0:4 dropdown. The menu I shipped only had
* `gemini-3.1-pro-preview` and missed the Flash variants entirely.
*
* What changed:
* - Add `gemini-3.1-pro` (short form, what AI Studio shows) — both
* short and long-preview names work via the API; we now ship the
* short form because it matches the Studio UI.
* - Add `gemini-3.1-flash` (~$0.50/$3 per M) and
* `gemini-3.1-flash-lite` (the cheapest 3.x).
* - Add `gemini-3-pro` and `gemini-3-flash` — older tier, both still
* available in many accounts.
* - Pricing table grows entries for all of the above so the cost
* estimator works correctly when the user picks any of them.
*
* No code changes elsewhere. Pure data fix.
*/
export const v_1_1_0_5 = VersionInfo.of({
version: '1.1.0:5',
releaseNotes: {
en_US:
'Gemini model dropdown corrected: adds gemini-3.1-pro (the short name AI Studio uses), gemini-3.1-flash, gemini-3.1-flash-lite, gemini-3-pro, and gemini-3-flash — all the names that show up in your Google AI Studio dropdown. Pricing table updated to match (Flash ~$0.50/$3 per M, Flash-Lite even cheaper). Pure data fix; no schema or behavior changes.',
},
migrations: {
up: async () => {},
down: IMPOSSIBLE,
},
})