Douyin Video To Txt
抖音视频转文本知识库 — Download Douyin videos, transcribe to text via faster-whisper, save to Obsidian knowledge base. Skill: Douyin Video To Txt Owner: afeicn Summary: 抖音视频转文本知识库 — Download Douyin videos, transcribe to text via faster-whisper, save to Obsidian knowledge base. Tags: latest:2.0.3 Version history: v1.0.1 | 2026-07-10T06:25:30.731Z | user 更新:完善段落整理规则、补充whisper常见误识别表、优化长视频处理说明 v2.0.3 | 2026-06-14T03:23:15.129Z | user 清理:移除 Docker 相关描述(已不再依赖 Docker) v2.0.2 | 2026-06-14T03:21:54.181Z | user 名称改为中文:抖音视频转文本知识库 v2.0.1 | 2026-
Rank
62
Safety
84
Downloads
995
Updated
Oct 11, 2026
Version
1.0.1
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 995 downloads reported by the source. Last updated 10/11/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 11, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 11, 2026
- Adoption signal
- 995 downloadsadoption · observed Oct 11, 2026
- Latest release
- 1.0.1release · observed Jul 10, 2026
- Handshake status
- UNKNOWNsecurity
What changed
Newest first. Only changes that point at a source are listed.
Release 1.0.1release
更新:完善段落整理规则、补充whisper常见误识别表、优化长视频处理说明
Observed Jul 10, 2026 · source
Install and run
Setup complexity: low.
clawhub skill install s1764p5yr71a3nnatyxkt1pnhh86p8vm:douyin-video-to-txt- Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.
- Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-afeicn-douyin-video-to-txt/snapshot"
Run-check
$0.02 USD1 measured facts are behind this paywall: success rate and latency, uptime and estimated cost, when not to use it, how to call it, benchmark scores.
Agents pay $0.02 in USDC. A card payment is $0.50, the smallest a card allows.
Documentation
CLAWHUB
52,418 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
---
name: douyin-video-to-txt
description: 抖音视频转文字 - 粘贴抖音链接,自动下载音频、Whisper转写、AI摘要,保存到 Obsidian Vault
tags: [douyin, transcription, obsidian, video-to-text]
---
# 抖音视频转文字 (douyin-video-to-txt)
**一句话**:把抖音链接丢过来,自动转成整理好的文字稿+AI总结,存到 Obsidian。
## 工作流程(两阶段)
### 关键规则(重要,容易踩坑)
#### 段落整理(必须做,不是简单去时间戳)
原始转写输出的是一句一行的碎片文本。**必须由 Agent 整理成自然段落**:
1. 相邻短句按语义合并成段落
2. 话题切换处分段(如"第一层""第二层"等层级标记)
3. 每段是完整通顺的中文段落,有逗号句号
4. 专业术语保留原样
5. 去掉 Whisper 产生的重复/断裂
#### AI 总结(必须做,不是取前几句)
- 基于全文理解,提炼核心论点
- 结构化呈现(如分层级、分要点)
- 用自然语言,不要"本文介绍了""作者认为"这类废话
- 长度 150-300 字,提炼精华不是复述细节
#### 错误案例(之前踩过的坑)
❌ 转写完成后只保存了带时间戳的原始文本
❌ "摘要" = 取前 5 句拼接
❌ 完整文案 = 一句一行,没有段落
✅ 正确做法:AI 总结 + 段落式完整文案
```
[Phase 1 — transcribe.py]
```
[Phase 1 — transcribe.py]
用户发抖音链接
│
▼ yt-dlp 下载音频
│
▼ faster-whisper 转写
│
▼ 保存两样东西:
├── 原始笔记 .md(纯文本、句句分行、无时间戳)
└── 数据文件 .data.json(带 segments 详情,供 Agent 处理)
[Phase 2 — Hermes Agent]
│
▼ 读取原始文本
│
▼ 整理成自然段落
- 相近句子合并成一段
- 按话题切换分段(如"第一层"、"第二层"等)
- 中文语境下,短句合并为通顺的段落
│
▼ 生成 AI 总结(基于全文理解,非简单截取)
│
▼ 更新 Obsidian 笔记:
标题 + metadata
→ AI 总结
→ 完整文案(段落式)
```
## 前置依赖
| 工具 | 状态 |
|------|------|
| ffmpeg | ✅ 已装 |
| yt-dlp | ✅ 已装(⚠️ Douyin extractor 可能因反爬升级失效) |
| faster-whisper (Python) | ✅ 已装 (model: base) |
## 备用方案:第三方下载服务(当 yt-dlp Douyin extractor 失效时)
当 yt-dlp 持续报 "Fresh cookies are needed" 且更新后仍无效时,使用第三方抖音下载器代替 yt-dlp 下载音频。
### 推荐服务
| 服务 | 网址 | 成功率 | 说明 |
|------|------|--------|------|
| SaveTik | https://en.savetik.co/ | ⭐⭐⭐ | 可直接下载 MP3,部分视频可能找不到 |
| Seekin.ai | https://www.seekin.ai/douyin-downloader/ | ⭐⭐⭐⭐ | 支持多分辨率(540p~8K),下载链接需在浏览器中捕获 |
### 浏览器工作流
1. **导航到下载服务网站**:用 browser_navigate 打开上述服务
2. **粘贴抖音链接**:将抖音短链接粘贴到输入框(browser_type)
3. **提交获取结果**:点击 Download Now / Get 按钮
4. **捕获下载链接**:
- 如果服务直接提供 MP3 下载(SaveTik),用终端 curl/wget 下载
- 如果服务提供多分辨率选项(Seekin),**点击 Download 按钮后浏览器可能直接导航到原始 MP4 文件 URL**(URL 以 `v13-default.365yg.com/...video...mp4?` 等格式出现)。直接在当前页用 `curl -L -o /tmp/video.mp4 "<current_url>"` 下载,然后 `browser_back()` 回下载页
- 尝试通过浏览器控制台拦截 API 响应或检查 DOM 中的下载链接
5. **手动下载(兜底)**:如果浏览器无法捕获下载链接,告诉用户去哪个服务手动下载,获取文件路径后再进行 Whisper 转写
> 详情见 `references/douyin-downloader-workarounds.md`
### 浏览器工作流常见坑(browser_click 对 Vue/React 按钮无效)
当使用 Seekin.ai 等 SPA 网站下载时,`browser_click()` 经常无法触发按钮事件。这是因为这类网站的按钮用框架事件绑定而不是原生 DOM 事件。如果点击后页面无变化:
1. **不要重复点** — 按钮可能已触发但 `browser_snapshot()` 感知不到变化
2. 改用 `browser_console()` 执行 JS:
```js
document.querySelectorAll('.btn--download')[索引].dispatchEvent(new MouseEvent('click', {bubbles: true, cancelable: true}))
```
3. 触发后浏览器可能直接导航到视频 CDN 链接,立即用 `browser_console(expression='window.location.href')` 捕获 URL
4. 然后用 `curl -L` 下载,再用 `browser_navigate()` 回到下载页
详情见 `references/douyin-downloader-workarounds.md` 方案 B。
### 手动转写已下载的音频文件
如果通过第三方服务获得了 MP3/MP4 文件,可以直接用 faster-whisper 手动转写:
```python
from faster_whisper import WhisperModel
model = WhisperModel('base', device='cpu', compute_type='float32')
segments, info = model.transcribe('/path/to/audio.mp3', language='zh', bea_meta.json
{
"ownerId": "kn77499qe4se2kf8tcm3a5nypx8194cw",
"slug": "douyin-video-to-txt",
"version": "1.0.1",
"publishedAt": 1783664730731
}references/clawhub-publish.md
# ClawHub 发布参考 ## 命令 ```bash clawhub skill publish <absolute_path> --version X.Y.Z --changelog "更新说明" ``` 当需要指定显示名称时: ```bash clawhub skill publish <path> --version X.Y.Z --name "中文显示名" ``` ## 已知坑 ### `--version` 必须作为 CLI 参数 版本号写在 SKILL.md frontmatter 里不够——`clawhub` 还会报 `Error: --version must be valid semver`。必须显式传 `--version X.Y.Z`。 ### 绝对路径比相对路径可靠 第一次用 `cd <dir> && clawhub skill publish .` 报了 `Error: SKILL.md required`,即使文件确实在目录里。换成绝对路径(加 `DEBUG=1`)就通过了。建议直接用绝对路径。 ### DEBUG 环境变量 遇到奇怪错误时加 `DEBUG=1` 可以看到更多信息,有时换了就过了(可能是竞态或缓存问题)。 ## 版本号建议 - 修 bug / 改文案 → patch(2.0.0 → 2.0.1) - 加功能 → minor(2.0.0 → 2.1.0) - 大重构 → major(2.0.0 → 3.0.0)
references/completed-note-example.md
# 完成笔记示例 这是 douyin-video-to-txt Phase 2 完成后的最终笔记格式。Agent 在整理段落和生成总结时以此为参考标准。 ## 实际示例:Palantir Ontology 视频 ```markdown --- title: "Palantir Ontology 是怎么跑起来的" source: "douyin" url: "https://www.douyin.com/video/7650867554675641638" author: "Suncooler" date: "2026-06-14 11:29" duration: "6:35" tags: [douyin, transcription, palantir, ontology, AI] status: "complete" --- ## AI 总结 Palantir Ontology 不是用来表示数据的,是用来表示决策的——数据是原料,决策是成品。视频用一个真实 demo 开场:AI agent 监测到供应链风险后,自动跑完五步——查供应商、锁原材料、顺价值链推下游影响、算 Revenue at Risk、提交结论给人类审核。整个过程不到两分钟。 但作者说:这不是 AI 案例,这是 Pipeline 案例。AI 只是最后两脚油门,前面五层数据加工才是它能踩油门的前提。 Ontology = Palantir Foundry 的核心,拆成 7 层: 1. **Data Connection**(线)— 把数据从原系统拉进来,Palantir 把传统 ETL 产品化了 2. **Raw Storage**(表)— 保留原始数据血统,从根上解决数据口径对不上的问题 3. **Cleaning & Parsing**(清洗)— Code Workbook + Pipeline Builder 混合 4. **Standardize Tables**(半对象)— 跨系统整合成业务可用的视图 5. **Object Backing**(对象化)— 标准表变成 Ontology 对象 后三层(下期讲):Final、AIP Logic、Action Type。 ## 完整文案 今年4月,汉奴威工业展AWS的舞台上,Mirkega默克集团百年生命科学巨头的数字化采购负责人Mike Benzheim跟Palantir的FDE一起做了一场Live demo。屏幕上跑的是一个叫Foundry的平台,一个AI agent刚刚监测到一条新闻——某个区域出现了供应链风险。 普通人的反应是什么?开会、找人、打电话。这个Agent的反应是他自己跑完了五步:第一步查供应商,第二步锁原材料,第三步顺价值链推下游影响,第四步算Revenue at Risk,第五步把结论和数据节点、推理过程提交给人类审核。整个过程不到两分钟。 你听完这段可能会说,这是个很酷的AI案例。错,这不是AI案例,这是Pipeline案例。AI只是最后两脚油门…… --- *由 douyin-video-to-txt 自动转录生成* ``` ## 关键原则 | 方面 | 要求 | |------|------| | AI 总结 | 基于全文理解,提炼核心论点。不是取前几句也不是复述全部。用语自然,无"本文介绍了"类废话 | | 段落整理 | 相邻短句合并,按话题切换分段。保留专业术语原样。去掉填充词但保持语气节奏 | | 标题 | 用有意义的中文标题,去掉 yt-dlp 返回的杂乱描述后缀 | | author | 用视频创作者的真实名字(如 Suncooler),不是 user ID | | tags | 根据内容打标签,帮助 Obsidian 检索 |
references/douyin-downloader-workarounds.md
# Douyin Downloader Workarounds
当 yt-dlp Douyin extractor 因反爬升级失效时的备用方案。
## 根因分析
yt-dlp 的 Douyin extractor 报错 `Fresh cookies (not necessarily logged in) are needed` 的原因:
- Douyin 的 API 返回空 JSON(API endpoint 返回 `{}` 或 200 HTTP 无 body)
- extractor 内部检查 `s_v_web_id` cookie,但该 cookie 有有效期
- macOS 沙箱限制无法读取 Chrome cookie 数据库(`--cookies-from-browser chrome` 失败)
- 从浏览器 console 提取的 cookies 可能在短时间内过期
- 本地存在代理(127.0.0.1:7897),可能干扰 SSL 握手
## 已验证的工作流(2026-06-29)
### 方案 A:SaveTik.io(推荐,可直接下载 MP3)
1. 浏览器导航到 `https://en.savetik.co/`
2. 粘贴抖音短链接到输入框
3. 点击 Get/Download
4. 服务返回 MP3 下载链接 → 用 curl/wget 下载到本地
5. 直接用 faster-whisper 转写已下载的 MP3
**已验证**:6.5MB MP3 下载成功,whisper 转写正常。
### 方案 B:Seekin.ai(推荐,MP4 直链最稳定)
1. 浏览器导航到 `https://www.seekin.ai/douyin-downloader/`
2. 粘贴抖音短链接,点击 Download Now
3. 等待服务处理完成(按钮从 "Extracting" 变回 "Download Now")
4. 结果会显示多分辨率选项(8K/1080p/720p/540p + MP3/JPG)
5. **⚠️ 关键技巧:触发 Download 按钮下载**
- Seekin.ai 是 Nuxt.js 应用,Download 按钮用 Vue 事件绑定
- `browser_click()` 对这类按钮**无效**(DOM 事件未正确触发)
- 正确做法:用 `browser_console(expression=...)` 执行 JS 派发事件:
```js
document.querySelectorAll('.btn--download')[0].dispatchEvent(new MouseEvent('click', {bubbles: true, cancelable: true}))
```
- 推荐选 **540p 或 720p**(文件更小,音频足够转写,8K 的 69MB 纯属浪费)
- **分辨率索引**:第 0 个是 8K,第 1 个是 1080p,第 2 个是 720p,第 3 个是 540p
```js
// 选 540p:
document.querySelectorAll('.btn--download')[3].dispatchEvent(new MouseEvent('click', {bubbles: true, cancelable: true}))
```
6. **捕获 MP4 直链**
- DispatchEvent 触发后,**浏览器直接导航到原始 MP4 文件 URL**(URL 以 `v26-default.365yg.com/...video...mp4?` 等格式出现)
- 立即用 `browser_console(expression='window.location.href')` 获取当前 URL
- 然后用 `curl -L -o /tmp/video.mp4 "<url>"` 下载(timeout 设 120-180s)
- 之后用 `browser_navigate(url=...)` 回到下载页面继续操作
7. 下载完成后,用 ffmpeg 提取音频进行 Whisper 转写:
```bash
ffmpeg -i /tmp/video.mp4 -vn -acodec pcm_s16le -ar 16000 -ac 1 /tmp/audio.wav -y
```
**已验证**:720p 约 16MB,1080p 约 20.92MB,下载速度约 1.8MB/s。
### 方案 C:使用节点时代的反代 API
如果浏览器方案都不通,可以搜索抖音解析 API(如 `douyin.wtf` 等),但这些 API 稳定性较差:
```bash
curl -s "https://api.douyin.wtf/api?url=https://v.douyin.com/xxx/"
```
## 注意事项
- 第三方服务可能限流或被墙,需配合代理
- 下载的 MP3 文件可能包含水印音频(不影响转写)
- 每次使用前先试 yt-dlp 主流程,不通再降级到第三方服务
- 第三方服务返回的视频/音频链接有时效性,应及时下载AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
- Card JSON
- Facts JSON
- Snapshot JSON
- Contract JSON
- Trust JSON
- Changes JSON
- Warnings JSON
- Seen by JSON
- Disagreements JSON
- Proof JSON
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/afeicn/skills/douyin-video-to-txt",
"sourceUrl": "https://clawhub.ai/afeicn/skills/douyin-video-to-txt",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-11T20:43:23.051Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-afeicn-douyin-video-to-txt/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-afeicn-douyin-video-to-txt/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-11T20:43:23.051Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "995 downloads",
"href": "https://clawhub.ai/afeicn/douyin-video-to-txt",
"sourceUrl": "https://clawhub.ai/afeicn/douyin-video-to-txt",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-11T20:43:23.051Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "1.0.1",
"href": "https://clawhub.ai/afeicn/douyin-video-to-txt",
"sourceUrl": "https://clawhub.ai/afeicn/douyin-video-to-txt",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-07-10T06:25:30.731Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-afeicn-douyin-video-to-txt/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-afeicn-douyin-video-to-txt/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 1.0.1",
"description": "更新:完善段落整理规则、补充whisper常见误识别表、优化长视频处理说明",
"href": "https://clawhub.ai/afeicn/douyin-video-to-txt",
"sourceUrl": "https://clawhub.ai/afeicn/douyin-video-to-txt",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-07-10T06:25:30.731Z",
"isPublic": true
}
]
}Record generated Oct 13, 2026.
For crawlers
This page is free to read. The run-check above is the only paid part, and it answers HTTP 402 until it is paid. Everything else here is public.
- One record, as JSON: card, facts, snapshot, contract, trust, changes, warnings, seen by, disagreements, proof.
- Every agent, one feed: /.well-known/ai-catalog.json
- What this site sells, and the price: /.well-known/x402
- Paid run-check: /api/v1/agents/clawhub-afeicn-douyin-video-to-txt/run-check
