mcpbeat

Douyin Transcribe

chubbyguan/douyin-transcribe

> 抖音视频 → 下载 → 转录 → 存为 Markdown 的完整工作流。 支持短链接和完整链接,无需 cookie/登录。

3k tokens
context cost
the whole folder, loaded on every use
4
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
588
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/chubbyguan/chubbyskills --skill douyin-transcribe

The instruction itself

5 sections, as written by the author

抖音视频转录 Skill

将抖音视频下载音频,用 SenseVoice-Small 转录为文字,存为 Markdown 文件。

环境要求

# Python 3.9+
python -m venv .venv
source .venv/bin/activate

# 依赖
pip install funasr modelscope torch torchaudio

# 系统依赖
# macOS: brew install ffmpeg
# Ubuntu: sudo apt install ffmpeg

使用方法

python scripts/transcribe.py "https://v.douyin.com/xxxxx"

流程(3 步)

Step 1: 从抖音下载音频

使用 iesdouyin.com/share/video/<id> + 移动端 UA 获取 window._ROUTER_DATA,提取 CDN 下载链接。

关键点:

  • iesdouyin.com/share/video/ 而非 douyin.com/video/
  • ✅ 移动端 UA 必须用 iPhone
  • playwmplay 去水印
  • ✅ 无需 cookie、无需登录、无需 yt-dlp

Step 2: SenseVoice-Small 转录

from funasr import AutoModel
from funasr.utils.postprocess_utils import rich_transcription_postprocess

model = AutoModel(
    model="iic/SenseVoiceSmall",
    trust_remote_code=True,
    vad_model="fsmn-vad",
    vad_kwargs={"max_single_segment_time": 30000},
    device="cpu",
)

result = model.generate(input=audio_path, language="zh", use_itn=True, batch_size_s=60)

Step 3: 生成 Markdown

自动创建带 frontmatter 的 Markdown 文件。

性能数据

| 视频时长 | 模型加载 | 转录耗时 | 总耗时 |

|------|------|------|------|

| 10 min | ~30s | ~25s | ~1 min |

| 30 min | ~30s | ~75s | ~2 min |

| 1h 22min | ~40s | ~180s | ~4 min |

已知限制

  • SenseVoice-Small 模型首次下载约 893MB(从 ModelScope,国内快)
  • CPU 推理质量略低于 GPU,但中文仍优于 Whisper-small
  • VAD 自动切分可能把长停顿处切成两段
  • 不支持说话人分离
  • yt-dlp 不可用(需要 cookie),必须走 iesdouyin 路线

参考项目

⚖️ 合规声明

仅供个人学习与研究使用。请遵守目标平台的服务条款(ToS)与 robots 规则,控制请求频率,不要用于批量抓取、商用爬取或侵犯他人权益的场景。下载内容的版权归原作者所有。

How to use it

Copy the folder

Take chubbyguan/douyin-transcribe from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.

Install what it needs

The instructions reference pip, brew. Without those the skill loads but fails at the first command.