Skip to content

v2.19.0 release notes advertise AudioTranscriptionConfig.mode, but the wheel rejects VERBATIM/SMART #2892

Description

@tellang

Description

The v2.19.0 release notes advertise a new mode enum (VERBATIM, SMART) on AudioTranscriptionConfig and TranscriptionConfig:

https://github.com/googleapis/python-genai/releases/tag/v2.19.0

However, the published google-genai==2.19.0 wheel does not contain AudioTranscriptionConfigMode or an AudioTranscriptionConfig.mode field. Passing the advertised field is rejected by Pydantic before a Live API connection can be established.

The source history also appears inconsistent:

  • The field was added in e8cd7d0
  • It was removed before the release in fedd121
  • The release notes still list the addition, and the current main branch still lacks the field.

Reproduction

from google.genai import types

print("mode" in types.AudioTranscriptionConfig.model_fields)
types.AudioTranscriptionConfig(mode="SMART")

Output with the published v2.19.0 wheel:

False
pydantic_core._pydantic_core.ValidationError: 1 validation error for AudioTranscriptionConfig
mode
  Extra inputs are not permitted [type=extra_forbidden, input_value='SMART', input_type=str]

This also prevents downstream consumers that use the SDK types, including ADK's public Live configuration path, from passing the advertised option.

Wire-level cross-check

I also tested the Gemini Developer API v1beta Live WebSocket setup directly with gemini-3.1-flash-live-preview, bypassing the SDK model validation:

inputAudioTranscription Server result
{} setupComplete
{"mode":"VERBATIM"} setupComplete
{"mode":"SMART"} setupComplete
{"mode":"DEFINITELY_INVALID"} WebSocket close 1007 Invalid value at 'setup.input_audio_transcription.mode'

This suggests that the backend schema recognizes the two enum values; they are not merely ignored as unknown fields. This report is only claiming setup/schema acceptance, not a particular transcription-quality difference between the modes.

Expected behavior / questions

  1. Was the removal before v2.19.0 intentional?
  2. If the feature is supported, could AudioTranscriptionConfig.mode and its enum be restored in the published SDK types?
  3. If it is intentionally unavailable, could the v2.19.0 release notes/changelog be corrected and the availability documented?

Either outcome would remove the current contradiction between the release notes, distributed wheel, and Live API wire schema.

Environment

  • google-genai==2.19.0 (latest published version at time of report)
  • Python 3.14.5
  • macOS 26.5.2, arm64
  • Live model used for the wire cross-check: gemini-3.1-flash-live-preview
  • Developer API version: v1beta

Metadata

Metadata

Labels

priority: p2Moderately-important priority. Fix may not be included in next release.type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions