字幕生成与翻译工具

一款基于MCP服务器的AI字幕生成工具,提供音频转SRT字幕、多语言翻译、双语字幕生成及SRT转ASS格式的功能,适用于视频字幕处理和本地化工作。

  • by kevinten-ai
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 kevinten-ai/mcp-subtitle

使用说明

mcp字幕

AI subtitle generation, translation, and formatting MCP server.
Transcribe audio to SRT, translate to any language, create bilingual subtitles, convert to ASS.
Works with Claude Code, Claude Desktop, Cursor, and any MCP-compatible client.

中文文档

特性

  • 转录到SRT --通过谷歌Chirp 2将音频/视频转换为带时间戳的SRT字幕
  • 翻译字幕 --通过Google Translation API将SRT文件翻译成任何语言
  • 双语字幕 --将原始文本和翻译文本合并到一个SRT文件中
  • SRT到ASS --使用自定义字体、颜色和轮廓将SRT转换为样式化的ASS格式
  • 单个API密钥 --一个 GEMINI_API_KEY 为转录和翻译提供动力
  • 自动保存 --所有输出均以带时间戳的文件名保存到本地磁盘

建筑学

运作原理

Audio File --> transcribe_to_srt --> English SRT
                                       |
                              translate_srt --> Translated SRT
                                       |
                        create_bilingual_srt --> Bilingual SRT
                                       |
                              srt_to_ass --> Styled ASS

典型的工作流程是:将音频转录为SRT,可选择翻译,然后转换为ASS进行风格化播放。每个工具都是独立的——你也可以翻译现有的SRT,而无需先转录。

快速开始

1.克隆并安装

git clone https://github.com/kevinten-ai/mcp-subtitle.git
cd mcp-subtitle
uv sync

2.配置MCP

您需要一个GCP API密钥,该密钥已启用Speech-to-Text和TranslationAPI。

Claude Code (CLI) -- recommended
claude mcp add -s user mcp-subtitle \
  --env GEMINI_API_KEY=your_gcp_api_key \
  -- uv --directory /path/to/mcp-subtitle run subtitle-gen
Claude Desktop / Cursor (JSON config)
{
  "mcpServers": {
    "mcp-subtitle": {
      "command": "uv",
      "args": ["--directory", "/path/to/mcp-subtitle", "run", "subtitle-gen"],
      "env": {
        "GEMINI_API_KEY": "your_gcp_api_key"
      }
    }
  }
}

3.使用它

问你的AI助手:

"Transcribe this audio file to SRT subtitles: /path/to/audio.mp3"
"Translate the subtitles to Chinese"
"Create bilingual English-Chinese subtitles"
"Convert the SRT to ASS with yellow text"

工具(共4个)

转录_to_srt

使用Google Cloud语音转文本(Chirp 2)将音频/视频转录为SRT字幕文件。

参数 类型 必填 默认 描述
audio_path string 是 -- 音频文件路径(mp3、wav、flac、ogg)
language_code string 否 en-US 语言代码(en-US、cmn-CN、ja-JP等)
output_path string 否 auto 输出.srt文件路径

translate_srt

使用Google Cloud Translation API将SRT字幕文件翻译为其他语言。

参数 类型 必填 默认 描述
srt_path string 是 -- 输入.srt文件的路径
target_language string Yes -- 目标语言代码(zh、ja、es、fr、de、ko)
source_language string 否 自动检测 源语言代码

创建_双语_ srt

在一个SRT文件中创建包含原始+翻译文本的双语字幕。

参数 类型 必填 默认 描述
srt_path string 是 -- 输入.srt文件的路径(原始语言)
target_language string 是 -- 目标语言代码

srt_to_ass

使用可定制的样式将SRT转换为ASS格式。纯本地转换,不需要API。

参数 类型 必填 默认 描述
srt_path string 是 -- 输入.srt文件的路径
font_name string 否 Arial 字体名称
font_size 整数 否 20 字体大小(以点为单位)
primary_color string 否 &H00FFFFFF ASS格式的文本颜色(&HAABGGRR)
outline_color string 否 &H00000000 ASS格式的轮廓颜色

API密钥设置

Google Cloud API密钥

项目 详细信息
平台 谷歌云控制台
URL https://console.cloud.google.com
定价 短期:约0.016美元/分钟(每月免费60分钟)。翻译:20美元/1M个字符(50万/月免费)。
Env Var GEMINI_API_KEY

步骤:

  1. 创建GCP项目:https://console.cloud.google.com/projectcreate
  2. 启用计费:https://console.cloud.google.com/billing
  3. 启用API:
    • 语音转文本:https://console.cloud.google.com/apis/library/speech.googleapis.com
    • 云翻译:https://console.cloud.google.com/apis/library/translate.googleapis.com
  4. 创建API密钥:https://console.cloud.google.com/apis/credentials
  5. 集 GEMINI_API_KEY=your_key (mcp图像生成器和mcp视频生成器使用的密钥相同)

环境变量

变量 必填 默认 描述
GEMINI_API_KEY 是 -- GCP API密钥(也接受 GCP_API_KEY)
SUBTITLE_OUTPUT_DIR 没有 ./output 用于保存生成文件的目录

故障排除

常见错误

错误 根本原因 解决方案
Auth failed: No API key found 没有API密钥集 集 GEMINI_API_KEY 环境变量
File not found 音频/srt路径无效 请检查文件路径是否为绝对路径并存在
No speech detected 静音或损坏的音频 确保音频包含语音内容
File too large 音频>10 MB STT v1同步API限制。将音频分割成较短的片段。

API特定错误

错误 API 解决方案
STT error (403) 语音转文本 在GCP控制台中启用语音转文本API
Translation error (403) 翻译 在GCP控制台中启用云翻译API
STT error (400): Invalid encoding 语音转文本 文件扩展名与内容不匹配。先转换为mp3/wav。
Translation error (400) 翻译 语言代码无效。使用ISO 639-1代码(zh、ja、es)。

SRT/ASS格式注释

  • SRT时间格式: HH:MM:SS,mmm (毫秒前的逗号)
  • ASS颜色格式: &HAABBGGRR (阿尔法、蓝色、绿色、红色——不是RGBA)
  • ASS白色: &H00FFFFFF, ASS黄色: &H0000FFFF, ASS青色: &H00FFFF00
  • 双语SRT: 每个块有两行——上面是原文,下面是译文

项目结构

src/subtitle_gen/
├── __init__.py       # Entry point
├── __main__.py       # python -m support
├── server.py         # MCP server + 4 tool handlers
├── stt.py            # Google Cloud STT helper (Chirp 2)
├── translator.py     # Google Cloud Translation v2 helper
└── formats.py        # SRT/ASS formatting utilities (pure Python)

本地开发

git clone https://github.com/kevinten-ai/mcp-subtitle.git
cd mcp-subtitle
uv sync

# Run directly
uv run subtitle-gen

# Debug with MCP Inspector
npx @modelcontextprotocol/inspector uv --directory . run subtitle-gen

相关项目

许可证

麻省理工学院——见 许可证 了解详情。