Skip to content

Commit 4a80954

Browse files
MarkDaoustcopybara-github
authored andcommitted
feat: Add AudioTranscriptionConfigMode
PiperOrigin-RevId: 970192656
1 parent 5be429c commit 4a80954

2 files changed

Lines changed: 38 additions & 0 deletions

File tree

google/genai/tests/models/test_generate_content.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -617,6 +617,26 @@ class InstrumentEnum(Enum):
617617
),
618618
),
619619
),
620+
pytest_helper.TestTableItem(
621+
name='test_audio_transcription_config_mode',
622+
parameters=types._GenerateContentParameters(
623+
model='gemini-2.5-flash-preview-tts',
624+
contents=t.t_contents('Produce a speech response saying "Cheese"'),
625+
config=types.GenerateContentConfig(
626+
response_modalities=['audio'],
627+
speech_config=types.SpeechConfig(
628+
voice_config=types.VoiceConfig(
629+
prebuilt_voice_config=types.PrebuiltVoiceConfig(
630+
voice_name='charon'
631+
)
632+
)
633+
),
634+
audio_transcription_config=types.AudioTranscriptionConfig(
635+
mode='SMART',
636+
),
637+
),
638+
),
639+
),
620640
]
621641

622642
pytestmark = pytest_helper.setup(

google/genai/types.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1373,6 +1373,17 @@ class VoiceActivityType(_common.CaseInSensitiveEnum):
13731373
"""End of sentence signal."""
13741374

13751375

1376+
class AudioTranscriptionConfigMode(_common.CaseInSensitiveEnum):
1377+
"""Transcription mode."""
1378+
1379+
MODE_UNSPECIFIED = 'MODE_UNSPECIFIED'
1380+
"""Unspecified transcription mode."""
1381+
VERBATIM = 'VERBATIM'
1382+
"""Verbatim transcription mode."""
1383+
SMART = 'SMART'
1384+
"""Smart transcription mode."""
1385+
1386+
13761387
class StartSensitivity(_common.CaseInSensitiveEnum):
13771388
"""Start of speech sensitivity."""
13781389

@@ -6391,6 +6402,10 @@ class AudioTranscriptionConfig(_common.BaseModel):
63916402
description="""Configures speaker diarization.
63926403
""",
63936404
)
6405+
mode: Optional[AudioTranscriptionConfigMode] = Field(
6406+
default=None,
6407+
description="""Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`.""",
6408+
)
63946409

63956410

63966411
class AudioTranscriptionConfigDict(TypedDict, total=False):
@@ -6419,6 +6434,9 @@ class AudioTranscriptionConfigDict(TypedDict, total=False):
64196434
"""Configures speaker diarization.
64206435
"""
64216436

6437+
mode: Optional[AudioTranscriptionConfigMode]
6438+
"""Optional. Configures transcription mode. Supported values: `VERBATIM`, `SMART`. If unspecified, defaults to `VERBATIM` transcription. In `SMART` mode, the model performs disfluency removal (eliminating filler words, repetitions, and false starts), light grammatical cleanup, automatic formatting (paragraphs, bullet points, numbered lists), and minor user edits (inline self-corrections). Timestamps and diarization are incompatible with mode `SMART`."""
6439+
64226440

64236441
AudioTranscriptionConfigOrDict = Union[
64246442
AudioTranscriptionConfig, AudioTranscriptionConfigDict

0 commit comments

Comments
 (0)