LinkDigest — Xiaohongshu, Douyin, TikTok, YouTube to text

dev.linkdigest由 linkdigest.dev 發布官方發布者v1.0.9更新於 Oct 24, 2026

Douyin, Xiaohongshu, TikTok, YouTube, X links to text: transcript, screen text, viral breakdown

已驗證Streamable HTTP可網頁執行網頁搜尋與抓取資料與分析媒體與設計

概覽

AI 產生的概覽

把小紅書、抖音、TikTok、YouTube、X 等社群連結轉成可讀文字:逐句轉錄、畫面文字、圖片 OCR 與重點。

可以做什麼
  • 讀取連結,回傳附時間點的轉錄、畫面文字、每張圖片中的文字、文案、數據,以及附核對引用的重點
  • 批次讀取多條連結並產出一份綜合比較:共同主題、鉤子、形式、讀者質疑與未涵蓋的空白
  • 在小紅書、抖音、YouTube、X 或網頁上依主題搜尋,回傳可讀取的連結
  • 列出此 API 金鑰最近的批次,包括由瀏覽器擴充功能發起的批次
  • 查詢剩餘額度、各類讀取的價格與購買方式
適用情境
適合助理遇到自己讀不了的社群或影片連結、需要取得實際內容時使用,例如研究、內容分析、爆紅貼文拆解,或在不註冊帳號的情況下摘要中文平台貼文。
執行需求
可使用 linkdigest.dev/mcp 遠端端點,或以 uvx 在本機執行 linkdigest-mcp 套件(Python 3.10+)。需在 Authorization 標頭提供 Bearer API 金鑰(本機套件使用 LINKDIGEST_API_KEY),金鑰於服務商網站申請。需要網路連線。
安裝前請注意
讀取以付費額度計價:註冊贈送 10 點,之後購買點數包或訂閱;搜尋以及爆紅拆解、翻譯、提問等附加選項會額外扣點。API 金鑰是可計費的機密,不要寫進共用設定。送出的連結及其內容會傳送到第三方託管服務,該服務會保留文字摘要(不儲存媒體檔案)。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 LinkDigest — Xiaohongshu, Douyin, TikTok, YouTube to text,將其新增到工作區。
  2. 連接 Authorization token 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/dev.linkdigest%2Flinkdigest/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "linkdigest-xiaohongshu-douyin-tiktok-you": {
      "type": "http",
      "url": "https://linkdigest.dev/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

LinkDigest MCP server

中文文档:README.zh-CN.md — 抖音、小红书链接转文本,MCP / Python SDK / 命令行,价格以人民币标注。

The social media reading layer for AI agents: turn a social media link into text a language model can read — transcript, on-screen text, image descriptions, caption and metadata, with quotes checked against the post.

A Chinese social media API for AI agents: Xiaohongshu (RedNote, 小红书), Douyin (抖音), Weibo (微博), WeChat Official Account articles (公众号), Bilibili and 小宇宙 / Apple Podcasts episodes — plus TikTok, YouTube, X and Instagram — read into timed transcripts, OCR of every image and frame, top comments and key points with checked quotes. No Chinese phone number, account or cookies. Not read today: Zhihu, Kuaishou. Overview: linkdigest.dev/china-social-media-api.

bash
# A Douyin video's spoken script (文案), 1 credit per started 2 minutescurl -X POST https://linkdigest.dev/api/v1/digest -H "Authorization: Bearer ld_live_..." \  -H "Content-Type: application/json" -d '{"url": "https://v.douyin.com/xxxxxxx/", "depth": "script"}'

Hosted, remote (streamable HTTP). Nothing to install or run. For stdio-only clients and scripts, python/ adds a zero-dependency Python SDK, a linkdigest command line and a linkdigest-mcp stdio server that forwards to the hosted endpoint.

Website: linkdigest.dev · Registry: dev.linkdigest/linkdigest

[What LinkDigest read from a 16-image Xiaohongshu note: 16 images read, 390 lines of text found inside them]

Every digest comes with a receipt — how much was read, and a checked quote behind each key point. Works from Muse, Grok Bot, Manus Cue, Hermes, OpenClaw, Claude Code and Cursor: see linkdigest.dev/connect. No key needed for a first look.

What this repository contains

The open parts: the Python SDK, the linkdigest command line and the linkdigest-mcp stdio server (python/, MIT), the Dify plugin source (dify/), the agent skill (skills/), examples, and the official MCP registry entry (server.json). The hosted service behind https://linkdigest.dev/mcp and the API is operated by LinkDigest; its reading engine is not open source.

The problem

Fetching a social link yourself returns nothing useful. Share URLs are tokenised (xsec_token, app_code_link), the content lives in video and images rather than HTML, and the server sends an app-download shell or a login wall instead of the post.

$ curl -sL 'https://xhslink.com/o/1WiQ1QI6Uc0' | grep -o '<title>.*</title>'<title>小红书 - 你的生活兴趣社区</title>

That title belongs to a 36 KB app shell (checked 2026-10-04). No caption, no images, no text of the note.

Install

Claude Code

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

Cursor, as a plugin — this repo is a Cursor plugin (.cursor-plugin/plugin.json + mcp.json + skills/). Install it from cursor.directory, then set the key once in your shell:

export LINKDIGEST_API_KEY=ld_live_...

The plugin's mcp.json reads ${LINKDIGEST_API_KEY}; no key is stored in the repo. Without it, the tool still lists and tools/call returns a 401 that says where to get one.

Cursor, by hand — ~/.cursor/mcp.json

json
{  "mcpServers": {    "linkdigest": {      "url": "https://linkdigest.dev/mcp",      "headers": { "Authorization": "Bearer ld_live_..." }    }  }}

stdio-only clients — through mcp-remote (Node.js):

json
{  "mcpServers": {    "linkdigest": {      "command": "npx",      "args": ["-y", "mcp-remote", "https://linkdigest.dev/mcp", "--header", "Authorization:${AUTH_HEADER}"],      "env": { "AUTH_HEADER": "Bearer ld_live_..." }    }  }}

or through the Python server, published on PyPI as linkdigest-mcp (built and uploaded by this repo's release workflow, with attestations; needs uv):

json
{  "mcpServers": {    "linkdigest": {      "command": "uvx",      "args": ["linkdigest-mcp"],      "env": { "LINKDIGEST_API_KEY": "ld_live_..." }    }  }}

A key is issued at linkdigest.dev/app/keys. 10 free credits to start, once per account, no card. A post is one credit; video adds one per started minute; a viral breakdown or a translation adds one each. Then $5 once for 250 credits (Alipay accepted, settled as ¥36) or $9 a month for 500 (card).

Agent skills (OpenClaw, Hermes, Claude Code, Cursor and others)

Eleven ready-made skills live in skills/. Each is one job, a SKILL.md plus one script that uses only the Python standard library. No key needed for a first look: without LINKDIGEST_API_KEY the script gives one free summary a day; with a key (10 free credits on sign-up, no card) it returns the full transcript and per-image text.

SkillJob
xiaohongshu-note-to-text小红书笔记转文字: a Xiaohongshu note, the text in every image, caption, stats
douyin-video-to-text抖音视频转文字: a Douyin video's spoken words, on-screen text, chapters
douyin-search-to-text抖音搜索转文字: search Douyin by topic (free), then read the videos you pick
tiktok-transcriptA TikTok video's transcript with timestamps and captions
long-video-transcript长视频转文字: lectures and podcasts up to 2 h, 1 credit per 2 minutes
linkdigest-xhs-note-ocrXiaohongshu image notes, with the text inside every image
linkdigest-video-transcriptDouyin / Xiaohongshu video to transcript and on-screen text
linkdigest-wechat-article-readerWeChat 公众号 articles: full text and every image's text
linkdigest-youtube-summaryYouTube summary and timed transcript, translated to Chinese on request
linkdigest-xiaohongshu-douyin-readerRead Xiaohongshu / Douyin posts in English
linkdigest-viral-breakdownHow a viral post is built, with quotes checked against the source
linkdigest-script-rewriteExtract a reference video's script and structure, then write your own
bash
# Any agent the skills CLI supports (Claude Code, Cursor, Codex, OpenClaw, Trae, Qwen Code, ...)npx skills add jcaiagent7143-ui/linkdigest-mcp --skill xiaohongshu-note-to-text
# Hermes Agenthermes skills install jcaiagent7143-ui/linkdigest-mcp/skills/xiaohongshu-note-to-texthermes skills install clawhub/linkdigest-xhs-note-ocr   # or from ClawHub
# OpenClaw (ClawHub)clawhub install jackchew7143/linkdigest-xhs-note-ocr

The tool

digest_url(url, format, job_id, translate_to, breakdown, ask, partial_ok, depth) — only url is required.

ArgumentNotes
urlThe post URL, including any share tokens.
formatmarkdown (default, best for reading) or json (structured).
job_idCollect a digest already running. Pass this instead of url — re-sending the url would start the work again.
breakdowntrue adds a viral breakdown (爆款拆解): the hook in its first seconds, the structure as timed beats, the title formula, cover text, call to action, audience and a reusable template. Quotes are checked word for word against the post; engagement and hashtags come from the platform. +1 credit.
translate_toAn ISO 639-1 code (en, ja, zh-CN): adds a translation beside the original, and writes the breakdown in that language. +1 credit.
askA question to answer from the post ("what products and prices does it recommend?", "does the speaker say X?"). The answer comes with the quotes it rests on, each checked word for word against the post; found is false when the post does not say, and nothing is invented. +1 credit.
partial_oktrue reads the opening minutes the budget affords instead of refusing a long video.

You do not call it yourself. The tool description tells the agent to reach for it whenever it meets a social link it cannot read, so it happens mid-task without being asked.

A long video may not finish inside one call. When that happens the result names a job id; call the tool again with that job_id and no url to collect it.

What comes back

platform, author, title, posted_at, caption, transcript ({t, text}), ocr_text, on_screen ({t, text}), images ({description, ocr}), key_points, stats (likes, comments, saves, shares, plays), tags, raw_markdown, source_url, transcript_source, degraded — plus breakdown and translation when asked for.

Two are worth knowing about:

  • transcript_source — native_captions, asr, gemini_video or none. Captions the platform already published are exact; speech recognition is not. gemini_video means a YouTube video without captions was watched by Gemini, which wrote the transcript and its times. Treating them identically eventually quotes a mis-heard number back at someone as fact.
  • degraded — what did not fully work, in plain words, plus notes on how a complete read was obtained (e.g. "read via oEmbed", "read by Gemini watching the video directly"). It exists because a digest once returned a well-formed, completely empty result during a provider outage and was cached for thirty days.

Platforms

Checked against real posts, not documentation.

PlatformStatus
Xiaohongshu 小红书Works — image notes and video notes, no login needed
Douyin 抖音Works — video posts and image notes (图文), through Douyin's own embed player
Weibo 微博Works (since 2026-11-01) — text, photos, video, counts, top comments, through Weibo's own visitor page; posts only followers can see are refused, not charged
WeChat 公众号 articlesWorks — the full article, every image read
BilibiliWorks (since 2026-10-24) — videos and b23.tv short links, through Bilibili's own embed player
小宇宙 / Apple PodcastsWorks (since 2026-10-29) — episode transcripts
TikTokWorks — short links resolve. Rate-limits under load
YouTubeWorks — native captions where published, otherwise a watched transcript
XWorks — posts with video or images
InstagramWorks (since 2026-10-24) — reels, and photo posts through Instagram's embed page (a carousel reads its first slide)
Web pages / articlesWorks — readable article text, title, author, date
Zhihu, KuaishouNot read yet
FacebookNot supported. Serves no post content to logged-out requests

The rows that do not work are listed on purpose. Finding out after you have wired something in is worse than knowing now.

How long it takes

Measured, not estimated:

  • Already-digested link: about 1 second — anything anyone has run before is cached, and cached links are free
  • Xiaohongshu note with images: 1–2 minutes
  • YouTube video with captions: about 2.5 minutes

Notes

  • Speech is transcribed with Qwen3-ASR. It was kept over whisper-large-v3-turbo after a side-by-side on the same clips, where Whisper misheard Mandarin (创业 → 创意, 900人 → 酒派人).
  • transcript is [{t, text}]. Platform captions are timed per line. Speech recognition currently returns one segment per ~170 s of audio (a single segment at t: 0 for a shorter clip); on_screen carries approximate, keyframe-level times.
  • Media is never stored or served. It is processed in a temporary directory deleted before the request returns; only the text digest is kept.
  • A blocked or removed post returns an error, not a description of the error page.

Python SDK and command line

In python/: MIT, Python 3.10+, standard library only.

bash
pip install linkdigest-mcp          # PyPI; or from this repo: pip install "git+https://github.com/jcaiagent7143-ui/linkdigest-mcp#subdirectory=python"export LINKDIGEST_API_KEY=ld_live_...linkdigest "https://v.douyin.com/xxxx/" --breakdown       # Markdown to stdoutlinkdigest capture ./video.mp4 --url "<link>"              # a video you already have: sound + frames extracted here, never uploaded
python
from linkdigest import LinkDigest
d = LinkDigest().digest("https://xhslink.com/o/xxxx", translate_to="en")print(d.title, d.credits, d.cached)print(d.markdown)

Long jobs are collected for you (GET /api/v1/digest/{jobId}?wait=20); errors are typed (PaymentRequiredError carries buy_url). Examples — Dify, OpenAPI import for Coze-style platforms, Feishu Bitable, links to CSV — are in examples/ (Chinese).

Dify

The same tool as a Dify plugin lives in dify/ — source, manifest and privacy policy. Install it from the Dify Marketplace and paste your API key into the provider credential.

Also available

A REST API (POST https://linkdigest.dev/api/v1/digest), a web app, and Apify Store actors for bulk runs. See linkdigest.dev.

License

MIT — see LICENSE. Changes are listed in CHANGELOG.md.

來源:README.md,提交 f228729

工具

5

digest_url

Read a social media post as text

Read what a social media link actually says. Works on Xiaohongshu, Douyin, TikTok, YouTube, X, Instagram, Bilibili and ordinary web pages. Returns the post's transcript with times, on-screen text, the text in every image, caption and counts, key points each backed by a quote checked against the post (`key_point_support` in json), and a receipt of what was read (`coverage` in json). Facebook is not supported. Works without an API key for a first look (a summary, two a day per address); the full output needs a key — see check_balance. If the result names a job id, call again with job_id only. Example: url="https://v.douyin.com/abc/", ask="推荐了什么产品、多少钱?".

輸入參數askurldepthformatjob_idinsightbreakdownpartial_oktranslate_to

check_balance

Credits left and what a read costs

How many credits this API key has left, what each kind of read costs, and where to buy more (links need no sign-in; the credit pack takes Alipay). Without a key it returns the prices and how to get a key. Call it before a batch of reads, or when digest_url says credits ran out.

無需輸入參數。

list_batches

This account's last batches

The last batches on this API key, newest first — including the ones the browser extension's “Digest the notes on this page” button started from the user's own Xiaohongshu or Douyin tab. Each line: batch_id, label, created, status done/total, credits, synthesis (ready, pending, failed or none). Pass a batch_id to compare_links to read the comparison. Starts nothing, costs nothing. Needs an API key.

輸入參數labellimit

版本歷史

6
  1. v1.0.9最新Oct 23, 2026
  2. v1.0.7Oct 8, 2026
  3. v1.0.6Oct 8, 2026
  4. v1.0.4Oct 5, 2026
  5. v1.0.3Oct 3, 2026
  6. v1.0.2Sep 16, 2026

評分

已滿足適用檢查項的 100%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分