Resolve TikTok video URLs to return no-watermark/watermarked download addresses, playback addresses, and cover image addresses for saving promotional video assets or offline analysis. Trigger when users mention TikTok video download, TikTok watermark-free download, TikTok video save, download TikTok promotional video, TikTok no watermark video, TikTok video download, download TikTok video, no watermark TikTok video, save TikTok video, TikTok video link resolution. Even if the user does not explicitly mention "Nexscope", trigger this skill whenever their need involves extracting downloadable/playable video addresses from a TikTok video link.
npx skills add https://github.com/nexscope-ai/nexscope-ecommerce-skills --skill ecommerce.tiktok-video-download-url
This skill guides you on how to resolve a TikTok video URL into direct download and playback links, helping sellers save influencer/promotional video assets for offline analysis or reuse.
This tool takes a single TikTok video URL and resolves it to direct media addresses: a no-watermark download URL (preferred for clean assets), a watermarked download URL, a playback URL, and cover images (static and dynamic). This is useful when a seller wants to archive a high-performing promotional video found via the product video tool, or reuse a creator's clip without re-recording.
Required input: A url is mandatory. Two URL formats are accepted:
https://vt.tiktok.com/xxxxxxhttps://www.tiktok.com/@user/video/1234567890Conditional download URLs: Not every video returns a downloadable address. noWatermarkDownloadUrl and downloadUrl are returned only when the source video allows it; for some videos (region/privacy/availability restricted) both are absent and only playUrl plus cover images come back. Always check presence before presenting a download link, and fall back to playUrl for playback when the download fields are missing.
URL freshness: The returned download/playback addresses may expire over time. Use them promptly after resolving, and re-resolve if a link stops working.
| Parameter | Type | Required | Description | Default |
|-----------|------|----------|-------------|---------|
| url | string | Yes | TikTok video URL (short link vt.tiktok.com/xxx or full link tiktok.com/@user/video/xxx). Max length 1000 | - |
POST /echotik/getVideoDownloadUrl (see references/api.md for full parameters/response/error codes)python scripts/echotik_get_video_download_url.py '<JSON parameters>' [--inline]Output strategy (default script behavior):
<cwd>/nexscope/<YYYY-MM-DD>/<session>/data/nexscope-echotik-get-video-download-url-<timestamp>.json (<cwd> is the working directory at script execution time, i.e., the current project directory in Claude Code; <session> is taken from the SESSION_ID environment variable, auto-grouped by user task; do not write to /tmp, error if the current directory is not writable)total/costToken, length of the largest list field + first 3 samples)--inline to force full output to stdout (still writes to disk)Data reading tip: Check the summary first to see if sufficient; for specific fields, prefer using jq or ConvertFrom-Json to extract from the saved JSON file on demand, avoiding loading the entire JSON into context.
For the research HTTP response, require a numeric outer code equal to 0 before using data. Nonzero codes are platform failures; display outer msg without interpreting its wording as a retry instruction. Nexscope preserves upstream messages and translates Chinese to English; successful responses may have msg: null. HTTP 200 alone and nested business code / status do not replace the platform check. See references/api.md for response paths and task-specific states.
Set NEXSCOPE_API_KEY. Visit https://www.nexscope.ai/help/skills-external-access?co-from=skillNS to manage credits.
1. Resolve a full TikTok video link
{
"url": "https://www.tiktok.com/@user/video/1234567890"
}
2. Resolve a TikTok short link
{
"url": "https://vt.tiktok.com/Z123abc/"
}
noWatermarkDownloadUrl is present, surface it as the primary download option, since clean assets are usually what sellers wantdownloadUrl (watermarked) when present, in case the user wants the original brandingnoWatermarkDownloadUrl and downloadUrl are absent (common for some videos), do not fabricate a download link -- tell the user the video has no direct download address and offer playUrl for playback/preview insteadplayUrl for quick preview and coverUrl / dynamicCoverUrl for thumbnailsmsg after a nonzero platform code; a missing/invalid url or an inaccessible TikTok video may cause failure; suggest checking the URL format| User Says | Scenario |
|-----------|----------|
| "Download this TikTok video" / "Save this TikTok clip" | Resolve a video URL into download links |
| "Get the no-watermark version of this TikTok video" | Prioritize noWatermarkDownloadUrl |
| "I want to save this influencer's promo video" | Resolve and archive a creator's video |
| "Give me a playable link for this TikTok video" | Return playUrl |
| "Get the cover/thumbnail of this TikTok video" | Return coverUrl / dynamicCoverUrl |
productId, not a video URL)When users mention "TikTok video", determine whether they already have a specific video URL they want to download (this skill) or want to discover videos linked to a product (the product video skill). If the user provides a tiktok.com or vt.tiktok.com link and asks to save/download/extract it, this skill applies. If they mention a product ID and ask "what videos promote this product", use the product video skill instead.
Take nexscope-ai/ecommerce.tiktok-video-download-url from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.