LEAPERone 文档

视频解析 API

GET /v1/social-media/video/extract 参考文档,包括支持的分享链接、提取的元数据、固定价格和错误说明。

从社交媒体分享链接中提取视频下载信息,包括多清晰度视频流、独立音频流、封面图片和元数据。

端点

GET https://api.leaper.one/v1/social-media/video/extract

参数

参数类型必填说明
urlstring视频 URL 或包含 URL 的分享文本

url 参数既可以接收视频直链,也可以接收从平台复制的原始分享文本。API 会自动从文本中提取 URL。

支持的平台

平台URL 格式paramName视频输出音频输出
抖音v.douyin.com/**.douyin.com/*url多清晰度 1080p/720p/540p背景音乐 MP3
TikTok*.tiktok.com/*url多清晰度背景音乐 MP3
快手*.kuaishou.com/**.gifshow.com/*url多清晰度
小红书*.xiaohongshu.com/*xhslink.com/*share_textH.264/H.265
Instagram*.instagram.com/*post_url多分辨率
Bilibilibilibili.com/video/BV*b23.tv/*url(提取 BV 号)DASH 多流DASH 独立音频
YouTubeyoutube.com/watch?v=*youtu.be/*video_id(自动提取)360p–4K、mp4/webmm4a/weba
Twitter/Xx.com/*/status/*twitter.com/*tweet_id(自动提取)多码率 MP4
微博weibo.com/*weibo.cn/*id(自动提取)720p/HD/LD
西瓜视频ixigua.com/*item_id(自动提取)
皮皮虾pipix.com/*pipixia.com/*cell_id(自动提取)高/低清晰度

“—”表示音频已嵌入视频文件中(audios 为空数组)。Bilibili 和 YouTube 使用音视频分离的 DASH 格式,下载后需要使用 ffmpeg 合并。

请求

GET /v1/social-media/video/extract
curl -G "https://api.leaper.one/v1/social-media/video/extract" \
  --data-urlencode "url=https://v.douyin.com/L4FJNR3/" \
  -H "Authorization: Bearer sk-your-api-key"

响应示例

返回多种清晰度的视频选项和背景音乐 MP3。

Response
{
  "platform": "douyin",
  "data": {
    "platform": "douyin",
    "videoId": "6918273131559881997",
    "title": "骑白马的也可以是公主#百万转场变身",
    "author": "Real机智张",
    "authorId": "MS4wLjABAAAA...",
    "coverUrl": "https://p3-sign.douyinpic.com/...webp",
    "duration": 10,
    "videos": [
      { "url": "https://...mp4", "quality": "adapt_lowest_1080_1", "format": "mp4", "width": 1080, "height": 1920, "size": 3455733 },
      { "url": "https://...mp4", "quality": "adapt_lowest_720_1", "format": "mp4", "width": 720, "height": 1280, "size": 2205160 },
      { "url": "https://...mp4", "quality": "adapt_540_1", "format": "mp4", "width": 576, "height": 1024, "size": 1681820 }
    ],
    "audios": [
      { "url": "https://sf6-cdn-tos.douyinstatic.com/...mp3", "format": "mp3" }
    ]
  }
}

使用音视频分离的 DASH 格式。请使用 ffmpeg 合并。

Response
{
  "platform": "bilibili",
  "data": {
    "platform": "bilibili",
    "videoId": "BV1cAQqBqEpT",
    "title": "《万历黑诏书》第七十一话:帝王之术",
    "author": "虾仁耶YE",
    "authorId": "21741349",
    "coverUrl": "http://i1.hdslb.com/bfs/archive/...jpg",
    "duration": 545,
    "videos": [
      { "url": "https://...bilivideo.com/...mp4", "quality": "480p", "format": "mp4", "codec": "avc1.640033", "width": 852, "height": 480 }
    ],
    "audios": [
      { "url": "https://...bilivideo.com/...m4s", "format": "m4a", "codec": "mp4a.40.2" }
    ]
  }
}
Merge with ffmpeg
ffmpeg -i video.mp4 -i audio.m4a -c copy output.mp4

返回 20 多种视频格式(360p 至 4K)和多条音轨。

Response
{
  "platform": "youtube",
  "data": {
    "platform": "youtube",
    "videoId": "dQw4w9WgXcQ",
    "title": "Rick Astley - Never Gonna Give You Up (Official Video)",
    "author": "Rick Astley",
    "authorId": "UCuAXFkgsw1L7xaCfnd5JJOw",
    "coverUrl": "https://i.ytimg.com/vi_webp/dQw4w9WgXcQ/maxresdefault.webp",
    "duration": 213,
    "videos": [
      { "url": "https://...googlevideo.com/...", "quality": "360p", "format": "mp4", "codec": "avc1.42001E, mp4a.40.2", "width": 640, "height": 360, "size": 11829048 },
      { "url": "https://...googlevideo.com/...", "quality": "720p", "format": "mp4", "codec": "avc1.4d401f", "width": 1280, "height": 720 },
      { "url": "https://...googlevideo.com/...", "quality": "1080p", "format": "webm", "codec": "vp9", "width": 1920, "height": 1080 }
    ],
    "audios": [
      { "url": "https://...googlevideo.com/...", "format": "m4a", "codec": "mp4a.40.2", "size": 3449447 },
      { "url": "https://...googlevideo.com/...", "format": "weba", "codec": "opus", "size": 1231355 }
    ]
  }
}

YouTube 的 360p mp4 通常包含音轨,可以直接播放。更高分辨率的视频流通常不含音频,需要与 audios 中的音频流合并。

返回多种清晰度的视频流。

Response
{
  "platform": "kuaishou",
  "data": {
    "platform": "kuaishou",
    "videoId": "5229242270556079433",
    "title": "@爱笑岩❗️还在努力. #三道街 #爱笑岩 #爱笑岩安利挑战",
    "author": "捕风在努力",
    "authorId": "1152464658",
    "coverUrl": "https://p3.a.kwimgs.com/...jpg",
    "duration": 103,
    "videos": [
      { "url": "https://tymov2.a.kwimgs.com/...mp4", "format": "mp4" },
      { "url": "https://tymov2.a.kwimgs.com/...mp4", "format": "mp4" }
    ],
    "audios": []
  }
}

测试 URL

复制以下 URL,直接调用 API 进行测试:

平台测试 URL
抖音https://v.douyin.com/L4FJNR3/
TikTokhttps://www.tiktok.com/@bellapoarch/video/6862153058223197445
快手https://v.kuaishou.com/dEHKhN
Bilibilihttps://www.bilibili.com/video/BV1cAQqBqEpT/
YouTubehttps://www.youtube.com/watch?v=dQw4w9WgXcQ

响应字段

字段类型说明
platformstring检测到的平台名称
dataobject | null标准化后的视频数据。标准化失败时为 null
data.platformstring平台名称
data.videoIdstring视频在平台上的 ID
data.titlestring视频标题或描述
data.authorstring作者显示名称
data.authorIdstring作者在平台上的 ID
data.coverUrlstring封面图片 URL
data.durationnumber时长,单位为秒
data.videosMediaItem[]可用的视频下载选项
data.audiosMediaItem[]可用的音频下载选项;音频嵌入视频时为空数组
rawobject上游原始响应,仅在标准化失败时返回

MediaItem

字段类型说明
urlstring下载 URL
qualitystring?清晰度标签:"1080p""720p""480p"
formatstring?文件格式:"mp4""webm""m4a""mp3""weba"
codecstring?编解码器:"avc1.640033""mp4a.40.2""opus""vp9"
widthnumber?视频宽度,单位为像素
heightnumber?视频高度,单位为像素
sizenumber?文件大小,单位为字节

错误响应

价格

每次成功请求 $0.01(HTTP 2xx)。请求失败不会计费。

注意事项

  • 视频和音频 URL 具有时效性,通常在数小时至数天后失效。获取后请尽快下载。
  • 抖音和 TikTok 共用混合解析器,一个端点同时支持两个平台。
  • 小红书支持完整 URL 和短链接(xhslink.com)。
  • duration 的单位始终为秒。
  • datanull 时,raw 字段会包含未经处理的上游响应,便于调试。