Gemini 3.5 Transcribe

Gemini 3.5 Transcribe è il modello di Google per la conversione della voce in testo in più lingue, disponibile tramite Agent Platform. Basata sulle funzionalità di comprensione dell'audio di Gemini, fornisce una trascrizione accurata a bassa latenza con rilevamento della lingua basato sull'enunciato, diarizzazione degli interlocutori, timestamp a livello di parola, trascrizione intelligente e differenziazione del parlato con vocabolario personalizzato.

Gemini 3.5 Transcribe funge da motore principale per la trascrizione audio, colmando il divario tra i modelli multimodali di deep reasoning e i workflow di conversione della voce in testo altamente ottimizzati.

Per iniziare, visualizza il blocco note introduttivo per Gemini 3.5 Transcribe.

Supporta due metodi di funzionamento principali:

  • Trascrizione Istantanea (live):trasmette l'audio in streaming e riceve i risultati della trascrizione in modo incrementale, in tempo reale, utilizzando il modello gemini-3.5-transcribe-live.
  • Trascrizione sincrona:trascrive file audio completi e preregistrati in un'unica richiesta utilizzando il modello gemini-3.5-transcribe.

Supporto e limitazioni delle funzionalità

Gemini 3.5 Transcribe supporta le seguenti funzionalità nei suoi due endpoint:

Funzionalità Live streaming (gemini-3.5-transcribe-live) Elaborazione dei file audio (gemini-3.5-transcribe) Fase di avvio Note / limitazioni
Rilevamento automatico della lingua Supportata (oltre 85 lingue) Supportata (oltre 85 lingue) Supportato Include la combinazione di codici durante la sessione.
Timestamp a livello di enunciato Supportato Non supportato Supportato
Timestamp a livello di parola Non supportato Supportato Sperimentale Riduce l'accuratezza della trascrizione.
Bias del vocabolario personalizzato Supportato (fino a 1000 termini) Supportato (fino a 1000 termini) Supportato In genere, i clienti ottengono i risultati migliori con un massimo di 100 termini.
Dettatura e formattazione intelligenti Supportato (con endpointing manuale) Supportato Sperimentale Include la rimozione degli intercalari e la formattazione alfanumerica basata sull'intent. Per il live streaming, utilizza con endpointing manuale.
Diarizzazione degli speaker Non supportato Supportato (fino a 8 altoparlanti) Sperimentale L'attribuzione per più di 3 speaker è sperimentale.
Durata massima dell'audio Fino a 10 minuti Fino a 15 minuti Supportato L'elaborazione dei file è limitata a 15 minuti quando sono attivate funzionalità come la diarizzazione o i timestamp.

Trascrizione del live streaming

La BidiGenerateContent (Live) API rimane aperta mentre trasmetti piccoli blocchi di audio al modello e ricevi i risultati della trascrizione in modo incrementale, man mano che diventano disponibili. Viene utilizzato per i sottotitoli codificati o la trascrizione dell'input del microfono quasi in tempo reale.

Per provare la trascrizione in streaming senza scrivere codice, apri gemini-3.5-transcribe-live nella pagina dell'API Gemini Live di Agent Studio, quindi registra o carica l'audio e guarda lo stream della trascrizione.

Prova Gemini 3.5 Transcribe in Agent Studio

Per trascrivere l'audio in streaming, crea un LiveConnectConfig e imposta response_modalities su ["TEXT"] insieme alla configurazione input_audio_transcription.

import asyncio
from google import genai
from google.genai import types

client = genai.Client(enterprise=True, project=PROJECT_ID, location=LOCATION)

config = types.LiveConnectConfig(
    response_modalities=["TEXT"],
    input_audio_transcription=types.AudioTranscriptionConfig(
        language_codes=["it-IT", "en-US"],
    ),
)

async def streaming_main(audio_file, config):
    # Connect to the Live API session
    async with client.aio.live.connect(model="gemini-3.5-transcribe-live", config=config) as session:
        # In a complete implementation, you would chunk the audio and send via:
        # await session.send_realtime_input(audio=types.Blob(data=data, mime_type="audio/pcm;rate=16000"))
        # await session.send_realtime_input(audio_stream_end=True)

        async for message in session.receive():
            if message.server_content:
                server_content = message.server_content

                # Track the active interim segment
                interim = server_content.interim_input_transcription
                if interim and interim.text:
                    print(f"Interim: {interim.text}")

                # Save final transcript and clear the interim
                final = server_content.input_transcription
                if final and final.text:
                    print(f"Final: {final.text}")

