音频转写

Gemini API 使用 Gemini 3.5 Transcribe 模型 (gemini-3.5-transcribe) 将音频文件中的语音转换为文本。凭借 Gemini 的音频理解能力,该 API 可提供准确的转写内容,并支持自动语言识别、说话人日志记录、字级时间戳和自定义词汇提示。它还提供智能转写模式,可移除口语中的不流畅之处并进行智能格式设置。

如需转写音频文件,请上传音频并将其传递给 gemini-3.5-transcribe

Python

from google import genai

client = genai.Client()

audio_file = client.files.upload(file="path/to/sample.mp3")

interaction = client.interactions.create(
    model="gemini-3.5-transcribe",
    input=[
        {
            "type": "audio",
            "uri": audio_file.uri,
            "mime_type": audio_file.mime_type,
        }
    ],
)

print(interaction.output_text)

JavaScript

import { GoogleGenAI } from "@google/genai";

const client = new GoogleGenAI({});

const audioFile = await client.files.upload({
  file: "path/to/sample.mp3",
  config: { mime_type: "audio/mp3" },
});

const interaction = await client.interactions.create({
  model: "gemini-3.5-transcribe",
  input: [
    {
      type: "audio",
      uri: audioFile.uri,
      mime_type: audioFile.mimeType,
    },
  ],
});

console.log(interaction.output_text);

REST

# First upload the file via the Files API, then pass its URI:
curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-3.5-transcribe",
    "input": [
      {
        "type": "audio",
        "uri": "YOUR_FILE_URI",
        "mime_type": "audio/mp3"
      }
    ]
  }'

概览

Gemini 3.5 Transcribe 针对语音转文字任务进行了优化。它可以处理各种口音、背景噪声和多语言对话。

主要功能包括:

  • 自动语音识别 (ASR):自动检测 85 多种语言区域设置。无需手动配置即可处理句内和句间语码转换。
  • 自定义词汇:通过传递最多 1,000 个短语,使识别偏向于特定领域的术语、缩写和专有名词。
  • 说话人日志:区分多个说话人,并将说话片段归因于不同的标签。
  • 字词级时间戳:为每个识别出的字词生成精确的开始和结束时间偏移值。
  • 智能转写:清理口误、填充词、重复内容,并应用结构化格式。
  • 格式设置和归一化:应用大小写、标点和逆文本归一化,例如将“2600 万美元”转换为“2600 万美元”。

如需对音频内容进行一般性音频推理或问答,请使用音频理解。如需进行文字转语音音频合成,请使用 Text-to-speech

语言检测和提示

默认情况下,模型会自动检测口语。当说话者进行语码转换时,它会在语言之间动态切换。

如需使用自动检测,请省略 language_codes 或提供一个空列表:

Python

interaction = client.interactions.create(
    model="gemini-3.5-transcribe",
    input=[
        {
            "type": "audio",
            "uri": audio_file.uri,
            "mime_type": audio_file.mime_type,
        }
    ],
    generation_config={
        "transcription_config": {
            "language_codes": [],
        }
    },
)

JavaScript

const interaction = await client.interactions.create({
  model: "gemini-3.5-transcribe",
  input: [
    {
      type: "audio",
      uri: audioFile.uri,
      mime_type: audioFile.mimeType,
    },
  ],
  generation_config: {
    transcription_config: {
      language_codes: [],
    },
  },
});

REST

curl -X POST "https://generativelanguage.googleapis.com/v1beta/interactions" \
  -H "x-goog-api-key: $GEMINI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gemini-3.5-transcribe",
    "input": [
      {
        "type": "audio",
        "uri": "YOUR_FILE_URI",
        "mime_type": "audio/mp3"
      }
    ],
    "generation_config": {
      "transcription_config": {
        "language_codes": []
      }
    }
  }'

如果您提前知道语言,请在 language_codes 中指定 BCP-47 语言代码,以提高转写准确率(请参阅支持的语言):

Python

generation_config = {
    "transcription_config": {
        "language_codes": ["es-ES"],
    }
}

JavaScript

const generationConfig = {
  transcription_config: {
    language_codes: ["es-ES"],
  },
};

REST

{
  "generation_config": {
    "transcription_config": {
      "language_codes": ["es-ES"]
    }
  }
}

自定义词汇

您可以引导语音模型识别不常见的字词、技术术语、品牌名称或专有名词。在 custom_vocabulary 数组中提供最多 1,000 个字词(通常最多提供 100 个字词可获得最佳效果):

Python

interaction = client.interactions.create(