SuperAPI AI Directory

video-downloader

Design & creation

View repository

Updated 10-16 08:41

About this skill

Short-video downloader (Doubaoya)

This duck helps turn a short-video share link into adirect link without a watermark—for public videos from Douyin, Xiaohongshu/RedNote, Kuaishou, Bilibili, and similar platforms. One command returns the original downloadable URL and video metadata, saving you from building the parsing flow yourself.

Data flows through doubaoya.com only; authenticate with your own key (environment variable DOUBAOYA_API_KEY, in the form dyh_…). No custom parsing flow is needed; usage is billed per request.


Use cases

Scenario How to use it What you get
Save videos without watermarks Supply a share URL A direct link without a watermark
Get footage for derivative edits Resolve a popular video to its original footage The downloadable original video URL
Build a collection Resolve videos one at a time to build a library Each video’s title + direct URL
View video metadata Read the returned fields after resolving the URL Video title and other metadata

Resolve onlyoneshare URL per run. For multiple URLs, run the script multiple times.


Workflow (3 steps)

1. Obtain the share URL

Obtain a video share URL from the user for a public post on Douyin, Xiaohongshu/RedNote, Kuaishou, Bilibili, or a similar platform.

2. Run the script

python3 "$SKILL_PATH/scripts/download.py" "<分享链接>"

From the successful response envelope, the script writes data to stdout as JSON.Run the script only once per URL, read the full stdout directly; do not use head/tail for a preview.

3. Render the result

data has aflat structure(without an itemwrapper); usedefensive access——title(video title) / videoUrl(direct video URL without a watermark) / cover(cover image) may be missing; leave missing values empty instead of failing. Give videoUrl to the user, and usetitle as the description. For image-text posts, the video URL is empty; instead read imageUrls(array of direct image URLs).


Get the access key

  1. Open doubaoya.com
  2. Log in
  3. Open the Key Center
  4. Generate a key(in the form dyh_…)

Set the environment variable (the script reads only this one):

export DOUBAOYA_API_KEY="dyh_你的口令"

Hard rule: never print the key, write it to a file, or echo it to the user. The script never outputs the key either. All requests go only to doubaoya.com。


API and response envelope

  • POST https://doubaoya.com/api/skills/video-downloader/invoke
  • Authorization header:Authorization: Bearer $DOUBAOYA_API_KEY
  • Request body:{ "url": "<分享链接>" }
    • url: required string containing the video share URL
  • Response envelope (data has a flat structure):
    {
      "success": true,
      "requestId": "...",
      "data": {
        "platform": "douyin",
        "title": "...",
        "videoUrl": "https://...mp4",
        "cover": "https://...jpg",
        "imageUrls": []
      },
      "error": null
    }
    
    • videoUrl: direct video URL without a watermark (empty for image-text posts)
    • imageUrls: array of direct image URLs (populated for image-text posts; empty for video posts)
    • cover / title / platform: cover image, title, source platform
  • Check successfirst: if it is true , read data; otherwise read error.code / error.message。

Error handling

On failure, the script writes [error] CODE: message to stderr and exits with status 1. Common cases:

HTTP code Meaning Action
401 MISSING_API_KEY / UNAUTHORIZED Missing or invalid API key Check DOUBAOYA_API_KEY, and regenerate a key in the Key Center
400 VALIDATION_ERROR Invalid parameter (for example, an empty or unrecognized URL) Try a valid share URL
402 INSUFFICIENT_CREDITS Insufficient credits Top up or add more credits at doubaoya.com
502 PROVIDER_FAILED Temporary upstream failure (automatically refunded) Safe to retry

502 PROVIDER_FAILED is refunded automatically; retrying is safe and will not charge twice.


Directory structure

video-downloader/
├── SKILL.md            # 本文件
└── scripts/
    └── download.py     # 零依赖脚本(urllib),调用 doubaoya.com