Gemini 3.5 Transcribe

Gemini 3.5 Transcribe 是 Google 的模型,可將多種語言的語音轉文字,可透過 Agent Platform 使用。這項技術以 Gemini 的音訊理解功能為基礎,可提供低延遲、準確的轉錄稿,並具備語句式語言偵測、說話者分段標記、個別字詞時間戳記、智慧轉錄和自訂詞彙語音偏誤等功能。

Gemini 3.5 Transcribe 是主要的語音轉錄工具,可彌補深度推論多模態模型與高度最佳化語音轉文字工作流程之間的差距。

如要開始使用,請參閱 Gemini 3.5 Transcribe 的簡介筆記本。

支援兩種主要作業方法:

  • 串流 (即時) 轉錄:使用 gemini-3.5-transcribe-live 模型串流音訊,並即時接收轉錄結果。
  • 同步轉錄:使用 gemini-3.5-transcribe 模型,透過單一要求轉錄完整的預錄音訊檔案。

功能支援與限制

Gemini 3.5 Transcribe 的兩個端點支援下列功能:

功能 直播 (gemini-3.5-transcribe-live) 音訊檔案處理 (gemini-3.5-transcribe) 推出階段 注意事項/限制
自動偵測語言 支援 (超過 85 種語言) 支援 (超過 85 種語言) 支援 包括在對話中混用多種語言。
語句層級時間戳記 支援 不支援 支援
字詞層級時間戳記 不支援 支援 實驗功能 降低語音轉錄準確度。
自訂詞彙偏誤 支援 (最多 1,000 個字詞) 支援 (最多 1,000 個字詞) 支援 客戶通常會發現,最多 100 個字詞的效果最好。
智慧語音輸入和格式設定 支援 (需手動設定端點) 支援 實驗功能 包括移除填充詞,以及根據意圖調整英數字元格式。如要直播,請搭配手動端點偵測。
Speaker Diarization 不支援 支援 (最多 8 位講者) 實驗功能 3 位以上講者的歸因功能仍在實驗階段。
音訊時間長度上限 最長 10 分鐘 最長 15 分鐘 支援 啟用說話者辨識或時間戳記等功能時,檔案處理時間上限為 15 分鐘。

直播語音轉錄

BidiGenerateContent (Live) API 會保持開啟,您可將音訊片段串流至模型,並在轉錄結果產生後逐步接收。用於近乎即時地為麥克風輸入內容加上字幕或轉錄。

如要試用串流轉錄功能,不必編寫任何程式碼,只要在 Agent Studio 的 Gemini Live API 頁面開啟 gemini-3.5-transcribe-live,然後錄製或上傳音訊,即可查看轉錄稿串流。

在 Agent Studio 試用 Gemini 3.5 Transcribe

如要轉錄串流音訊,請建構 LiveConnectConfig,並將 response_modalities 設為 ["TEXT"],以及 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}")

同步語音轉錄

您可以使用標準 generate_content 方法,轉錄已錄製的完整音訊檔案。在 GenerateContentConfig 內建構 AudioTranscriptionConfig,藉此設定參數。

字詞層級時間戳記

如果設為 word_timestamp=True,系統會傳回字詞層級的時間資訊。回應的 audio_transcription.words 清單包含每個辨識出的字詞,以及其 start_offset 和 end_offset。

from google import genai
from google.genai import types

# Initialize the client
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}**")

講者分類和自訂詞彙

設定 diarization=True,模型就會辨識並標記個別說話者。您也可以提供 custom_vocabulary 欄位,並列出詞組,讓 Gemini 3.5 Transcribe 偏向辨識特定字詞。如果同時使用 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}")

語音轉錄模式

