Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
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,...
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,...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
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.
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
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
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
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-archive to 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}"
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}"
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}"
ErrorCauseFixHTTP Error 403TikTok rate limitingAdd --sleep-interval 3 --max-sleep-interval 6Unable to extractOutdated yt-dlppip install -U yt-dlp --break-system-packagesPrivate accountPrivate accountUse --cookies-from-browser chrome if logged in โ ๏ธ exports session cookies โ keep them privateNo video formatsGeo-restrictionAdd --geo-bypassSign in requiredRestricted contentProvide cookies via --cookies cookies.txt โ ๏ธ treat this file like a passwordMerge requires ffmpegffmpeg missingapt-get install ffmpeg -y โ ๏ธ Cookie security note: Browser cookies exported via --cookies-from-browser or cookies.txt contain 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.
# 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()
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
Always display metadata before downloading (title, date, duration) Confirm the downloaded file path Show the final file size On error, propose the fix directly
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"
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.