開発者 · API / MCP
小紅書・抖音のリンク → AI が読めるテキスト、日本語訳付き
1 回の POST か 1 つの MCP ツールで、発話の文字起こし、画面と画像の文字、各画像の説明、要点(原文引用付き)、上位コメント、そして translate_to: "ja" で日本語訳。 読むのは当社のサーバーです。お客様の小紅書・抖音アカウントも Cookie も不要で、アカウントに影響しません。
REST
3 ステップ
- https://linkdigest.dev/app/keys で API キーを発行します(Google またはメールでサインイン、カード登録不要)。
ld_live_…の形です。 - リンクを 1 本 POST します。共有テキストごと送っても、中のリンクを取り出します。
- 動画など時間がかかるときは 202 と
pollの URL が返るので、同じキーで取りに行きます(?wait=20で最大 20 秒待ち、終わっていなければもう一度)。
curl -X POST https://linkdigest.dev/api/v1/digest \
-H "Authorization: Bearer ld_live_..." \
-H "Content-Type: application/json" \
-d '{"url": "https://xhslink.com/o/XXXXXXXX", "format": "json", "translate_to": "ja"}'画像投稿や短い投稿はそのまま 200 で返ります。ダウンロードと音声認識が必要な動画は 202 と poll の URL を返すので、同じキーで取りに行きます(下の Python 例)。 一度誰かが読んだリンクは約 1 秒で返り、クレジットは消費しません。
Python(requests)
import requests
KEY = "ld_live_..."
H = {"Authorization": f"Bearer {KEY}"}
r = requests.post("https://linkdigest.dev/api/v1/digest", headers=H,
json={"url": "https://v.douyin.com/XXXXXXX/", "format": "json", "translate_to": "ja"}).json()
while r.get("pending"): # 動画はまず 202 で返る
r = requests.get("https://linkdigest.dev" + r["poll"] + "&wait=20", headers=H).json()
print(r["title"])
print(r["key_points"])オプション:breakdown: true(バズ構造の分解、+1)、insight: true(消費者インサイト、+1)、ask: "…"(投稿への質問、+1)、depth: "transcript"(長い動画を文字起こし優先で、2 分ごとに 1 クレジット)、max_credits(この読み取りの上限。超える場合は読まずに 402)。 機械可読の仕様は /openapi.json、完全版は 英語のドキュメントにあります。
返るフィールド
投稿から読んだものと、AI が書いたもの
| title / author / posted_at / caption | タイトル、投稿者、投稿日時、本文 |
| transcript | 発話の文字起こし [{ t, text, approx }]。プラットフォームの字幕があればそれを、なければ音声認識の結果。t は段落の開始秒数で、音声認識のときは推定値(approx: true) |
| on_screen | 動画の画面に出る文字と、そのおおよその時刻 |
| ocr_text / images[] | 画像投稿の各画像の説明と、画像内の文字 |
| key_points / key_point_support | 要点と、それぞれの根拠となる原文の一節。引用はエンジンが本文と照合し、見つかれば verified: true |
| comments | 公開ページに載る上位コメント(小紅書・微博):[{ text, likes, replies, posted_at, reply_texts }]。最大 5 件、各 3 件までの返信。スレッド全体ではありません |
| stats | いいね、コメント、保存、シェア(読み取り当日の数値、as_of 付き) |
| translation | translate_to: "ja" を付けたときの日本語訳。タイトル、本文、画像内の文字、画像の説明、文字起こし、要点が対象。コメントは翻訳されず中国語のまま。原文のフィールドは 1 文字も変わりません |
| coverage | どこまで読めたかの明細(コードが算出):文字起こしした秒数、読めた画像の枚数、読めなかった項目(not_captured) |
| depth / partial | full(完全読み取り)、transcript(文字起こし優先、1 分あたり安い)、script(発話のみ)。クレジットが足りず一部だけ読んだときは partial に全体の費用が入ります |
| credits / cached | この読み取りで消費したクレジット。誰かが読んだことのあるリンクは cached: true で 0 クレジット |
| degraded / error_code | 一部読めなかったときの説明。読めなかったときは 422、プラットフォームが外部に提供しない投稿は not_served — いずれも課金なし |
投稿から読んだもの(transcript、on_screen、ocr_text、stats、comments)は書き換えません。AI が書くのは key_points、images[].description、translation、breakdown、insight で、引用はすべて原文と照合されます(verified)。
一括と比較レポート
複数のリンクを 1 本の日本語レポートに
curl -X POST https://linkdigest.dev/api/v1/digest/batch \
-H "Authorization: Bearer ld_live_..." \
-H "Content-Type: application/json" \
-d '{"urls": ["https://xhslink.com/o/AAAA", "https://xhslink.com/o/BBBB", "https://xhslink.com/o/CCCC"],
"translate_to": "ja", "synthesis": true, "insight": true, "label": "大阪 ドラッグストア"}'
# 202 {"batch_id": "...", "poll": "/api/v1/digest/batch/<id>", ...}
curl "https://linkdigest.dev/api/v1/digest/batch/<id>?include=digests" -H "Authorization: Bearer ld_live_..."1 バッチは free 10 件、Dev 50 件、Studio 200 件まで。synthesis: true で全投稿をまたいだ比較(共通点、相違点、価格や商品の言及、読者の不満)が synthesis.raw_markdown に入り、言語は translate_to に従います(ja なら日本語)。10 件につき 1 クレジット、1 バッチ 1 回。insight: true を併せると、投稿ごとの消費者インサイト付きの競合レポートになり、管理画面のバッチページから印刷・PDF 保存・共有リンク(30 日間)の発行ができます。ranked は反応順(いいね + 保存×2 + コメント)です。 読めなかったリンクは error として残り、課金されません。
検索と毎朝のブリーフ
リンクを持っていないところから始める
# トピックで投稿を探す(小紅書 / 抖音 / YouTube / X / web)。見つかったときだけ課金
curl -X POST https://linkdigest.dev/api/v1/search \
-H "Authorization: Bearer ld_live_..." -H "Content-Type: application/json" \
-d '{"query": "大阪 药妆店", "platform": "xiaohongshu", "limit": 5}'
# 見つけた投稿をそのまま読んで日本語で比較する(1 回の呼び出し)
curl -X POST https://linkdigest.dev/api/v1/search \
-H "Authorization: Bearer ld_live_..." -H "Content-Type: application/json" \
-d '{"query": "大阪 药妆店", "platform": "xiaohongshu", "limit": 5, "digest": true, "translate_to": "ja"}'
# 毎朝:新しい投稿を検索・読み取り・比較してメールで届ける
curl -X POST https://linkdigest.dev/api/v1/watch \
-H "Authorization: Bearer ld_live_..." -H "Content-Type: application/json" \
-d '{"query": "大阪 药妆店", "platform": "xiaohongshu", "reads": 5, "hour_utc": 23, "translate_to": "ja"}'検索は Web に索引された公開ページを対象にした、プラットフォーム限定の検索です(お客様のアカウントは使いません)。limit は 1〜10。小紅書は中国語で書かれているため、中国語(簡体字)のキーワードのほうが多く見つかります。 毎朝のブリーフ(watch)は、translate_to: "ja" を付けると比較とメールが日本語になります。free 1 テーマ、Dev 5、Studio 20。実行ごとにそのバッチの費用(検索 + 読み取り + 比較 + 下書き、約 8〜12 クレジット)がかかり、新しい投稿がない日と、クレジットが足りない日は課金されません。 コードを書かずに同じことをするなら 無料診断をご覧ください。
MCP
Claude Code、Cursor、Cherry Studio
claude mcp add --transport http linkdigest \ https://linkdigest.dev/mcp \ --header "Authorization: Bearer ld_live_..."
Claude Code の例です。Cursor、Cherry Studio、Trae など他の MCP クライアントの設定は ドキュメント にあります。 以後、エージェントにリンクを貼るだけで digest_url が本文を取ってきます。
どのクライアントでも同じです:URL https://linkdigest.dev/mcp、トランスポート Streamable HTTP、ヘッダー Authorization: Bearer ld_live_…。 ツールは digest_url(1 件、translate_to 可)、compare_links(最大 20 件の一括と比較)、search_links(トピック検索、digest: true でそのまま読む)、list_batches の 4 つです。 SSE や stdio しか使えないクライアントでは npx mcp-remote https://linkdigest.dev/mcp --header "Authorization: Bearer …" を間に挟みます。
Claude Code — プロジェクト直下の .mcp.json(または上の claude mcp add の 1 行)
{
"mcpServers": {
"linkdigest": {
"type": "http",
"url": "https://linkdigest.dev/mcp",
"headers": { "Authorization": "Bearer ld_live_..." }
}
}
}Cursor — ~/.cursor/mcp.json、またはプロジェクトの .cursor/mcp.json
{
"mcpServers": {
"linkdigest": {
"url": "https://linkdigest.dev/mcp",
"headers": { "Authorization": "Bearer ld_live_..." }
}
}
}Cherry Studio — 設定 → MCP → MCP サーバー → 追加 → JSON から読み込み
{
"mcpServers": {
"linkdigest": {
"type": "streamableHttp",
"baseUrl": "https://linkdigest.dev/mcp",
"headers": { "Authorization": "Bearer ld_live_..." }
}
}
}リンクの形
読めるリンク、読めないリンク
- 小紅書:アプリの「分享 → 复制链接」のリンク(
xhslink.com/o/…、またはxsec_token付きのxiaohongshu.com/discovery/item/…、/explore/…、/search_result/…)。ログインページに包まれたリンク(/login?redirectPath=…)も中身を取り出します。xsec_tokenのない素のリンクは小紅書が「ページが見つかりません」を返すため読めません(課金なし)。 - 投稿者のプロフィール(主页)は投稿ではありません:小紅書・抖音とも「投稿を開いて共有リンクを」と返します。
- 抖音:
v.douyin.com/…、douyin.com/video/…、または共有テキストごと。抖音の外部プレーヤーが提供しない投稿はnot_served(課金なし)。 - ビリビリ・微博・TikTok・YouTube・X・Instagram・WeChat 公式アカウント記事・小宇宙:通常の投稿リンク。対応表は /platforms(英語、実測値つき)。
エラー
ステータスコードと、そのとき課金されるか
| 401 | API キーが無効です。/app/keys で作り直してください |
| 402 | クレジットが不足しています。課金はなく、本文にクレジットの追加リンク(サインイン不要)が入ります |
| 422 | リンクが読めません:削除済み、非公開、またはログインが必要なページ。課金なし |
| 422 · not_served | プラットフォームがその投稿を外部に提供していません(抖音の外部プレーヤーの core_dep など)。投稿が消えたという意味ではなく、再試行もしません。課金なし。本文に他の読み方(アプリから保存して /app/upload にアップロード、ブラウザ拡張で自分のタブから読む)が書かれます |
| 429 | 短時間の呼び出しが多すぎます。Retry-After 秒後に再試行してください |
| 202 | 動画など時間のかかる読み取り。本文の poll の URL を同じキーで取りに行きます(?wait=20 で最大 20 秒待ちます) |
料金
作業量に応じたクレジット制
サインアップで 10 クレジット(1 回限り、カード登録不要)。画像投稿 1 件 1 クレジット、動画は 1 分ごとに 1(1 分の動画で 2、10 分で 11)。 日本語訳 +1、バズ構造の分解 +1、質問 +1、消費者インサイト +1、比較は 10 件につき 1。誰かが読んだリンクは 0、読めなかったリンクも 0 です。
追加は 1 回払いのクレジットパック:50 クレジット $1.5(約¥225)、250 クレジット $5(約¥750、1 クレジット 約¥3)。 月額は Dev $9(約¥1,350)で 500 クレジット、Studio $49(約¥7,350)で 3,500 クレジット。 いずれもカード決済(Stripe、USD 建て。円換算は目安)です。全項目は 料金ページにあります。
できないこと・しないこと
導入前に知っておいていただきたいこと
- お客様の小紅書・抖音アカウントにはログインしません。Cookie もお預かりしません。公開ページだけを読みます。
- 非公開・削除済み・プラットフォーム側が外部に提供しない投稿は、その旨をエラーとして返します(422 / not_served)。内容を推測して書くことはなく、クレジットも消費しません。
- 画像や動画そのものは保存しません。残るのはテキストの結果だけです。
- 要点(key_points)は AI が書きますが、1 件ごとに原文の引用が付き、その引用が本文に実在するかをコードで照合します(verified)。
- 音声認識の精度は音声認識のものです。方言、複数人の同時発話、大音量の BGM では誤りが出ます。
- 読めない例:知乎(Zhihu)、快手(Kuaishou)は現在未対応です。
よくある質問
よく聞かれること
- 小紅書のどのリンクが読めますか?
- アプリの「分享 → 复制链接」で得られるリンク(xhslink.com の短縮リンク、または xsec_token 付きの xiaohongshu.com のリンク)です。/explore/<id> だけの素のリンクは小紅書側が「ページが見つかりません」を返すため読めず、課金もされません。投稿者のプロフィール(主页)のリンクは投稿ではないので、その旨を返します。
- 抖音(Douyin)はどう読みますか?
- 共有リンク(v.douyin.com/… または douyin.com/video/…)か、共有テキストごと送ります。抖音が外部サイト向けに公開しているプレーヤーを通して読むため、ログインも Cookie も不要です。プレーヤーが提供しない投稿は not_served として返し、課金しません。
- 日本語訳の精度は?
- 機械翻訳です。原文のフィールドはそのまま残るので、重要な箇所は原文で確認できます。コメントは翻訳されません。翻訳は 1 件あたり +1 クレジットです。
- 料金はどう決まりますか?
- 作業量に応じたクレジット制です。画像投稿 1 件 1 クレジット(6 枚まで、6 枚ごとに +1)、動画は 1 分ごとに 1。日本語訳 +1、消費者インサイト +1、複数投稿の比較は 10 件につき 1。検索は小紅書・抖音で投稿が見つかったときだけ 4。サインアップで 10 クレジット無料、追加はカード決済(Stripe、USD 建て)です。
- MCP で使えますか?
- はい。Claude Code、Cursor、Cherry Studio など Streamable HTTP に対応した MCP クライアントで、サーバーを 1 行追加するだけです。digest_url(1 件)、compare_links(一括と比較)、search_links(検索)、list_batches の 4 つのツールがあります。