开发者 · 小红书视频笔记

小红书视频转文字 API

传一条小红书视频笔记链接(xiaohongshu.com、xhslink.com 分享链接都行),拿回一个 JSON:口播逐字稿(带时间)、画面上出现的每句字和它出现的秒数、 标题和正文、要点(每条附一句原文引用,逐字核对)、以及一份「读了多少」的回执。不需要小红书账号或 cookie。

真实返回 · 节选

一条 19 秒、做法全在画面上的菜谱视频

2026-10-08 线上实际读取(xhslink.cn 分享链接):没有口播,11 步做法全写在画面大字上,全部按顺序读出;9 条要点每条都有核对通过的原文引用;2 积分,39 秒。文字截短了,其余原样。

{
  "platform": "xiaohongshu",
  "title": "锡纸豆腐",
  "duration_seconds": 19.0,
  "transcript": [],
  "on_screen": [
    { "t": 0.0,  "text": "嫩豆腐切块" },
    { "t": 1.0,  "text": "蛋液" },
    { "t": 3.0,  "text": "180度15分钟" },
    { "t": 4.0,  "text": "蒜末 小米辣 烧烤料" },
    { "t": 5.0,  "text": "泼上热油" },
    { "t": 7.0,  "text": "生抽" },
    { "t": 8.0,  "text": "搅拌均匀就好啦" },
    { "t": 10.0, "text": "淋上料汁" },
    { "t": 12.0, "text": "180度再烤5分钟" },
    { "t": 14.0, "text": "撒上葱花" },
    { "t": 15.0, "text": "锡纸豆腐就好啦" }
  ],
  "key_points": ["将嫩豆腐切块备用。", "先将豆腐放入空气炸锅,设定180度烤制15分钟。", "…"],
  "key_point_support": [{ "point_index": 0, "kind": "on_screen", "t": 0.0, "quote": "嫩豆腐切块", "verified": true }],
  "coverage": {
    "seconds_transcribed": 0.0, "duration_seconds": 19.0, "largest_frame_gap_seconds": 1.0,
    "transcript_source": "none",
    "not_captured": ["no speech transcript: no speech was recognised in the audio", "comments not read"]
  }
}

字段

哪些是视频本身的,哪些是模型写的

transcript · on_screen · caption · stats

来自视频本身:口播逐字稿(平台字幕或语音识别)、画面上的字和出现的秒数、正文、点赞收藏数。

key_points · key_point_support · coverage

要点是模型写的,但每条附一句原文引用,由代码逐字核对;coverage 由代码算出:转写了多少秒、帧间隔多大、没读到什么。

用法

一条 curl,或一行 MCP

curl -X POST https://linkdigest.dev/api/v1/digest \
  -H "Authorization: Bearer ld_live_..." \
  -H "Content-Type: application/json" \
  -d '{"url": "https://xhslink.cn/o/XXXXXXXX", "format": "json"}'

这条链接是首页示例之一,已经被读过并缓存,所以会直接返回 200, 不扣额度。换成你自己的链接:图文和短帖直接返回;需要下载并转写的视频返回 202 和一个 jobId,用同一个 key 去 GET /api/v1/digest/JOB_ID 取结果。

# 没有 Key:同一个地址,不带 Authorization,返回摘要(每个地址每天 2 条)
curl -X POST https://linkdigest.dev/api/v1/digest -H "Content-Type: application/json" -d '{"url": "https://xhslink.cn/o/XXXXXXXX"}'

MCP · Claude Code(Cursor、Trae、Cherry Studio、通义灵码见文档)

claude mcp add --transport http linkdigest \
  https://linkdigest.dev/mcp \
  --header "Authorization: Bearer ld_live_..."

API Key 在 https://linkdigest.dev/app/keys 创建(形如 ld_live_…)。 REST、MCP 各客户端的配置、轮询和返回字段见 中文 API / MCP 文档。

用 OpenClaw / Hermes?装现成的技能:xiaohongshu-note-to-text(ClawHub),没有 Key 也能先跑一条。

价格

按分钟计费,折合人民币

基础 1 积分,每开始的 1 分钟 +1。读过的同一条再读 0 积分;读不出内容不收费。

一条内容积分折合人民币
19 秒(下面这条)2¥0.288
1 分钟2¥0.288
3 分钟4¥0.576
10 分钟11¥1.584
30 分钟(transcript 档)16¥2.304
1 分钟 + 英文译文3¥0.432

按加量包折算:$5 = 250 积分,支付宝按人民币结算 ¥36,每积分 ¥0.144。注册送 10 积分(一次性)。 任何人读过的链接再读 0 积分;读不出内容不收费。

做不到的

接之前先看这几条

  • 一次读一条链接:不搜索,不读评论,不读某个博主的全部笔记。
  • 45 秒以上的视频按关键帧抽样(最大帧间隔写在 coverage 里),停留不到一个关键帧间隔的字可能漏;短视频逐秒读。
  • 语音识别对方言、背景音乐很响的口播会出错;要点旁的引用核对结果(verified)告诉你哪条可信。
  • 同一个 Key 还能读小红书图文笔记和抖音口播。

不支持的

先说做不到的

接进去之后才发现读不出来,比现在就知道更糟。以下是明确不支持的,写在这里也写在覆盖表上。

平台 / 类型原因
B站(哔哩哔哩)对我们服务器的地址直接返回 HTTP 412,请求到不了视频。需要代理,目前没有。
X 长文(Articles)只能拿到首图。普通帖子的图片、视频都能读,长文正文读不到。
Instagram代码已接入,但没有端到端验证过,所以不算支持。

常见问题

会被问到的

做法只写在画面上、没有口播的视频也行吗?
行。下面这条 19 秒的菜谱视频没有一句口播,11 步做法全在画面大字上;逐帧读出来按时间排好。回执里会写明「没有识别到语音」,不会假装有逐字稿。
和截图后用 OCR 有什么区别?
描边、渐变、带阴影的大字普通 OCR 常认不准;这里每一帧由视觉模型读,短视频(45 秒内)逐秒抽帧,不会漏掉只停留一两秒的字。
需要小红书账号或 cookie 吗?
不需要。用我们的服务器读公开笔记;私密、已删除、需要登录的笔记读不了,返回 422,不扣费。
视频长了怎么收费?
每开始的 1 分钟 1 积分,加 1 积分基础。免费和加量包账户单条最长 10 分钟;长视频用 depth=transcript(每 2 分钟 1 积分)。
没有 Key 能试吗?
能。不带 Key 调用 /api/v1/digest 或 MCP 的 digest_url,返回摘要(标题、作者、要点、计数),每个地址每天 2 条;完整逐字稿和画面文字需要 Key,注册送 10 积分。

不用注册先试一条;注册送 10 积分,不用绑卡。支持的平台上有链接读不出来,就是一个值得报告的 bug。