一键导入
douyin-downloader
Download Douyin (抖音) videos without watermarks using a local Docker-based API service. Supports video data extraction and batch downloads.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Download Douyin (抖音) videos without watermarks using a local Docker-based API service. Supports video data extraction and batch downloads.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
| name | douyin-downloader |
| description | Download Douyin (抖音) videos without watermarks using a local Docker-based API service. Supports video data extraction and batch downloads. |
| metadata | {"author":"Ming Fang","version":"1.0.0"} |
Self-hosted Douyin/TikTok video downloader via Docker API.
Cookie = 完整登录会话:
第三方镜像:
evil0ctal/douyin_tiktok_download_api(非本作者创建)/app/crawlers/douyin/web/config.yaml)*.douyin.com 发送(可通过 docker logs 验证)详细说明: PRIVACY.md
Docker container must be running:
docker ps | grep douyin_api
If not running, start it:
docker start douyin_api
curl -L "http://localhost:8080/api/download?url=<抖音链接>&prefix=false&with_watermark=false" -o video.mp4
curl -s "http://localhost:8080/api/hybrid/video_data?url=<抖音链接>" | jq
Douyin requires valid cookies for API access. Cookies expire every 1-2 weeks.
Step 1: Get Cookie from browser
douyin.com in Chrome and loginF12 → Network tabCmd+R)Request Headers → Cookie:Step 2: Run update script
scripts/update-cookie.sh "your-cookie-string"
The script will:
Base URL: http://localhost:8080
/api/hybrid/video_dataGet video metadata (author, likes, description, etc.)
Parameters:
url (required): Douyin share URLExample:
curl "http://localhost:8080/api/hybrid/video_data?url=https://v.douyin.com/xxxxx/"
/api/downloadDownload video without watermark
Parameters:
url (required): Douyin share URLprefix (optional): Add filename prefix (default: false)with_watermark (optional): Include watermark (default: false)Example:
curl -L "http://localhost:8080/api/download?url=https://v.douyin.com/xxxxx/&prefix=false&with_watermark=false" -o video.mp4
All Douyin share formats work:
https://v.douyin.com/xxxxx/https://www.douyin.com/video/12345678907.43 pda:/ 复制此链接...docker ps | grep douyin_api
docker logs douyin_api --tail 20
docker restart douyin_api
docker stop douyin_api
docker start douyin_api
Cause: Cookie expired
Fix: Update cookie using the update script (see Cookie Management section)
Cause: Docker container not running
Fix:
docker start douyin_api
Cause: Too many requests in short time
Fix: Wait 1-2 minutes, then retry
evil0ctal/douyin_tiktok_download_api:latestdouyin_api/app/crawlers/douyin/web/config.yamlCookie: line~/.openclaw/workspace/chrome-cookie-sniffer/update_douyin_cookie.shIf container doesn't exist:
docker pull evil0ctal/douyin_tiktok_download_api:latest
docker run -d --name douyin_api -p 8080:80 evil0ctal/douyin_tiktok_download_api:latest
Then update cookies (see Cookie Management).
#!/bin/bash
# Download multiple videos
URLS=(
"https://v.douyin.com/xxxxx/"
"https://v.douyin.com/yyyyy/"
"https://v.douyin.com/zzzzz/"
)
for i in "${!URLS[@]}"; do
curl -L "http://localhost:8080/api/download?url=${URLS[$i]}&prefix=false&with_watermark=false" \
-o "video_$i.mp4"
echo "Downloaded video $i"
sleep 2 # Avoid rate limit
done
import requests
API = "http://localhost:8080"
def download_douyin(url: str, output: str):
"""Download Douyin video without watermark"""
r = requests.get(f"{API}/api/download",
params={"url": url, "prefix": "false", "with_watermark": "false"},
stream=True)
r.raise_for_status()
with open(output, "wb") as f:
for chunk in r.iter_content(chunk_size=8192):
f.write(chunk)
return output
def get_video_info(url: str):
"""Get video metadata"""
r = requests.get(f"{API}/api/hybrid/video_data", params={"url": url})
r.raise_for_status()
return r.json()
# Usage
url = "https://v.douyin.com/xxxxx/"
info = get_video_info(url)
print(f"Title: {info['data']['desc']}")
print(f"Author: {info['data']['author']['nickname']}")
print(f"Likes: {info['data']['statistics']['digg_count']}")
download_douyin(url, "video.mp4")
API documentation available at:
http://localhost:8080/docs
Interactive Swagger UI for testing endpoints.
Based on Douyin_TikTok_Download_API by Evil0ctal.