Gemini 3.5 Transcribe 支援兩種語音轉錄模式,可透過 AudioTranscriptionConfig 中的 mode 參數設定:

  • VERBATIM (預設):傳回逐字稿,保留原始填充詞 (「嗯」、「呃」、「像」、「你知道」)、重複、停頓和錯誤開頭。
  • SMART (智慧轉錄):套用智慧後置處理,讓轉錄稿更易於閱讀:
    • 贅字移除:移除對話中的填充詞、口吃和錯誤開頭。
    • 內嵌自我修正:直接修正口誤 (例如「我們週二見,不對,週三下午兩點」會變成「我們週三下午 2:00 見」)。
    • 自動結構化格式:自動將口述想法整理成段落、編號清單、項目符號、格式化日期、貨幣和數字。
    • 文法修正:套用自然的標點符號、句子大小寫和語句流暢度。
語音音訊 VERBATIM 個輸出 SMART (智慧轉錄) 輸出
「嗯,關於會議,我想我們應該邀請 Alice,不對,是 Bob 和 Carol。」 「嗯,關於會議,我想我們應該邀請 Alice,不對,是 Bob 和 Carol。」 「我認為應該邀請 Bob 和 Carol 參加會議。」
「第一項:審查預算;第二項:敲定時間表;第三項:傳送摘要」 「第一項:審查預算;第二項:敲定時間軸;第三項:傳送摘要」 「1. 查看預算
2. 完成時間軸
3. 傳送摘要」

使用 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",
        ),
    ),
)

使用 SMART 模式和手動端點偵測功能即時轉錄

使用 SMART 模式搭配直播轉錄 (gemini-3.5-transcribe-live) 時,請使用手動端點偵測 (手動語音活動偵測),而非自動 VAD。由於 SMART 模式會套用語句層級的後置處理,例如解析內嵌自我修正,以及結構化清單或段落,因此自動 VAD 可能會在自然停頓期間過早分割使用者的想法。

如要設定手動端點偵測,請停用 RealtimeInputConfig 中的 automatic_activity_detection,並使用 activity_start 和 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())

語言支援

Gemini 3.5 Transcribe 支援下列語言和 BCP-47 語言代碼:

語言 BCP-47 代碼 準備度 語言 BCP-47 代碼 準備度
南非荷蘭文 af-ZA 實驗功能 日文 ja-JP 支援
阿姆哈拉文 am-ET 實驗功能 爪哇文 jv-ID 實驗功能
阿拉伯文 (埃及) ar-EG 實驗功能 維德角克里奧爾文 kea-CV 實驗功能
亞美尼亞文 hy-AM 實驗功能 卡納達文 kn-IN 實驗功能
阿薩姆文 as-IN 實驗功能 哈薩克文 kk-KZ 實驗功能
亞塞拜然文 az-AZ 實驗功能 韓文 ko-KR 支援
白俄羅斯文 be-BY 實驗功能 吉爾吉斯文 ky-KG 實驗功能
孟加拉文 (孟加拉) bn-BD 實驗功能 拉脫維亞文 lv-LV 實驗功能
孟加拉文 (印度) bn-IN 實驗功能 林格拉文 ln-CD 實驗功能
波士尼亞文 bs-BA 實驗功能 立陶宛文 lt-LT 實驗功能
保加利亞文 bg-BG 實驗功能 馬其頓文 mk-MK 實驗功能
保加利亞文 (阿羅馬尼亞文) rup-BG 實驗功能 馬來文 ms-MY 實驗功能
緬甸文 my-MM 實驗功能 馬拉雅拉姆文 ml-IN 實驗功能
粵語 (繁體) yue-Hant-HK 實驗功能 馬耳他文 mt-MT 實驗功能
加泰隆尼亞文 ca-ES 支援 中文 (簡體) cmn-Hans-CN 支援
宿霧文 ceb 實驗功能 馬拉地文 mr-IN 實驗功能
中部高棉文 km-KH 實驗功能 蒙古文 mn-MN 實驗功能
克羅埃西亞文 hr-HR 支援 尼泊爾文 ne-NP 實驗功能
捷克文 cs-CZ 實驗功能 挪威文 nb-NO 實驗功能
丹麥文 da-DK 支援 奧里雅語 or-IN 實驗功能
荷蘭文 nl-NL 支援 波蘭文 pl-PL 支援
英文 (澳洲) en-AU 支援 葡萄牙文 (巴西) pt-BR 支援
英文 (英國) en-GB 支援 葡萄牙語 (葡萄牙) pt-PT 支援
英文 (印度) en-IN 支援 旁遮普文 pa-IN 實驗功能
英文 (美國) en-US 支援 旁遮普文 (古木基文) pa-Guru-IN 實驗功能
愛沙尼亞文 et-EE 實驗功能 羅馬尼亞文 ro-RO 支援
波斯文 fa-IR 實驗功能 俄文 ru-RU 支援
菲律賓文 fil-PH 實驗功能 塞爾維亞文 sr-RS 實驗功能
芬蘭文 fi-FI 支援 信德文 (阿拉伯字母) sd-Arab-IN 實驗功能
法文 fr-FR 支援 斯洛伐克文 sk-SK 實驗功能
法文 (加拿大) fr-CA 支援 斯洛維尼亞文 sl-SI 實驗功能
加里西亞文 gl-ES 實驗功能 西班牙文 (拉丁美洲) es-419 實驗功能
喬治亞文 ka-GE 實驗功能 西班牙文 (西班牙) es-ES 支援
德文 de-DE 支援 西班牙文 (美國) es-US 支援
希臘文 el-GR 支援 斯瓦希里文 (肯亞) sw-KE 實驗功能
古吉拉特文 gu-IN 實驗功能 瑞典文 sv-SE 支援
豪薩文 ha-NG 實驗功能 塔吉克文 tg-TJ 實驗功能
希伯來文 he-IL 實驗功能 泰盧固文 te-IN 實驗功能
北印度文 hi-IN 支援 泰文 th-TH 實驗功能
匈牙利文 hu-HU 實驗功能 土耳其文 tr-TR 支援
冰島文 is-IS 實驗功能 烏克蘭文 uk-UA 支援
印尼文 id-ID 實驗功能 烏茲別克文 uz-UZ 實驗功能
義大利文 it-IT 支援 越南文 vi-VN 支援

