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.
Core Concepts
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 EchoTik product-video tool, or reuse a creator's clip without re-recording.
Required input: A url is mandatory. Two URL formats are accepted:
- Short link:
https://vt.tiktok.com/xxxxxx - Full link:
https://www.tiktok.com/@user/video/1234567890
Conditional 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 Guide
| 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 |
- |
How to call
- API endpoint:
POST /echotik/getVideoDownloadUrl(for full parameters/responses/error codes seereferences/api.md) - Python script:
python scripts/echotik_get_video_download_url.py '<JSON 参数>' [--inline] - Cost constraints: This tool consumes compute; by default the same parameter combination in the same session is called only once, and the script has a 24h local cache. On failure/empty results, do not automatically switch keywords, paginate, or change the zip code to probe repeatedly; if you need to continue searching, first explain to the user that it will incur additional consumption.
Output strategy (script default behavior):
- Alwayswrite the full response to
<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-echotik-get-video-download-url-<timestamp>.json(<cwd>is the working directory when the script runs, which in Claude Code is the current project directory;<session>is taken from the environment variableSESSION_ID, automatically aggregated by user task;writing to /tmp is prohibited, if the current directory is not writable, report an error) - Response body ≤ 8 KB: after saving to disk, print the full JSON to stdout
- Response body > 8 KB: after saving to disk, stdout outputs only a summary (top-level fields, common counts such as
total/costToken, the length of the largest list field + the first 3 samples) - Add
--inlineto force full printing to stdout (also saved to disk)
Data reading suggestions: First look at the summary to judge whether it is sufficient; when specific fields are needed, prefer to use jqorConvertFrom-Json to extract on demand from the saved json file, avoiding putting the entire JSON into the context.
Resolve authentication and compute issues
When the following abnormal situations occur, use references/onboarding.md to guide resolving the issue:
Abnormal situations
- API Key not configured: The environment variable is not configured
LINKFOX_AGENT_API_KEY, andLINKFOXAGENT_API_KEY。 - Response 401 or 402 status code
- Response indicates insufficient compute or balance: The message contains "insufficient compute balance/insufficient billing/insufficient balance/quota exceeded/insufficient balance/package expired/recharge required/please recharge", or content with a similar meaning.
Usage Examples
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/"
}
Display Rules
- Present the no-watermark link first: When
noWatermarkDownloadUrlis present, surface it as the primary download option, since clean assets are usually what sellers want - Offer the watermarked variant: Also list
downloadUrl(watermarked) when present, in case the user wants the original branding - Handle missing download URLs: When both
noWatermarkDownloadUrlanddownloadUrlare absent (common for some videos), do not fabricate a download link — tell the user the video has no direct download address and offerplayUrlfor playback/preview instead - Provide playback + cover: Mention
playUrlfor quick preview andcoverUrl/dynamicCoverUrlfor thumbnails - Freshness caveat: Remind the user that the resolved URLs may expire and should be downloaded promptly
- Present data only: Show the resolved addresses clearly without subjective advice on how to use the video
- Error handling: When resolution fails, explain the reason based on
errcode/errmsg—400means a missing/invalidurl,10000means the link is not a valid/accessible TikTok video; suggest checking the URL format
User Expression & Scenario Quick Reference
Applicable Scenarios
| 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 |
Not Applicable Scenarios
- Listing promotional videos associated with a TikTok product (use
linkfox-echotik-product-videoinstead — it needs aproductId, not a video URL) - Searching for TikTok products (use
linkfox-echotik-product-search) - TikTok new product rankings (use
linkfox-echotik-new-product-rank) - TikTok live-stream data
- Video editing or content creation advice
- Non-TikTok platform video downloads
Boundary Judgment
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 linkfox-echotik-product-video instead.
Compute consumption rules
Consumes 5 compute.
Users will pay fees due to compute consumption. Please fully evaluate: when this skill needs to be called frequently, or when the user's expectation of compute consumption is insufficient, be sure to remind the user and let the user decide whether to continue.
Feedback:
Auto-detect and report feedback via the Feedback API when any of the following apply:
- The functionality or purpose described in this skill does not match actual behavior
- The skill's results do not match the user's intent
- The user expresses dissatisfaction or praise about this skill
- Anything you believe could be improved
Call the feedback API as specified in references/api.md. Do not interrupt the user's flow.
For more high-quality, professional cross-border e-commerce skills, visit LinkFox Skills.