Trascrizione sincrona

Puoi utilizzare il metodo generate_content standard per trascrivere file audio completi già registrati. Configura i parametri creando un AudioTranscriptionConfig all'interno di GenerateContentConfig.

Timestamp a livello di parola

L'impostazione word_timestamp=True restituisce la sincronizzazione a livello di parola. L'elenco audio_transcription.words della risposta contiene ogni parola riconosciuta insieme ai relativi start_offset e end_offset.

from google import genai
from google.genai import types

# Initialize the client for Vertex AI / Agent Platform
client = genai.Client(enterprise=True, project=PROJECT_ID, location=LOCATION)

with open("input.wav", "rb") as f:
    audio_bytes = f.read()

response = client.models.generate_content(
    model="gemini-3.5-transcribe",
    contents=[
        types.Part.from_bytes(
            data=audio_bytes,
            mime_type="audio/wav",
        ),
    ],
    config=types.GenerateContentConfig(
        audio_transcription_config=types.AudioTranscriptionConfig(
            word_timestamp=True,
        ),
    ),
)

parts = getattr(response, "parts", []) or []
if parts and (audio_tx := getattr(parts[0], "audio_transcription", None)):
    for w in getattr(audio_tx, "words", []) or []:
        print(f"[{w.start_offset} - {w.end_offset}] {w.word}")

if text := "".join(p.text for p in parts if getattr(p, "text", None)):
    print(f"**{text}**")

Diarizzazione degli speaker e vocabolario personalizzato

L'impostazione diarization=True chiede al modello di identificare ed etichettare i singoli interlocutori. Puoi anche fornire un campo custom_vocabulary con un elenco di frasi che indirizzano Gemini 3.5 Transcribe verso il riconoscimento di termini specifici. In genere, il modello segue le istruzioni del vocabolario personalizzato in modo più affidabile quando viene specificata anche una lingua utilizzando language_codes.

response = client.models.generate_content(
    model="gemini-3.5-transcribe",
    contents=[
        types.Part.from_uri(
            file_uri="gs://cloud-samples-data/generative-ai/audio/coffee_order.wav",
            mime_type="audio/wav",
        ),
    ],
    config=types.GenerateContentConfig(
        audio_transcription_config=types.AudioTranscriptionConfig(
            diarization=True,
            language_codes=["en-US"],
            custom_vocabulary=["oatmilk", "oz"],
        ),
    ),
)

parts = getattr(response, "parts", []) or []
for p in parts:
    audio_tx = getattr(p, "audio_transcription", None)
    speaker = getattr(audio_tx, "speaker_label", "UNKNOWN") if audio_tx else "UNKNOWN"
    text = getattr(p, "text", "") or (getattr(audio_tx, "text", "") if audio_tx else "")

    if text:
        print(f"**{speaker}**: {text}")

Modalità di trascrizione

Gemini 3.5 Transcribe supporta due modalità di trascrizione tramite il parametro mode in AudioTranscriptionConfig:

  • VERBATIM (predefinito): restituisce una trascrizione letterale esatta di tutto ciò che viene detto, conservando gli intercalari ("um", "uh", "tipo", "sai"), le ripetizioni, le pause e i falsi inizi.
  • SMART (Trascrizione intelligente): ottimizza la trascrizione per la lettura applicando una post-elaborazione intelligente:
    • Rimozione di disfluenze:rimuove intercalari, balbettii e false partenze.
    • Autocorrezioni in linea:risolve direttamente le correzioni vocali (ad esempio, "Incontriamoci martedì, anzi no, mercoledì alle due" diventa "Incontriamoci mercoledì alle 14:00").
    • Formattazione strutturata automatica:struttura automaticamente i pensieri espressi a voce in paragrafi, elenchi numerati, elenchi puntati, date, valute e numeri formattati.
    • Pulizia grammaticale: applica punteggiatura, maiuscole e minuscole e flusso naturali.
