Gemini 3.5 Transcribe

Gemini 3.5 Transcribe adalah model Google untuk mengonversi ucapan menjadi teks dalam berbagai bahasa, yang tersedia melalui Agent Platform. Berdasarkan kemampuan pemahaman audio Gemini, API ini menyediakan transkripsi akurat dengan latensi rendah yang dilengkapi deteksi bahasa berbasis ucapan, diarisasi pembicara, stempel waktu tingkat kata, Transkripsi cerdas, dan pembiasan ucapan kosakata kustom.

Gemini 3.5 Transcribe berfungsi sebagai mesin utama transkripsi audio, yang menjembatani kesenjangan antara model multimodal penalaran mendalam dan alur kerja speech-to-text yang sangat dioptimalkan.

Untuk memulai, lihat notebook pengantar untuk Gemini 3.5 Transcribe.

Alat ini mendukung dua metode operasi utama:

  • Transkripsi streaming (Live): Melakukan streaming audio dan menerima hasil transkripsi secara inkremental, secara real time, menggunakan model gemini-3.5-transcribe-live.
  • Transkripsi sinkron: Mentranskripsikan file audio lengkap yang telah direkam sebelumnya dalam satu permintaan menggunakan model gemini-3.5-transcribe.

Dukungan dan batasan fitur

Gemini 3.5 Transcribe mendukung fitur berikut di dua endpoint-nya:

Fitur Live Streaming (gemini-3.5-transcribe-live) Pemrosesan File Audio (gemini-3.5-transcribe) Tahap Peluncuran Catatan / Batasan
Deteksi Otomatis Bahasa Didukung (85+ bahasa) Didukung (85+ bahasa) Didukung Mencakup pencampuran kode di tengah sesi.
Stempel Waktu Tingkat Ucapan Didukung Tidak Didukung Didukung
Stempel Waktu Tingkat Kata Tidak Didukung Didukung Eksperimental Menurunkan akurasi transkripsi.
Pembiasan Kosakata Kustom Didukung (hingga 1.000 istilah) Didukung (hingga 1.000 istilah) Didukung Pelanggan biasanya melihat hasil terbaik dengan maksimal 100 istilah.
Dikte & Pemformatan Cerdas Didukung (dengan endpointing manual) Didukung Eksperimental Mencakup penghapusan kata pengisi dan pemformatan alfanumerik yang sesuai dengan maksud. Untuk live streaming, gunakan dengan endpointing manual.
Diarisasi Pembicara Tidak Didukung Didukung (hingga 8 pembicara) Eksperimental Atribusi untuk 3+ pembicara bersifat Eksperimental.
Durasi Audio Maksimal Maksimal 10 menit Hingga 15 menit Didukung Pemrosesan file dibatasi hingga 15 menit jika fitur seperti diarisasi atau stempel waktu diaktifkan.

Transkripsi live streaming

BidiGenerateContent (Live) API tetap terbuka saat Anda melakukan streaming potongan kecil audio ke model dan menerima hasil transkripsi secara inkremental, saat tersedia. Fitur ini digunakan untuk membuat teks atau mentranskripsikan input mikrofon hampir secara real-time.

Untuk mencoba transkripsi streaming tanpa menulis kode apa pun, buka gemini-3.5-transcribe-live di halaman Gemini Live API di Agent Studio, lalu rekam atau upload audio dan tonton streaming transkripnya.

Coba Gemini 3.5 Transcribe di Agent Studio

Untuk mentranskripsikan audio streaming, buat LiveConnectConfig dan tetapkan response_modalities ke ["TEXT"] bersama dengan konfigurasi input_audio_transcription Anda.

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}")

Transkripsi sinkron

Anda dapat menggunakan metode generate_content standar untuk mentranskripsikan file audio lengkap yang telah direkam. Konfigurasikan parameter dengan membuat AudioTranscriptionConfig di dalam GenerateContentConfig.

Stempel waktu tingkat kata

Menetapkan word_timestamp=True akan menampilkan pengaturan waktu tingkat kata. Daftar audio_transcription.words respons berisi setiap kata yang dikenali beserta start_offset dan end_offset-nya.

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}**")

Diarisasi pembicara dan kosakata kustom

Menetapkan diarization=True akan meminta model untuk mengidentifikasi dan memberi label pada setiap pembicara. Anda juga dapat menyediakan kolom custom_vocabulary dengan daftar frasa yang membiaskan Gemini 3.5 Transcribe untuk mengenali istilah tertentu. Model ini umumnya mengikuti petunjuk kosakata kustom dengan lebih andal jika bahasa juga ditentukan menggunakan 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}")

