Design & media

Douyin Text

Try it

Use when the user wants to extract spoken text from a Douyin video link and produce a corrected, readable Chinese transcript

What it does

Use when the user wants to extract spoken text from a Douyin video link and produce a corrected, readable Chinese transcript

The skill document

抖音视频语音文案提取

从抖音视频中提取语音内容:Python 只负责下载视频和 Whisper 原始转录;Claude Code 基于原始转录完成动态校对、自然分段、核心观点提炼,并一次性生成最终 Markdown 文档。

核心原则

每次用户调用 /douyin-text,必须严格按以下 4 步执行:

  1. Python 提取原始转录

    • 下载视频
    • 提取音频
    • Whisper 生成完整原始转录
    • 不生成 Markdown 文档
    • 不生成"整理后文案"
    • 不生成"核心观点"
  2. Claude 读取 Python 输出的 JSON

    • 拿到 transcription_raw 原始转录文本
    • 拿到视频元信息:链接、作者、视频描述
  3. Claude 完成动态校对、自然分段、核心观点

    • 根据上下文修正 Whisper 识别错误
    • 去除口癖、重复、无意义语气词
    • 按语义自然分段
    • 重新提炼 3-5 条核心观点
  4. Claude 一次性生成最终 Markdown 文件

    • 不读取任何旧 Markdown
    • 不回写半成品
    • Write 工具直接创建成品文档

不需要额外配置 Claude API 或 OpenAI API。 AI 动态校对由当前 Claude Code 会话完成。


使用方法

/douyin-text <抖音视频链接>

示例:

/douyin-text https://v.douyin.com/xxxxx

参数

  • url:抖音视频链接,必填
    • 支持 https://v.douyin.com/xxxxx
    • 支持 https://www.douyin.com/video/xxxxx
  • --whisper-model:Whisper 模型大小,可选 tiny/base/small/medium/large,默认 small
  • --desc:仅提取视频描述文字,不下载视频
  • --cookies-browser:从浏览器导入 cookies,默认 chrome
  • --cookies-file:使用 cookies.txt 文件
  • --no-cookies:不使用 cookies
  • --update-ytdlp:更新 yt-dlp

必须执行的工作流

当用户调用:

/douyin-text <链接>

Claude 必须严格按以下 4 步执行。绝对禁止跳步、合并步骤,或直接使用 Python 生成的旧版完整 Markdown。

步骤 1:Python 提取原始转录(不生成 Markdown)

在 skill 目录运行(必须带 --raw-json 参数):

cd C:/Users/10911/.claude/skills/douyin-text && python extract.py --raw-json '<用户提供的链接>'

如果用户传了 --whisper-model 等参数,要原样传给 extract.py

cd C:/Users/10911/.claude/skills/douyin-text && python extract.py --raw-json --whisper-model medium 'https://v.douyin.com/xxxxx/'

这一步的职责仅限于:

  • 下载视频
  • 提取音频
  • Whisper 生成完整原始转录

这一步不会生成任何 Markdown 文档、不会生成"整理后文案"、不会生成"核心观点"。

步骤 2:解析 JSON 原始数据

--raw-json 模式会向 stdout 输出 JSON,结构如下:

{
  "url": "https://v.douyin.com/xxxxx",
  "author": "作者昵称",
  "description": "视频描述文字",
  "transcription_raw": "Whisper 原始转录全文",
  "error": null
}

Claude 必须:

  • 从 stdout 解析 JSON(可能混在脚本日志中,取最后一段合法 JSON 块)
  • 如果 error 不为 null 或 transcription_raw 为空,立即向用户报告错误并停止;不得编造内容
  • 不得读取 output/ 目录下任何已有 Markdown 文件

步骤 3:Claude 完成动态校对、自然分段、核心观点

Claude 基于 transcription_raw 完成以下处理(全部在 Claude 侧,不再调用 Python):