Audio parlato VERBATIM output Output SMART (Trascrizione intelligente)
"Ehm, per la riunione, penso che dovremmo, ehm, invitare Alice e, aspetta, no, Bob e Carol." "Ehm, per la riunione penso che dovremmo invitare Alice e, aspetta, no, Bob e Carol." "Per la riunione, penso che dovremmo invitare Bob e Carol."
"Primo elemento: revisione del budget; secondo elemento: finalizzazione della sequenza temporale; terzo elemento: invio del riepilogo" "primo elemento rivedere il budget secondo elemento finalizzare la sequenza temporale terzo elemento inviare il riepilogo" "1. Esamina il budget
2. Finalizza la sequenza temporale
3. Invia riepilogo"

Trascrizione sincrona con la modalità SMART

response = client.models.generate_content(
    model="gemini-3.5-transcribe",
    contents=[
        types.Part.from_bytes(
            data=audio_bytes,
            mime_type="audio/wav",
        ),
    ],
    config=types.GenerateContentConfig(
        audio_transcription_config=types.AudioTranscriptionConfig(
            mode="SMART",
        ),
    ),
)

Trascrizione Istantanea con modalità SMART e rilevamento manuale dei punti finali

Quando utilizzi la modalità SMART con la trascrizione in live streaming (gemini-3.5-transcribe-live), devi utilizzare l'endpointing manuale (rilevamento di attività vocale manuale) anziché il VAD automatico. Poiché la modalità SMART applica la post-elaborazione a livello di enunciato, ad esempio la risoluzione delle autocorrezioni in linea e la strutturazione di elenchi o paragrafi, il VAD automatico potrebbe dividere prematuramente il pensiero di un utente durante le pause naturali.

Per configurare l'endpointing manuale, disattiva automatic_activity_detection in RealtimeInputConfig e contrassegna esplicitamente l'inizio e la fine del turno di conversazione dell'utente utilizzando activity_start e activity_end:

config = types.LiveConnectConfig(
    response_modalities=["TEXT"],
    realtime_input_config=types.RealtimeInputConfig(
        automatic_activity_detection=types.AutomaticActivityDetection(
            disabled=True,
        ),
    ),
    input_audio_transcription=types.AudioTranscriptionConfig(
        mode="SMART",
    ),
)

async with client.aio.live.connect(
    model="gemini-3.5-transcribe-live", config=config
) as session:
    # Signal start of speech turn
    await session.send_realtime_input(activity_start=types.ActivityStart())

    # Stream audio chunks...
    await session.send_realtime_input(
        audio=types.Blob(data=audio_bytes, mime_type="audio/pcm;rate=16000")
    )

    # Signal end of speech turn so SMART mode can process the complete utterance
    await session.send_realtime_input(activity_end=types.ActivityEnd())

Supporto dei linguaggi

Per Gemini 3.5 Transcribe sono supportate le seguenti lingue e i seguenti codici lingua BCP-47:

