Tiktok 视频下载
使用 yt-dlp 自动从公共 TikTok 帐户下载最新的视频(或最近的 N 个)。每当用户提到 TikTok、下载视频或想要从 TikTok 获取内容时,请使用此技能。
技能说明
name: Downloader Tiktok Videos description: > Automatically downloads the latest video (or the N most recent) from a public TikTok account using yt-dlp. Use this skill whenever the user mentions TikTok, a @username, "download a TikTok video", "get the latest TikTok post", "scrape TikTok", or any request to download/extract content from TikTok. Also applies when the user wants to retrieve metadata only (title, hashtags, date, stats) without downloading, archive TikTok videos, or automate TikTok content retrieval.
Downloader TikTok Videos
Overview
Downloader TikTok Videos downloads the latest video (or multiple videos) from a public TikTok account using yt-dlp. Read this documentation fully before writing any code or running commands.
Prerequisites
This skill requires yt-dlp (and optionally ffmpeg for audio/video merging).
⚠️ The commands below modify your host environment (install packages system-wide). Run them only if yt-dlp is not already installed and you are comfortable doing so.
pip install -U yt-dlp --break-system-packages # Linux system Python
# or
pip install -U yt-dlp # virtualenv / macOS
yt-dlp --version # verify install
Operation Types
This skill supports four operation types. Determine which one(s) the user needs:
- Quick Download — Download the latest video from an account
- Bulk Download — Download the N most recent videos
- Metadata Only — Retrieve info/stats without downloading the video
- Direct Video URL — Download from a specific video URL
Workflows
1. Quick Download — Latest Video from an Account
When to use: User provides a @username or profile URL
Steps:
- Normalize the username (strip
@if present) - Build the profile URL:
https://www.tiktok.com/@{username} - Fetch metadata for the latest video (
--playlist-items 1 --no-download) - Show the user the video info (title, date, duration)
- Download with the optimal command
- Confirm success and provide the file path
Command:
yt-dlp \
--playlist-items 1 \
--format "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best" \
--merge-output-format mp4 \
--output "./%(uploader_id)s_%(upload_date)s_%(id)s.%(ext)s" \
"https://www.tiktok.com/@{username}"
Verify the result:
ls -lh ./*.mp4
2. Bulk Download — N Most Recent Videos
When to use: User wants multiple videos
Steps:
- Ask how many videos (if not specified, default = 5)
- Build the command with
--playlist-items 1-N - Add
--download-archiveto avoid duplicates - Download with progress output
- List downloaded files
Command:
yt-dlp \
--playlist-items 1-{N} \
--format "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best" \
--merge-output-format mp4 \
--download-archive ./tiktok_archive.txt \
--output "./%(uploader_id)s/%(upload_date)s_%(id)s.%(ext)s" \
"https://www.tiktok.com/@{username}"
3. Metadata Only
When to use: User wants video info without downloading
Read: references/metadata.md for all available fields and the full command
Quick command:
yt-dlp \
--playlist-items 1 \
--skip-download \
--write-info-json \
--print "%(uploader_id)s | %(upload_date)s | %(duration)ss | %(view_count)s views | %(title)s" \
"https://www.tiktok.com/@{username}"
4. Direct Video URL
When to use: User provides a direct video URL
Command:
yt-dlp \
--format "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best" \
--merge-output-format mp4 \
--output "./%(uploader_id)s_%(id)s.%(ext)s" \
"{video_url}"
Common Errors
| Error | Cause | Fix |
|---|---|---|
HTTP Error 403 | TikTok rate limiting | Add --sleep-interval 3 --max-sleep-interval 6 |
Unable to extract | Outdated yt-dlp | pip install -U yt-dlp --break-system-packages |
Private account | Private account | Use --cookies-from-browser chrome if logged in ⚠️ exports session cookies — keep them private |
No video formats | Geo-restriction | Add --geo-bypass |
Sign in required | Restricted content | Provide cookies via --cookies cookies.txt ⚠️ treat this file like a password |
Merge requires ffmpeg | ffmpeg missing | apt-get install ffmpeg -y |
⚠️ Cookie security note: Browser cookies exported via
--cookies-from-browserorcookies.txtcontain active session tokens. Never share these files, commit them to version control, or pass them to untrusted scripts. Delete them after use if no longer needed.
Username Normalization
# Accepts all these formats:
# @myaccount → myaccount
# myaccount → myaccount
# https://www.tiktok.com/@myaccount → myaccount
def normalize(input_str):
if "tiktok.com/@" in input_str:
return input_str.split("tiktok.com/@")[-1].split("/")[0]
return input_str.lstrip("@").strip()
Reference Files
Load these references as needed:
references/metadata.md
- When: Fetching metadata, working with JSON fields
- Contains: All available yt-dlp fields, print format examples, JSON export
references/advanced.md
- When: Watermark removal, cookies, proxy, custom headers
- Contains: Advanced techniques, restriction bypass, full yt-dlp options
KBLICENSE.txt
- When: Questions about usage rights or Terms of Service
- Contains: Usage conditions, permitted and prohibited uses
Output Guidelines
- Always display metadata before downloading (title, date, duration)
- Confirm the downloaded file path
- Show the final file size
- On error, propose the fix directly
Example Queries
Quick download:
- "Download the latest video from @someaccount"
- "Get the latest TikTok post from myaccount"
- "Download the last video from https://www.tiktok.com/@user"
Bulk download:
- "Download the 5 latest videos from @user"
- "Get the last 10 videos from @account"
Metadata:
- "Give me the info on the latest video from @user"
- "What is the title and date of the last post from @account"
Direct URL:
- "Download this TikTok video: https://www.tiktok.com/@user/video/123456"
如何使用「Tiktok 视频下载」?
- 打开小龙虾AI(Web 或 iOS App)
- 点击上方「立即使用」按钮,或在对话框中输入任务描述
- 小龙虾AI 会自动匹配并调用「Tiktok 视频下载」技能完成任务
- 结果即时呈现,支持继续对话优化