多平台解析 开放 API

通过异步接口批量提交 50+ 内容平台的公开作品链接,获取视频地址、图集图片、标题作者与媒体元数据。优先使用已配置的内容解析服务;抖音缺少视频、互动数据或作者信息时由服务器自动补全。规范 JSON、按次计费、异步可追踪——适合研究、获得授权的备份与二次开发。

1快速开始

1

注册 / 登录

在首页右上角点「登录 / 注册」,完成滑块验证即可。

2

生成 API Key

进入 API 控制台点「生成密钥」,新密钥自带试用余额。

3

发起调用

异步分享页可直接调用;付费开放 API 需在请求头带 X-API-Key。

2鉴权

异步分享页接口使用网页免费配额,不需 API Key;/api/v1/* 开放 API 只通过请求头 X-API-Key: 你的密钥 鉴权。不要把密钥放进 URL 查询参数。

X-API-Key: dy_xxxxxxxxxxxxxxxxxxxx

3接口

POST/api/shares无需 API Key
异步创建本地分享页。接收阶段只在本地校验并规范化唯一一个抖音短链,或 TikTok 视频链接(www.tiktok.com/@作者/video/作品ID、vm.tiktok.com / vt.tiktok.com),不访问源平台;持久化占位页和后台任务后立即返回 202 Accepted。建议每次创建发送 Idempotency-Key,网络重试将返回同一 sid。

请求示例

curl -X POST 'https://你的域名/api/shares' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000' \
  -d '{ "text": "3.87 复制打开抖音 https://v.douyin.com/xxxx/", "title": "可选标题" }'

返回示例

HTTP/1.1 202 Accepted
Location: /s/Ab3xYz7
Retry-After: 2

{ "ok": true, "replayed": false,
  "data": { "sid": "Ab3xYz7", "status": "pending", "ready": false,
    "shareable": false, "share_url": "https://你的域名/s/Ab3xYz7",
    "status_url": "/api/shares/Ab3xYz7", "poll_after_ms": 1500,
    "expires_at": 1780000000,
    "manage_token": "sm1_...(仅匿名创建响应返回)" } }
GET/api/author?item_id={item_id}
读取已解析作品的作者详情。昵称、头像、主页与作品统计来自解析结果;首次读取时服务端会按需短时富化资料,不暴露上游服务细节。
curl 'https://你的域名/api/author?item_id=7123456789'

{ "item_id": "7123456789", "nickname": "作者昵称", "author_url": "https://www.douyin.com/user/...",
  "sec_uid": "MS4w...", "unique_id": "creator_id", "follower_count": 2000,
  "total_favorited": "45434", "following_count": 4, "aweme_count": 55,
  "enriched": true }
GET/api/shares/{sid}
查询公开最小状态。pending / processing 时按 poll_after_ms 轮询;ready 后若 media_available=false,继续按 media_poll_after_ms 检查,直到媒体可用。完成时可复制 share_url_versioned 到微信;failed 只返回稳定错误码和用户文案,不暴露内部代理信息。分享页 /s/{sid} 会自动轮询。
curl 'https://你的域名/api/shares/Ab3xYz7'

{ "ok": true, "data": {
  "sid": "Ab3xYz7", "status": "ready", "ready": true, "shareable": true,
  "kind": "video", "item_id": "7123456789", "title": "作品标题",
  "author": "作者昵称", "media_available": true, "media_pending": false,
  "media_poll_after_ms": 0,
  "share_url_versioned": "https://你的域名/s/Ab3xYz7?v=1780000008" } }
DELETE/api/shares/{sid}
删除或取消自己的分享页。登录用户使用会话身份;匿名创建者必须把创建响应中的 manage_token 放进 X-Share-Manage-Token 请求头。凭证不会出现在公开状态、分享 URL 或页面中。任务尚未被 worker 领取时会退款;已经开始解析则取消发布但计入一次额度。
curl -X DELETE 'https://你的域名/api/shares/Ab3xYz7' \
  -H 'X-Share-Manage-Token: sm1_...'
POST/api/v1/jobs
提交持久化批量任务,整批预授权费用后异步处理。单个任务最多 100 条公开 HTTPS 作品链接,支持抖音、小红书、快手、B站、微博、TikTok、YouTube 等 50+ 平台(或给整段分享文案自动提取)。建议发送 Idempotency-Key:网络重试会返回同一 job_id 而不重复冻结余额;同一 Key 提交不同链接会返回 409。

请求示例

curl -X POST 'https://你的域名/api/v1/jobs' \
  -H 'Content-Type: application/json' \
  -H 'X-API-Key: dy_xxx' \
  -H 'Idempotency-Key: req-20260807-001' \
  -d '{ "links": ["https://v.douyin.com/xxxx/", "https://www.xiaohongshu.com/explore/yyyy"] }'

# 也可以直接给整段分享文案(自动提取其中全部链接):
-d '{ "text": "小红书 https://www.xiaohongshu.com/explore/yyyy 抖音 https://v.douyin.com/xxxx/" }'

返回示例

{ "code": 0, "message": "accepted",
  "data": { "job_id": "job_xxx", "total": 2, "status": "pending",
            "price_cents": 1, "estimated_cost_cents": 2,
            "query_url": "/api/v1/jobs/job_xxx" } }
GET/api/v1/jobs/{job_id}
查询任务状态与结果(需带同一个 API Key)。status 为 done 时 results 为逐条解析结果;处理中建议每 2–5 秒轮询一次。失败条目不计费(自动精确退款)。

请求示例

curl 'https://你的域名/api/v1/jobs/job_xxx' \
  -H 'X-API-Key: dy_xxx'

返回示例

{ "code": 0, "message": "ok",
  "data": {
    "job_id": "job_xxx", "status": "done", "total": 2, "done": 2, "ok": 1,
    "cost_cents": 1, "created": 1786000000, "finished": 1786000008,
    "results": [
      { "link": "https://v.douyin.com/xxxx/", "ok": true,
        "data": {
          "kind": "video", "platform": "douyin", "share_supported": true,
          "item_id": "7123456789", "title": "作品标题",
          "author": "作者昵称", "cover": "封面图地址", "duration_ms": 15333,
          "video": { "url": "短时有效的媒体播放地址",
                     "proxy_url": "本站同源签名播放地址(12 小时有效)",
                     "download_url": "本站同源签名下载地址(12 小时有效)",
                     "width": 1080, "height": 1920, "filename": "作品标题.mp4" },
          "music": { "title": "背景音乐" }, "tags": ["话题1", "话题2"] } },
      { "link": "https://www.xiaohongshu.com/explore/yyyy", "ok": false, "error": "链接已失效" }
    ] } }
GET/api/v1/balance
查询当前密钥余额与用量。
curl 'https://你的域名/api/v1/balance' \
  -H 'X-API-Key: dy_xxx'

{ "code": 0, "data": { "balance_cents": 978, "reserved_cents": 2,
  "spent_cents": 20, "calls": 20, "price_cents": 1 } }

4任务状态与结果字段

任务状态(status)

status含义
platform / share_supported识别到的来源平台;是否支持生成本站分享页
pending已受理,排队等待处理
running处理中(已有条目开始或完成)
done全部条目已出结果(逐条看 ok 字段)

成功条目 data 字段(kind = video)

字段含义
video.url短时有效的媒体播放地址;有效期与可用性以服务返回为准
video.alt_url可选的备用播放地址;失败时可切换使用
video.download_url可选。按作品 ID 读取本站同源 HMAC 下载地址,默认 12 小时过期
video.proxy_url可选。本站同源 HMAC 播放地址,适合受限网络环境
images[]图集作品(kind = note)的原图列表,含 url / filename
stats点赞(digg)、评论、收藏和分享数;抖音缺失值由服务器补全,仍无法获取时为 null
title / content作品标题与可选正文分别保留;content 未提供或为空时使用 title,不包含语音转录文案
warning成功但带警告时出现(如部分数据缺失)

5计费

提交时按任务全部链接和当时单价整批预授权;可用余额不足则整单拒绝。每条成功结果转为消费,失败结果自动精确退款。任务、租约与账本都持久化,重启后继续处理;建议用 Idempotency-Key 安全重试。

6调用示例(Python)

import json, time, urllib.request

KEY = "dy_xxx"
BASE = "https://你的域名"

def call(method, path, payload=None):
    req = urllib.request.Request(BASE + path, method=method,
        data=json.dumps(payload).encode() if payload else None,
        headers={"X-API-Key": KEY, "Content-Type": "application/json"})
    with urllib.request.urlopen(req, timeout=30) as r:
        return json.loads(r.read())["data"]

job = call("POST", "/api/v1/jobs",
           {"links": ["https://www.xiaohongshu.com/explore/xxxx"]})
for _ in range(60):                       # 每 2 秒轮询,最长 2 分钟
    time.sleep(2)
    d = call("GET", f"/api/v1/jobs/{job['job_id']}")
    if d["status"] == "done":
        for r in d["results"]:
            print(r["ok"], r.get("data", {}).get("title"), r.get("error", ""))
        break

7错误码

HTTP含义
400请求体错误 / 无合法链接 / Idempotency-Key 超过 128 字符
401缺少或无效的 API Key
402余额不足(整单拒绝,不扣费)
404任务不存在或无权访问
409同一 Idempotency-Key 提交了不同的链接列表
413HTTP 请求体超过 8KB,或分享文案超过 4KB
451作品已因投诉或审核下架
422分享短链或 Idempotency-Key 格式不合法
429免费配额用完、持久限频,或同一用户在途任务过多
503异步分享队列已满,按 Retry-After 稍后重试
需要更高并发 / 更低单价 / 私有部署?联系作者获取企业方案。