Lingua Codice BCP-47 Prontezza Lingua Codice BCP-47 Prontezza
Afrikaans af-ZA Sperimentale Giapponese ja-JP Supportato
Amarico am-ET Sperimentale Giavanese jv-ID Sperimentale
Arabo (Egitto) ar-EG Sperimentale Kabuverdianu kea-CV Sperimentale
Armeno hy-AM Sperimentale Kannada kn-IN Sperimentale
Assamese as-IN Sperimentale Kazako kk-KZ Sperimentale
Azero az-AZ Sperimentale Coreano ko-KR Supportato
Bielorusso be-BY Sperimentale Kirgizo ky-KG Sperimentale
Bengalese (Bangladesh) bn-BD Sperimentale Lettone lv-LV Sperimentale
Bengalese (India) bn-IN Sperimentale Lingala ln-CD Sperimentale
Bosniaco bs-BA Sperimentale Lituano lt-LT Sperimentale
Bulgaro bg-BG Sperimentale Macedone mk-MK Sperimentale
Bulgaro (aromaniano) rup-BG Sperimentale Malese ms-MY Sperimentale
Birmano my-MM Sperimentale Malayalam ml-IN Sperimentale
Cantonese (tradizionale) yue-Hant-HK Sperimentale Maltese mt-MT Sperimentale
Catalano ca-ES Supportato Cinese mandarino (semplificato) cmn-Hans-CN Supportato
Cebuano ceb Sperimentale Marathi mr-IN Sperimentale
Khmer centrale km-KH Sperimentale Mongolo mn-MN Sperimentale
Croato hr-HR Supportato Nepalese ne-NP Sperimentale
Ceco cs-CZ Sperimentale Norvegese nb-NO Sperimentale
Danese da-DK Supportato Oriya or-IN Sperimentale
Olandese nl-NL Supportato Polacco pl-PL Supportato
Inglese (Australia) en-AU Supportato Portoghese (Brasile) pt-BR Supportato
Inglese (Gran Bretagna) en-GB Supportato Portoghese (Portogallo) pt-PT Supportato
Inglese (India) en-IN Supportato Punjabi pa-IN Sperimentale
Inglese (Stati Uniti) en-US Supportato Punjabi (scrittura gurmukhi) pa-Guru-IN Sperimentale
Estone et-EE Sperimentale Romeno ro-RO Supportato
Farsi fa-IR Sperimentale Russo ru-RU Supportato
Filippino fil-PH Sperimentale Serbo sr-RS Sperimentale
Finlandese fi-FI Supportato Sindhi (alfabeto arabo) sd-Arab-IN Sperimentale
Francese fr-FR Supportato Slovacco sk-SK Sperimentale
Francese (Canada) fr-CA Supportato Sloveno sl-SI Sperimentale
Galiziano gl-ES Sperimentale Spagnolo (America Latina) es-419 Sperimentale
Georgiano ka-GE Sperimentale Spagnolo (Spagna) es-ES Supportato
Tedesco de-DE Supportato Spagnolo (Stati Uniti) es-US Supportato
Greco el-GR Supportato Swahili (Kenya) sw-KE Sperimentale
Gujarati gu-IN Sperimentale Svedese sv-SE Supportato
Hausa ha-NG Sperimentale Tagico tg-TJ Sperimentale
Ebraico he-IL Sperimentale Telugu te-IN Sperimentale
Hindi hi-IN Supportato Tailandese th-TH Sperimentale
Ungherese hu-HU Sperimentale Turco tr-TR Supportato
Islandese is-IS Sperimentale Ucraino uk-UA Supportato
Indonesiano id-ID Sperimentale Uzbeko uz-UZ Sperimentale
Italiano it-IT Supportato Vietnamita vi-VN Supportato

Disponibilità a livello di regione

Gemini 3.5 Transcribe è disponibile nelle seguenti Cloud de Confiance by S3NS località:

Endpoint Cloud de Confiance by S3NS Posizione Stato del lancio
gemini-3.5-transcribe global Supportato
gemini-3.5-transcribe us Supportato
gemini-3.5-transcribe eu Supportato
gemini-3.5-transcribe-live global Supportato
gemini-3.5-transcribe-live us Supportato
gemini-3.5-transcribe-live eu Supportato

Best practice

  • Fornisci un audio pulito:assicurati che le registrazioni audio abbiano una separazione vocale chiara ed evita un clipping eccessivo.
  • Fornisci suggerimenti sulla lingua, se noti:se conosci in anticipo la lingua dell'audio, specifica language_codes per massimizzare l'accuratezza.
  • Target custom vocabulary: Include only distinct domain terms, brand names, or proper nouns in custom_vocabulary rather than common everyday words.
  • Utilizza l'endpointing manuale con la modalità SMART nella Trascrizione Istantanea: disattiva il VAD automatico (automatic_activity_detection) e invia esplicitamente i segnali activity_start e activity_end in modo che il modello possa applicare la rimozione di disfluenze, le autocorrezioni e la formattazione a espressioni complete.

Prova in Agent Studio Prezzi

ID modello ['gemini-3.5-transcribe', 'gemini-3.5-transcribe-live']
Modalità
Testo Solo output
Immagine Non supportato
Audio Solo input
Video Non supportato
Funzionalità
Strumenti
API
Opzioni di consumo
Aree geografiche supportate

Disponibilità dei modelli

  • Globale: global

Elaborazione ML

  • Stati Uniti: Multi-region
  • Europa: Multi-region
Versioni
  • gemini-3.5-transcribe-preview
    • Fase di lancio: anteprima
    • Data di uscita: agosto 2026
  • gemini-3.5-transcribe
    • Fase di lancio: GA
    • Data di uscita: ottobre 2026
  • gemini-3.5-transcribe-live-preview
    • Fase di lancio: anteprima
    • Data di uscita: agosto 2026
  • gemini-3.5-transcribe-live
    • Fase di lancio: GA
    • Data di uscita: ottobre 2026