Mode transkripsi

Gemini 3.5 Transcribe mendukung dua mode transkripsi melalui parameter mode di AudioTranscriptionConfig:

  • VERBATIM (default): Menampilkan transkrip kata demi kata yang tepat dari semua yang diucapkan, mempertahankan kata pengisi mentah ("um", "uh", "seperti", "Anda tahu"), pengulangan, jeda, dan awal yang salah.
  • SMART (Transkripsi cerdas): Mengoptimalkan transkrip agar mudah dibaca dengan menerapkan pascapemrosesan cerdas:
    • Pembersihan transkrip ucapan: Menghapus kata pengisi percakapan, kegagapan, dan kesalahan pengucapan.
    • Koreksi mandiri inline: Menyelesaikan koreksi lisan secara langsung (misalnya, "Mari bertemu pada hari Selasa, sebenarnya tidak, Rabu pukul dua" menjadi "Mari bertemu pada hari Rabu pukul 14.00").
    • Pemformatan terstruktur otomatis: Otomatis menyusun pemikiran lisan menjadi paragraf, daftar bernomor, poin-poin, tanggal, mata uang, dan angka yang diformat.
    • Pembersihan tata bahasa: Menerapkan tanda baca, kapitalisasi kalimat, dan alur yang alami.
Audio lisan VERBATIM output Output SMART (Transkripsi cerdas)
"Hmm, jadi untuk rapatnya, menurut saya kita harus, eh, mengundang Alice dan, tunggu, tidak, Bob dan Carol." "Um jadi untuk rapatnya, menurut saya kita harus mengundang Alice dan tunggu, bukan, Bob dan Carol." "Untuk rapat, sebaiknya kita mengundang Bob dan Carol."
"Item pertama tinjau anggaran item kedua selesaikan linimasa item ketiga kirim ringkasan" "item pertama tinjau anggaran item kedua selesaikan linimasa item ketiga kirim ringkasan" "1. Tinjau anggaran
2. Menyelesaikan linimasa
3. Kirim ringkasan"

Transkripsi sinkron dengan mode 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",
        ),
    ),
)

Transkripsi Instan dengan mode SMART dan endpointing manual

Saat menggunakan mode SMART dengan transkripsi live streaming (gemini-3.5-transcribe-live), Anda harus menggunakan endpointing manual (Deteksi Aktivitas Suara manual), bukan VAD otomatis. Karena mode SMART menerapkan pascapemrosesan tingkat ucapan—seperti menyelesaikan koreksi mandiri inline dan menyusun daftar atau paragraf—VAD otomatis dapat memisahkan pemikiran pengguna secara prematur selama jeda alami.

Untuk mengonfigurasi endpointing manual, nonaktifkan automatic_activity_detection di RealtimeInputConfig dan tandai awal dan akhir giliran bicara pengguna secara eksplisit menggunakan activity_start dan 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())

Dukungan bahasa

Bahasa dan kode bahasa BCP-47 berikut didukung untuk Gemini 3.5 Transcribe:

Bahasa Kode BCP-47 Kesiapan Bahasa Kode BCP-47 Kesiapan
Afrika af-ZA Eksperimental Japanese ja-JP Didukung
Amhara am-ET Eksperimental Jawa jv-ID Eksperimental
Arab (Mesir) ar-EG Eksperimental Kabuverdianu kea-CV Eksperimental
Armenia hy-AM Eksperimental Kannada kn-IN Eksperimental
Assam as-IN Eksperimental Kazak kk-KZ Eksperimental
Azerbaijan az-AZ Eksperimental Korea ko-KR Didukung
Belarus be-BY Eksperimental Kirgiz ky-KG Eksperimental
Bengali (Bangladesh) bn-BD Eksperimental Latvia lv-LV Eksperimental
Bengali (India) bn-IN Eksperimental Lingala ln-CD Eksperimental
Bosnia bs-BA Eksperimental Lituania lt-LT Eksperimental
Bulgaria bg-BG Eksperimental Makedonia mk-MK Eksperimental
Bulgaria (Aromania) rup-BG Eksperimental Melayu ms-MY Eksperimental
Burma my-MM Eksperimental Malayalam ml-IN Eksperimental
Kanton (Aksara Tradisional) yue-Hant-HK Eksperimental Malta mt-MT Eksperimental
Catalan ca-ES Didukung China Mandarin (Aksara Sederhana) cmn-Hans-CN Didukung
Cebuano ceb Eksperimental Marathi mr-IN Eksperimental
Khmer Tengah km-KH Eksperimental Mongol mn-MN Eksperimental
Kroasia hr-HR Didukung Nepal ne-NP Eksperimental
Ceko cs-CZ Eksperimental Norwegia nb-NO Eksperimental
Denmark da-DK Didukung Oriya or-IN Eksperimental
Belanda nl-NL Didukung Polandia pl-PL Didukung
Inggris (Australia) en-AU Didukung Portugis (Brasil) pt-BR Didukung
Inggris (Britania Raya) en-GB Didukung Portugis (Portugal) pt-PT Didukung
Inggris (India) en-IN Didukung Punjab pa-IN Eksperimental
Inggris (Amerika Serikat) en-US Didukung Punjabi (Skrip Gurmukhi) pa-Guru-IN Eksperimental
Estonia et-EE Eksperimental Rumania ro-RO Didukung
Farsi fa-IR Eksperimental Rusia ru-RU Didukung
Filipino fil-PH Eksperimental Serb sr-RS Eksperimental
Finlandia fi-FI Didukung Sindhi (aksara Arab) sd-Arab-IN Eksperimental
Prancis fr-FR Didukung Slovakia sk-SK Eksperimental
Prancis (Kanada) fr-CA Didukung Slovenia sl-SI Eksperimental
Galisia gl-ES Eksperimental Spanyol (Amerika Latin) es-419 Eksperimental
Georgia ka-GE Eksperimental Spanyol (Spanyol) es-ES Didukung
Jerman de-DE Didukung Spanyol (Amerika Serikat) es-US Didukung
Yunani el-GR Didukung Swahili (Kenya) sw-KE Eksperimental
Gujarat gu-IN Eksperimental Swedia sv-SE Didukung
Hausa ha-NG Eksperimental Tajik tg-TJ Eksperimental
Ibrani he-IL Eksperimental Telugu te-IN Eksperimental
Hindi hi-IN Didukung Thai th-TH Eksperimental
Hungaria hu-HU Eksperimental Turki tr-TR Didukung
Islandia is-IS Eksperimental Ukraina uk-UA Didukung
Indonesia id-ID Eksperimental Uzbek uz-UZ Eksperimental
Italia it-IT Didukung Vietnam vi-VN Didukung

Ketersediaan regional

Gemini 3.5 Transcribe tersedia di lokasi Cloud de Confiance by S3NS berikut:

Endpoint Cloud de Confiance by S3NS Lokasi Kesiapan Peluncuran
gemini-3.5-transcribe global Didukung
gemini-3.5-transcribe us Didukung
gemini-3.5-transcribe eu Didukung
gemini-3.5-transcribe-live global Didukung
gemini-3.5-transcribe-live us Didukung
gemini-3.5-transcribe-live eu Didukung

Praktik terbaik

  • Berikan audio yang bersih: Pastikan rekaman audio memiliki pemisahan suara jernih yang jelas dan hindari pemangkasan yang parah.
  • Berikan petunjuk bahasa jika diketahui: Jika Anda mengetahui bahasa audio sebelumnya, tentukan language_codes untuk memaksimalkan akurasi.
  • Target custom vocabulary: Hanya sertakan istilah domain, nama merek, atau kata benda yang berbeda dalam custom_vocabulary, bukan kata-kata umum sehari-hari.
  • Gunakan endpointing manual dengan mode SMART dalam transkripsi instan: Nonaktifkan VAD otomatis (automatic_activity_detection) dan kirim sinyal activity_start dan activity_end secara eksplisit sehingga model dapat menerapkan pembersihan transkrip ucapan, koreksi mandiri, dan pemformatan di seluruh ucapan lengkap.

Coba di Agent Studio Harga

ID Model ['gemini-3.5-transcribe', 'gemini-3.5-transcribe-live']
Modalitas
Teks Khusus output
Gambar Tidak didukung
Audio Khusus input
Video Tidak didukung
Kemampuan
Alat
API
Opsi pemakaian
Region yang didukung

Ketersediaan model

  • Global: global

Pemrosesan ML

  • Amerika Serikat: Multi-region
  • Eropa: Multi-region
Versi
  • gemini-3.5-transcribe-preview
    • Tahap peluncuran: Pratinjau
    • Tanggal rilis: Agustus 2026
  • gemini-3.5-transcribe
    • Tahap peluncuran: GA
    • Tanggal rilis: Oktober 2026
  • gemini-3.5-transcribe-live-preview
    • Tahap peluncuran: Pratinjau
    • Tanggal rilis: Agustus 2026
  • gemini-3.5-transcribe-live
    • Tahap peluncuran: GA
    • Tanggal rilis: Oktober 2026