3.1 动态校对

  • 根据上下文修正明显 ASR/Whisper 识别错误
  • 修正人名、地名、书名、成语、诗词、专有名词、常识性错词
  • 去除明显语气词、口癖、无意义重复
  • 不添加原文没有的信息
  • 不改变说话人的核心观点
  • 不把口播稿改成过度正式的论文腔

3.2 自然分段

  • 按语义自然分段
  • 每段表达一个相对完整的意思
  • 段落之间用空行分隔

3.3 提炼核心观点

  • 3-5 条
  • 完整、通顺的中文句子
  • 不保留明显错词
  • 不使用过碎、半截、乱码式表达
  • 概括观点,而不是复制原句碎片

步骤 4:一次性生成最终 Markdown 文件

Claude 使用 Write 工具一次性创建最终 Markdown 文件。

绝对禁止:

  • 不得先生成半成品再回写
  • 不得读取并修改 Python 生成的旧版 Markdown
  • 不得分多次 Edit 同一个文件

文件路径规则:

C:/Users/10911/.claude/skills/douyin-text/output/douyin__<作者>.md
  • 时间戳取当前时间
  • 作者名清理掉 Windows 非法字符 \ / : * ? " < > |,并截断到 20 字符
  • 如果作者名为空,省略该段,文件名形如 douyin_<时间戳>.md

文件内容结构(严格按以下格式生成):


📹 抖音视频语音文案
══════════════════════════════════════════════════

🔗 链接:
👤 作者:@
📝 视频描述:

══════════════════════════════════════════════════
🎤 原始语音转录(<字数> 字)
──────────────────────────────────────────────────


══════════════════════════════════════════════════
✨ 整理后文案
──────────────────────────────────────────────────


══════════════════════════════════════════════════
💡 核心观点
──────────────────────────────────────────────────
1. <观点一>
2. <观点二>
3. <观点三>

══════════════════════════════════════════════════
  • "原始语音转录"区域字字必须等于 transcription_raw,不得做任何替换、整理或省略
  • 如果 authordescription 为空,对应行可省略,但其余结构必须完整保留
  • 字数 = len(transcription_raw)

步骤 5:回复用户

最终回复必须包含:

  • 生成的 Markdown 文件完整路径
  • 简短摘要(1-2 句话)
  • 如发现典型纠错,列出 3-8 个例子(原始 → 校对后)

AI 动态校对规则

应该修正的内容

明显由语音识别造成的错误,例如:

Whisper 可能输出应修正为
普提祖师菩提祖师
普提老祖菩提老祖
西邮季西游记
金斗云筋斗云
七十二遍七十二变
斗战圣佛斗战胜佛
元风五年元丰五年
被扁黄周被贬黄州
回首向来消瘦处回首向来萧瑟处
规去也无风雨也无情归去,也无风雨也无晴

这些只是示例。实际执行时,Claude 应根据上下文动态判断,不局限于固定规则表。

需要谨慎处理的内容

如果某个词可能有多种解释,不要强行改。

例如:

  • “苏氏家族”不应强行改成“苏轼家族”
  • “行者”在《西游记》语境下可能是“孙行者”,不应随意删除
  • 口播中的特殊表达,如果不是明显错词,应尽量保留原意

不应该做的事

  • 不要修改“原始语音转录”区域。
  • 不要添加原文没有的信息。
  • 不要把说话人的观点换成 Claude 自己的观点。
  • 不要为了文采过度润色。
  • 不要删除重要论证内容。
  • 不要只输出一整段长文本。
  • 不要让“核心观点”保留乱码、半句、错词。

整理后文案格式要求

“整理后文案”必须自然分段。

好的格式

菩提祖师是孙悟空非常重要的师父。在《西游记》里,他是真正教给孙悟空本领的人。

孙悟空的名字,是菩提祖师给的;孙悟空的筋斗云、七十二变,也都是菩提祖师传授的。

