Gemini音频API技能Skill gemini-audio

这个技能利用 Google Gemini API 提供音频处理能力,包括音频转录、内容总结、声音分析以及文本到语音生成。支持多种音频格式,最大处理长达 9.5 小时的音频。适用于播客、会议、访谈等音频内容的处理和理解。关键词:音频处理,语音转录,AI 音频分析,语音生成,Gemini API,智能音频工具。

NLP 0 次安装 0 次浏览 更新于 3/18/2026

name: gemini-audio description: 实现 Google Gemini API 音频功能的指南 - 分析音频的转录、总结和理解(最多 9.5 小时),加上使用可控 TTS 生成语音。当处理音频文件、创建转录、分析语音/音乐/声音或从文本生成自然语音时使用。 license: MIT allowed-tools:

  • Bash
  • Read
  • Write
  • Edit

Gemini Audio API 技能

使用 Google 的 Gemini API 处理音频的转录、分析和理解,以及生成自然语音。支持每个请求最多 9.5 小时的音频和多种格式。

何时使用此技能

在需要时使用此技能:

  • 转录 音频文件为带时间戳的文本
  • 总结 音频内容并提取关键点
  • 分析 语音、音乐或环境声音
  • 生成语音 从文本使用可控语音和风格
  • 处理 播客、访谈、会议或任何音频内容
  • 理解 非语音音频(鸟鸣、警笛、音乐)

先决条件

API 密钥设置

技能自动按此顺序检测您的 GEMINI_API_KEY

  1. 进程环境export GEMINI_API_KEY="your-key"
  2. 技能目录.claude/skills/gemini-audio/.env
  3. 项目目录./.env(项目根目录)

获取您的 API 密钥:访问 Google AI Studio

创建 .env 文件,内容为:

GEMINI_API_KEY=your_api_key_here

Python 设置

安装所需包:

pip install google-genai

快速开始

音频分析(转录、总结)

from google import genai
import os

# API 密钥从环境自动检测
client = genai.Client(api_key=os.getenv('GEMINI_API_KEY'))

# 上传音频文件
myfile = client.files.upload(file='podcast.mp3')

# 转录
response = client.models.generate_content(
    model='gemini-2.5-flash',
    contents=['生成语音的转录。', myfile]
)
print(response.text)

# 总结
response = client.models.generate_content(
    model='gemini-2.5-flash',
    contents=['用 5 个要点总结关键点。', myfile]
)
print(response.text)

使用辅助脚本

# 转录音频
python .claude/skills/gemini-audio/scripts/transcribe.py audio.mp3

# 总结音频
python .claude/skills/gemini-audio/scripts/analyze.py audio.mp3 \
  "总结关键点"

# 分析特定片段(时间戳为 MM:SS 格式)
python .claude/skills/gemini-audio/scripts/analyze.py audio.mp3 \
  "02:30 到 05:15 之间讨论了什么?"

# 生成语音
python .claude/skills/gemini-audio/scripts/generate-speech.py \
  "欢迎来到我们的播客" \
  --output welcome.wav

音频理解能力

支持格式

格式 MIME 类型 最佳用途
WAV audio/wav 未压缩,最高质量
MP3 audio/mp3 压缩,广泛兼容
AAC audio/aac 压缩,良好质量
FLAC audio/flac 无损压缩
OGG Vorbis audio/ogg 开放格式
AIFF audio/aiff Apple 格式

音频规格

  • 最大长度:每个请求 9.5 小时
  • 多个文件:数量无限,合并最大 9.5 小时
  • 令牌率:32 令牌/秒(1 分钟 = 1,920 令牌)
  • 处理:自动下采样至 16 Kbps 单声道
  • 文件大小限制
    • 内联:请求总最大 20 MB
    • 文件 API:每个文件 2 GB,项目配额 20 GB
    • 保留:48 小时自动删除