區域可用性

Gemini 3.5 Transcribe 適用於下列 Google Cloud 位置:

端點 Google Cloud 位置 發布準備完成度
gemini-3.5-transcribe global 支援
gemini-3.5-transcribe us 支援
gemini-3.5-transcribe eu 支援
gemini-3.5-transcribe-live global 支援
gemini-3.5-transcribe-live us 支援
gemini-3.5-transcribe-live eu 支援

最佳做法

  • 提供清晰人聲:確保錄音內容中的語音清晰可辨,並避免嚴重削波。
  • 提供已知語言提示:如果預先知道音訊語言,請指定 language_codes,盡可能提高準確度。
  • 指定自訂詞彙:custom_vocabulary 中只能包含獨特的領域術語、品牌名稱或專有名詞,而非日常用語。
  • 在即時語音轉錄中,搭配 SMART 模式使用手動端點偵測:停用自動 VAD (automatic_activity_detection),並明確傳送 activity_start 和 activity_end 信號,讓模型能移除贅字、修正口誤,並格式化完整語句。

在 Agent Studio 試用 定價

模型 ID ['gemini-3.5-transcribe', 'gemini-3.5-transcribe-live']
形式
文字 僅限輸出
圖片 不支援
音訊 僅限輸入
影片 不支援
功能
工具
API
用量方案
支援的地區

模型可用性

  • 全球:global

ML 處理

  • 美國:Multi-region
  • 歐洲:Multi-region
版本
  • gemini-3.5-transcribe-preview
    • 推出階段:預先發布版
    • 發布日期:2026 年 8 月
  • gemini-3.5-transcribe
    • 推出階段:正式發布
    • 發布日期:2026 年 10 月
  • gemini-3.5-transcribe-live-preview
    • 推出階段:預先發布版
    • 發布日期:2026 年 8 月
  • gemini-3.5-transcribe-live
    • 推出階段:正式發布
    • 發布日期:2026 年 10 月
安全性控管 線上預測
  • 資料落地
  • CMEK
  • VPC-SC
  • AXT
詳情請參閱「安全控管」。