tiktok-downloader

Download TikTok videos by URL or hashtag. Handles 403 errors, cookies, and user-agent rotation. Use for downloading TikTok videos, batch downloading from a l...

kgc-yj

@kgc-yj

Install

$ openclaw skills install @kgc-yj/tiktok-downloader

TikTok Downloader

This skill provides a robust workflow for downloading TikTok videos, overcoming common anti-bot measures like 403 Forbidden errors and login requirements.

Core Workflow

1. Single Video Download

To download a specific TikTok video, use the provided script:

/home/ubuntu/skills/tiktok-downloader/scripts/download_tiktok.sh <VIDEO_URL> [OUTPUT_DIR]

2. Handling 403 Forbidden Errors

If yt-dlp fails with a 403 error, follow these steps:

  1. Navigate to the URL using the browser tool to establish a session and cookies.
  2. Run the script again. It is pre-configured to extract cookies from the browser's data directory (/home/ubuntu/.browser_data_dir).

3. Batch Downloading

For multiple videos:

  1. Save all URLs to a text file (e.g., urls.txt).
  2. Use yt-dlp with the following recommended flags:
    yt-dlp --no-warnings \
      --cookies-from-browser "chromium:/home/ubuntu/.browser_data_dir" \
      --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36" \
      --add-header "Referer:https://www.tiktok.com/" \
      -o "%(uploader)s - %(title).80s.%(ext)s" \
      --batch-file urls.txt
    

Best Practices

  • Browser Navigation: Always visit at least one TikTok video page in the browser before starting a batch download to ensure cookies are fresh.
  • Hashtag Pages: TikTok hashtag pages often require login. If a hashtag page fails to load, ask the user to log in via the browser or search for individual video URLs using the search tool.
  • Output Naming: Use %(uploader)s - %(title).80s.%(ext)s to keep filenames organized and avoid filesystem length limits.
  • Rate Limiting: For large batches, add sleep between downloads to avoid IP bans.

Top skills in this category

YouTube

@byungkyu

YouTube Data API integration with managed OAuth. Search videos, manage playlists, access channel data, and interact with comments. Use this skill when users want to interact with YouTube. For other third party apps, use the api-gateway skill (https://clawhub.ai/byungkyu/api-gateway). Calls run through the `maton` CLI with OAuth login, or over raw HTTP with a Maton API key where the CLI cannot be installed. Every call is authenticated as the user's connection and reaches only what that connection's authorization allows, which the provider enforces on every request; the endpoints documented here are the ones this skill uses, and any other endpoint of this app needs the user to ask for it by name. Default to read and list calls, and confirm every write or new connection with the user. This file also documents the three constructs that turn a YouTube connection into automation, in the order they are used: the connection (the first step), a hosted function that runs a YouTube action through the Maton SDK, and a trigger that calls that function on a schedule or on an event. Those sections are the platform's own reference text, shared with the api-gateway skill, with YouTube examples; they add no YouTube capability - YouTube is not an event source, a trigger cannot read YouTube data, and the files under `references/<source>/triggers.md` are the platform's event catalogues for the sources Maton offers (time, Calendly, GitHub, Gmail, HubSpot, Linear, Notion, Slack, Stripe).

14529k

Edge TTS

@i3130002

Text-to-speech conversion using node-edge-tts npm package for generating audio from text. Supports multiple voices, languages, speed adjustment, pitch control, and subtitle generation. Use when: (1) User requests audio/voice output with the "tts" trigger or keyword. (2) Content needs to be spoken rather than read (multitasking, accessibility, driving, cooking). (3) User wants a specific voice, speed, pitch, or format for TTS output.

3323k

Antigravity Image Generator

@ipedrax

Generate images using the internal Google Antigravity API (Gemini 3 Pro Image). High quality, native generation without browser automation.

2015k

Social Media Scheduler

@1kalin

Plan, draft, and organize social media content across platforms. Create content calendars, write platform-optimized posts, and maintain consistent posting schedules.

1414k

elevenlabs-voices

@robbyczgw-cla

High-quality voice synthesis with 18 personas, 32 languages, sound effects, batch processing, and voice design using ElevenLabs API.

168.2k