相比之下,唐僧给孙悟空的更多是一路上的磨炼和约束。唐僧没有教孙悟空本领,却让他在取经路上经历约束、受苦和修行。

所以,菩提祖师给的是本事和根基,唐僧给的是磨炼和修行。两个人对孙悟空都重要,只是重要的方式不同。

不好的格式

我问你个问题,孙悟空的师父是谁? 唐僧,普提老祖。你怎么知道是普提祖师? 他叫他本领。大多数人会认为是唐僧。但是你看,在孙悟空整个西邮季的这一百回里面...

问题:

  • 没有分段
  • 错词未修正
  • 可读性差
  • 像字幕拼接,不像整理文案

长文本处理规则

如果原始转录很长,Claude 仍应完整处理 transcription_raw 全文。

如果单次处理上下文过长:

  1. transcription_raw 全文必须原样写入"原始语音转录"区域,不得截断。
  2. 分批校对"整理后文案"。
  3. 合并成一个完整、自然分段的版本。
  4. 再统一生成核心观点。
  5. 最后一次性 Write 生成最终 Markdown 文件。

不要只整理前 300 字就结束。 不要分多次 Edit 同一个最终文件。


输出规则

内容长度控制台行为文件保存
≤ 1000 字可在回复中展示较完整内容保存校对后的完整版
> 1000 字回复摘要 + 文件路径 + 典型纠错保存校对后的完整版

故障处理

情况处理方式
Python 脚本下载失败如实报告错误,提示确保浏览器已登录抖音,或尝试 cookies
Whisper 未安装提示安装 openai-whisper
moviepy 未安装提示安装 moviepy
找不到 ffmpeg提示安装 ffmpeg 或 imageio-ffmpeg
Whisper 转录失败如实报告错误,不编造文案
Claude 后处理时不确定某个词保留原词,或在最终回复中说明“疑似”
原始转录过长分段校对后合并,但仍一次性 Write 生成最终文件

注意事项

  • 仅支持公开可见的视频。
  • 首次使用会下载 Whisper 模型。
  • CPU 模式下 small 模型处理 1 分钟视频约 30 秒。
  • 提取的文案仅供个人学习使用。
  • Claude Code 动态校对不需要额外配置 AI API。
  • 如果用户只要求“提取原始转录”,仍应保留原始转录并说明是否跳过校对。

Related skills

Videosays video transcription, video to text, speech to text, subtitle extraction, caption transcription, YouTube transcript, TikTok transcript, Instagram Re...

by xwchris1 installs

Turn a YouTube link or a pasted transcript into a Chinese spoken script and a remake structure. This video captions and caption extract workflow reads YouTube captions and optional comments, or works from the transcript you already copied, then writes spoken Chinese with the remake beats that follow the original. Use it for video captions, caption extract, YouTube captions, and YouTube transcript work when you need a spoken remake from what the video already said.

Turn a Douyin or Xiaohongshu link into a concise summary, an actionable todo list, and a recommended reminder time. The hosted service handles the platform a...

32 installs

用于抖音文案提取、抖音文案一键提取、抖音视频文案提取、抖音视频转文字、抖音口播转文字和抖音逐字稿。用户粘贴抖音视频链接、分享文案或 aweme_id 后,提取视频上下文、原视频简介和口播逐字稿,来自 SocialDataX 社媒数据助手。

1 installs

粘贴抖音公开可访问的视频链接、分享文案或 aweme_id,一键提取视频标题/基础信息、原视频简介、口播逐字稿、可复制文案和精简版;适合内容创作、自媒体运营、短视频脚本整理、抖音文案提取、抖音视频转文字、抖音口播转文字、口播文案整理和逐字稿复盘。已有 job_id 时继续查询任务状态。来自 SocialDataX 社媒数据助手。

3 installs

Extract Chinese transcripts from Douyin links or local media files into clean Markdown, fully offline.

14 installs