声明:文中的 LinkDigest 是作者本人开发的服务,费用和限制写在文末。
一、需求
手上有一批抖音链接,想把每条变成一个 Markdown 文件,里面有口播逐字稿、画面上的字、要点,必要时再加一段结构拆解,后面拿去做知识库,或者交给大模型分析。
二、方案对比
| 方案 | 成本 | 优点 | 缺点 |
|---|---|---|---|
| 剪映「识别字幕」 | 有免费次数,超出要会员(以你的版本为准) | 时间轴到句,适合做字幕 | 要先下载视频、手动操作,没法写进程序 |
| 自建:ffmpeg + 开源 ASR(FunASR / SenseVoice) | 自己的机器,免费 | 完全可控 | 短链解析、视频地址要自己维护,平台改版就得跟着改 |
| 托管 API(本文用 LinkDigest) | 1 分钟视频 2 积分,约 ¥0.29 | 一个请求拿到逐字稿、画面文字和拆解 | 要付费;逐字稿的时间按段,不是逐句 |
三、环境准备
- Python 3.8 以上,
pip install requests - 在 https://linkdigest.dev/app/keys 登录,创建一个
ld_live_…开头的 Key(注册送 10 积分,只送一次,不用绑卡) export LINKDIGEST_KEY=ld_live_你的key(Windows PowerShell:$env:LINKDIGEST_KEY="ld_live_...")
四、完整代码
links_to_md.py:
importosimportreimportsysfrompathlibimportPathimportrequests API="https://linkdigest.dev/api/v1/digest"HEADERS={"Authorization":f"Bearer{os.environ['LINKDIGEST_KEY']}"}defto_markdown(url:str,breakdown:bool=False)->str:"""一条链接 -> 一份 Markdown(逐字稿、画面文字、要点;breakdown=True 时附拆解)。"""body={"url":url,"format":"markdown","breakdown":breakdown}r=requests.post(API,headers=HEADERS,json=body,timeout=60)whiler.status_code==202:# 视频在转写,按 jobId 取,每次最多等 20 秒job_id=r.json()["jobId"]r=requests.get(f"{API}/{job_id}",headers=HEADERS,params={"wait":20,"format":"markdown"},timeout=60)ifr.status_code!=200:raiseRuntimeError(f"HTTP{r.status_code}:{r.text[:300]}")returnr.textif__name__=="__main__":out=Path("out")out.mkdir(exist_ok=True)fori,lineinenumerate(Path(sys.argv[1]).read_text(encoding="utf-8").splitlines(),1):ifnotline.strip():continuetry:md=to_markdown(line.strip())exceptRuntimeErrorase:print(f"第{i}行失败:{e}")continuetitle=md.splitlines()[0].lstrip("# ").strip()orf"link-{i}"name=re.sub(r'[\\/:*?"<>|#\s]+',"_",title)[:40](out/f"{i:03d}_{name}.md").write_text(md,encoding="utf-8")print(f"第{i}行 ->{name}.md")links.txt一行放一条。从抖音 App 复制的整段分享文字也可以,服务端会自己找出里面的链接:
https://v.douyin.com/VeXgdE_QwTE (这里粘贴抖音 App「复制链接」得到的整段文字)运行:python links_to_md.py links.txt,结果在out/目录里。
第一行是官网首页的示例链接,已经在缓存里,不扣积分,可以先用它确认 Key 没问题。
五、运行结果
一条 15 分 42 秒的剪辑教程(2026-10-24 重新读的),生成的 Markdown 开头是这样。删掉的行用「……」标出,长行也截短了:
# 剪辑全套教程【关键帧丝滑动画的奥秘】 **Platform:** douyin **Author:** 视频剪辑教学 **Posted:** 2025-06-13 **Source:** https://www.douyin.com/video/7515405363630443830 **Engagement:** 60 likes · 5 comments · 14 saves · 1 shares (as of 2026-10-24) **Tags:** #视频剪辑 #pr教程 #学剪辑 #pr #剪辑 **Category:** 个人管理 › 职场技能 › 办公效率 ## Caption 剪辑全套教程【关键帧丝滑动画的奥秘】 #视频剪辑 #pr教程 #学剪辑 #pr #剪辑 ## Key points - 线性关键帧导致运动匀速平稳,缺乏韵律感;切换为贝塞尔曲线(缓动)可改变速率,实现丝滑效果。 ……(要点共 10 条) ## Transcript _source: ASR_ `00:00` 接下来的课程呢干货满满,请大家做好笔记,同时还给大家准备了剪辑资源…… `02:50` 最高的地方它运动的速度就相对来说会比较的快。 `05:40` D键切换为剃刀工具,剃刀,在中间剃刀,V键选择工具,删除后面的部分…… ……(逐字稿共 6 段,后面还有 08:30、11:20、14:10 三段) ## On-screen text `≈00:00` 需要的小伙伴扣六就可以领取啦 `≈00:23` Adobe Premiere Pro 2024 / 丝滑拉镜_1-已编辑 / 嗨大家好 ……(画面文字共 40 条,约 23 秒一条) ## Coverage - **Speech transcribed:** 15:42 of 15:42 (ASR) - **Longest stretch between sampled frames:** 23.6 s - **Key points with a quote found in the post:** 10 of 10 - **Not captured:** comments not read各段的标题是英文的(Caption、Key points、Transcript、On-screen text、Coverage),内容保持原文的语言。_source:写的是逐字稿从哪来:平台自带字幕时是native captions,靠语音识别时是ASR。最后的 Coverage 一段是这次读取的自检:转写覆盖了多长、抽帧最大间隔多少秒、每个要点有没有在原文里找到对应的话、没读的部分是什么。点赞、收藏这些数字是读取当天平台给的。
六、加上爆款拆解
to_markdown(url, breakdown=True),Markdown 里会多出一个## Breakdown段,内容有:钩子(开头原话逐字)、带时间的节拍、标题公式、行动号召、目标人群、可复用模板、二创方向,以及这次拆解看不到的东西。拆解另加 1 积分。
拆解里每条「引用」都会和逐字稿、画面文字逐字比对,对不上的删掉,并在最后写明删了几条。上面那条教程的英文拆解有 10 个节拍;模型写了 7 条原视频里没有的「引用」,都被删了,留下的 3 条在逐字稿里都能逐字找到。
七、FAQ
Q:一直返回 202 怎么办?
视频要先下载再转写,长视频要几分钟。代码里的循环会一直取到完成为止,每次最多等 20 秒。上面那条 15:42 的教程,从 202 到拿到结果大约两分钟。
Q:逐字稿的时间戳为什么这么粗?
线上用的 ASR 接口不返回逐句时间。170 秒以内的视频,逐字稿只有一段;更长的约 170 秒一段。画面文字(On-screen text)按关键帧标时间,误差几秒。要做逐句字幕,请用剪映。
Q:402 / 422 是什么?
402:积分不够,返回体里有付款链接(支付宝可用)。422:链接读不了(私密、已删除、需要登录才能看)。这两种情况都不扣积分。
Q:除了抖音还能读什么?
小红书(图文笔记每张图做 OCR)、TikTok、YouTube、X、微信公众号文章、Instagram、B 站和普通网页,同一个接口。每个平台当天的读取成功率公开在 linkdigest.dev/platforms 。
Q:需要我的抖音账号吗?
不需要账号,也不需要 cookie。视频读完就删,只保存文字结果(所以同一条链接再读免费)。
八、费用
- 视频:基础 1 积分,每开始一分钟再加 1 积分(1 分钟 2 积分,15:42 的 17 积分)。图文 6 张图以内 1 积分。拆解、翻译各加 1。
- 积分包:¥9.9 / 50 积分、¥36 / 250 积分、¥288 / 2000 积分,支付宝直接付,不过期。月付 $9 / 500 积分,只能刷卡。
- 免费账号单条视频最长 10 分钟,月付 30 分钟;超过上限可以加
partial_ok: true只读开头。 - 任何人读过的链接,再读免费;读不出内容不扣积分。
如果只要口播转写,本地开源 ASR 更省钱。这个接口多给的是画面文字、小红书图文的图片文字和带核对的拆解。
文档:https://linkdigest.dev/zh/docs?ref=csdn