
Tiktok Music Archive Downloader
Download local TikTok video and audio samples from an existing manifest after you have already picked music or sound candidates.
Overview
TikTok Music Archive Downloader is an agent skill for the Grow phase that downloads TikTok video samples from a manifest, extracts local audio references, and preserves reproducible music research archives.
Install
npx skills add https://github.com/postplusai/postplus-skills --skill tiktok-music-archive-downloaderWhat is this skill?
- Runs shared ytdlp downloader from a JSON manifest with sourceId and sourceUrl per item
- Supports configurable concurrency and retry attempts with a structured download report output
- Extracts local audio references from downloaded TikTok samples for downstream editing
- Preserves manifests so music research archives stay reproducible across runs
- Explicitly requires prior selection—pairs with tiktok-research outputs, not trending discovery
Adoption & trust: 1 installs on skills.sh; 8 GitHub stars; 2/3 security scanners passed (skills.sh audits); trending (+100% hot-view momentum).
What problem does it solve?
You have already selected TikTok music or sound candidates but only URLs and IDs—not local video and audio files you can edit, reference, or re-run reliably.
Who is it for?
Creators automating PostPlus TikTok workflows after tiktok-research has produced a download manifest.
Skip if: Finding trending sounds, collecting metadata without downloads, or judging rights and clearance before posting.
When should I use this skill?
TikTok music or sound candidates are already selected and the user needs local video files, audio references, or a reproducible download manifest.
What do I get? / Deliverables
You get downloaded samples, extracted audio references, and manifest-backed reports so the PostPlus TikTok pipeline can continue with stable on-disk assets.
- Downloaded video files in the chosen output directory
- Download report JSON from the shared downloader script
- Local audio references derived from downloaded samples
Recommended Skills
Journey fit
Canonical shelf is Grow because the skill turns shortlisted sounds into a reusable local content library for posting and remix workflows—not discovery or legal clearance. Content subphase fits building archives, extracting reference audio, and preserving manifests for reproducible music research assets.
How it compares
A downstream downloader step in a content skill chain—not a research or rights-checking skill.
Common Questions / FAQ
Who is tiktok-music-archive-downloader for?
Solo builders and indie creators using PostPlus TikTok skills who need local files and audio extracts after music candidates are already chosen.
When should I use tiktok-music-archive-downloader?
Use it in Grow content workflows when you need representative videos, reference audio, and a preserved manifest—after research selection, not while discovering trends.
Is tiktok-music-archive-downloader safe to install?
It runs shell Node scripts and network downloads via ytdlp; review the Security Audits panel on this page and treat downloaded third-party media under your own compliance rules.
SKILL.md
READMESKILL.md - Tiktok Music Archive Downloader
# TikTok Music Archive Downloader Follow shared public skill rules in: - `postplus-shared` public skill rules Use this skill when TikTok music or sound candidates have already been selected and the user needs local files. Good fits: - "Download representative videos for these sounds" - "Extract audio from TikTok videos as references" - "Build a local asset library for these trending music tracks" - "Download samples and keep a source manifest" Do not use this skill for: - discovering trending music - collecting metadata from hosted collection - deciding whether an audio is legally usable for public posting ## Read First - Shared chain: `postplus-shared` TikTok music workflow ## Source Skills Expected inputs usually come from: - `../tiktok-research/SKILL.md` ## Downloader Use the shared TikTok downloader: ```bash node ${CLAUDE_SKILL_DIR}/_postplus_shared/00-core/shared-runtime/scripts/download_videos_from_manifest_with_ytdlp.mjs \ --manifest <download-manifest.json> \ --output-dir <videos-dir> \ --report <download-report.json> \ --concurrency 2 \ --attempts 3 ``` The manifest should contain: ```json { "items": [ { "sourceId": "musicid-videoid", "sourceUrl": "https://www.tiktok.com/@user/video/123" } ] } ``` When the upstream normalized dataset includes both `postPageUrl` and direct video fields, prefer the canonical TikTok post page URL for `sourceUrl`. That keeps `yt_dlp` on the stable page surface instead of an expiring CDN URL. ## Audio Extraction After videos are downloaded, extract audio with `ffmpeg`. Prefer `m4a` for compact review assets: ```bash ffmpeg -y -i <video.mp4> -vn -c:a aac -b:a 192k <audio.m4a> ``` Use `wav` only when a downstream model or editor needs uncompressed audio: ```bash ffmpeg -y -i <video.mp4> -vn -ac 1 -ar 48000 <audio.wav> ``` ## Archive Layout Use a stable layout: ```text <work-folder>/.postplus/tiktok-music-archive-downloader/<run-id>/ manifest/ download-manifest.json download-report.json videos/ audio/ index.json ``` `index.json` should link every local file back to: - `musicId` - `musicTitle` - `sourceVideoUrl` - `sourceCollectionPath` - local video path - local audio path - download status ## Verification Before reporting success: - confirm downloaded files exist and are non-empty - confirm audio files exist and are non-empty - report failures separately instead of hiding them - keep source URLs in the manifest even when download fails ## Handoff - Need video-level breakdown: run a dedicated visual analysis workflow on the downloaded files - Need transcription or lyrics/voice extraction: `../audio-transcription/SKILL.md` or `../video-transcription/SKILL.md` - Need subtitle files: `../subtitle-packager/SKILL.md` ## Rights Posture Treat downloaded TikTok music as research/reference material unless the user confirms rights or platform-licensed use. Do not present extracted audio as cleared for commercial reuse. ## Public Skill Execution Contract - keep download manifests, reports, extracted videos, and extracted audio under `<work-folder>/.postplus/tiktok-music-archive-downloader/` - keep only final user-facing archive summaries or selected exports outside `.postplus/` - start with a bounded first pass on a very small manifest before broader archive pulls - this skill currently depends on explicit host-installed local tools: - `python3` with `yt_dlp` - `ffmpeg` - follow the `postplus-shared` Local Dependency Bootstrap Rule before the first download or extraction - if local dependency bootstrap fails, stop immediately instead of switching to ad hoc shell glue #!/usr/bin/env node import fs from "node:fs"; import pat