UnderSky 文档

视频解析 API

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

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

端点

GET https://api.undersky.ai/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.undersky.ai/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" }
    ]
  }
}

测试 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 的单位始终为秒。
  • 当 data 为 null 时,raw 字段会包含未经处理的上游响应,便于调试。