分析功能

  • 转录:带标点的完整文本
  • 时间戳:参考片段(MM:SS 格式)
  • 多说话人:识别不同说话人
  • 非语音:分析音乐、声音、环境音频
  • 语言:支持多种语言

语音生成(TTS)

可用 TTS 模型

模型 质量 速度 成本/1M 令牌
gemini-2.5-flash-native-audio-preview-09-2025 $10
gemini-2.5-pro TTS 模式 优质 $20

可控语音选项

  • 风格:专业、休闲、叙事、对话
  • 节奏:慢、正常、快
  • 语调:友好、严肃、热情
  • 口音:自然语言控制

TTS 示例

response = client.models.generate_content(
    model='gemini-2.5-flash-native-audio-preview-09-2025',
    contents='生成音频:欢迎来到今天的剧集,以温暖、友好的语调。'
)

# 保存音频输出
with open('output.wav', 'wb') as f:
    f.write(response.audio_data)

输入方法

方法 1:文件上传(推荐 >20MB)

# 上传并重用
myfile = client.files.upload(file='large-audio.mp3')

# 多次使用文件
response1 = client.models.generate_content(
    model='gemini-2.5-flash',
    contents=['转录这个', myfile]
)

response2 = client.models.generate_content(
    model='gemini-2.5-flash',
    contents=['总结这个', myfile]
)

方法 2:内联数据(<20MB)

from google.genai import types

with open('small-audio.mp3', 'rb') as f:
    audio_bytes = f.read()

response = client.models.generate_content(
    model='gemini-2.5-flash',
    contents=[
        '描述这个音频',
        types.Part.from_bytes(data=audio_bytes, mime_type='audio/mp3')
    ]
)

常见用例

转录

python scripts/transcribe.py meeting.mp3 --include-timestamps

带关键点的总结

python scripts/analyze.py interview.wav "提取主要话题和关键引语"

说话人识别

python scripts/analyze.py discussion.mp3 "识别说话人并提取对话"

片段分析

python scripts/analyze.py podcast.mp3 "总结 10:30 到 15:45 的内容"

非语音分析

python scripts/analyze.py ambient.wav "识别所有声音:语音、音乐、环境"

最佳实践

文件管理

  • 对于 >20MB 或重复使用的文件,使用文件 API
  • 文件在 48 小时后自动删除
  • 管理配额(项目限制 20 GB)

提示工程

  • 具体:“转录 02:30 到 03:29”
  • 使用时间戳进行片段分析(MM:SS 格式)
  • 组合任务:“转录并总结”
  • 提供上下文:“这是医疗访谈”

成本优化

  • 对于大多数任务,使用 gemini-2.5-flash($1/1M 令牌)
  • 对于复杂分析,升级到 gemini-2.5-pro($3/1M 令牌)
  • 检查令牌计数:1 分钟音频 = 1,920 令牌

错误处理

  • 上传前验证文件格式和大小
  • 实施指数退避以应对速率限制
  • 处理 48 小时文件过期

令牌成本和定价

音频输入(32 令牌/秒):

  • 1 分钟 = 1,920 令牌
  • 1 小时 = 115,200 令牌
  • 9.5 小时 = 1,094,400 令牌

模型定价

  • Gemini 2.5 Flash:$1.00/1M 输入,$0.10/1M 输出
  • Gemini 2.5 Pro:$3.00/1M 输入,$12.00/1M 输出
  • Gemini 1.5 Flash:$0.70/1M 输入,$0.175/1M 输出

TTS 定价

  • Flash TTS:$10/1M 令牌
  • Pro TTS:$20/1M 令牌

参考文档

有关详细信息,请参阅:

  • references/api-reference.md - 完整 API 规范
  • references/code-examples.md - 全面的代码示例
  • references/tts-guide.md - 文本到语音实现指南
  • references/best-practices.md - 高级优化策略

脚本概述

所有脚本支持 3 步 API 密钥检测:

运行任何脚本时使用 --help 查看详细用法。

资源