Hey everyone,
I’ve been using google/gemini-3.1-flash-lite-preview via the API as a post-processing step in a voice transcription workflow. The model’s job is simple: clean up raw speech-to-text output — remove filler words, fix punctuation, join fragmented sentences. It does this well most of the time.
The problem I’ve run into is specific and repeatable. When the raw transcript contains AI model names with version numbers — for example, “Claude Sonnet 5” or “Claude Opus 4” — the model substitutes the version numbers with what it apparently “knows” to be correct from its training data. So “Sonnet 5” becomes “Sonnet 3.5” and “Opus 4” becomes “Opus 3” in the cleaned output, even when my system prompt explicitly instructs it not to change numbers after brand or model names.
I tested three different versions of the system prompt, including one that led with hard constraints in capital letters saying “never change version numbers — if the transcript says Sonnet 5, output Sonnet 5.” The model followed this instruction inconsistently. It respected it about one out of three attempts, which suggests the training data bias is strong enough to override prompt-level constraints in this model size.
The behaviour makes sense given the model’s knowledge cutoff — it’s confident it knows what the “correct” version number should be, so it treats the transcribed number as a transcription error and fixes it. The issue is that in a transcription cleanup context, the spoken words are always authoritative, not the model’s training data.
This is specifically with gemini-3.1-flash-lite-preview. I haven’t tested with full Flash or Pro, so I can’t say whether this is size-related or model-specific.
Sharing in case it’s useful for the team and for anyone else building transcription pipelines on top of this model.