Download-video-tiktok

v1.0.0

Télécharge automatiquement la dernière vidéo (ou les N dernières) d'un compte TikTok public via yt-dlp. Utilise ce skill dès que l'utilisateur mentionne TikT...

0· 449· 1 versions· 0 current· 0 all-time· Updated 23h ago· MIT-0
bystx@stoxca

Install

openclaw skills install download-video-tiktok

OpenClaw — TikTok Video Downloader

Vue d'ensemble

OpenClaw permet de télécharger la dernière vidéo (ou plusieurs) d'un compte TikTok public via yt-dlp. Avant tout code ou exécution, lis cette documentation complète.

Prérequis

Vérifier et installer yt-dlp si nécessaire :

pip install -U yt-dlp --break-system-packages 2>/dev/null || pip install yt-dlp
yt-dlp --version

Types d'opérations

Ce skill supporte quatre types d'opérations. Détermine lesquelles l'utilisateur souhaite :

  1. Download rapide — Téléchargement de la dernière vidéo d'un compte
  2. Download multiple — Téléchargement des N dernières vidéos
  3. Métadonnées seules — Récupérer infos/stats sans télécharger la vidéo
  4. Vidéo directe — Télécharger depuis une URL de vidéo spécifique

Workflows

1. Download Rapide — Dernière vidéo d'un compte

Quand l'utiliser : L'utilisateur donne un @username ou une URL de profil

Étapes :

  1. Normaliser le username (supprimer le @ si présent)
  2. Construire l'URL du profil : https://www.tiktok.com/@{username}
  3. Récupérer les métadonnées de la dernière vidéo (--playlist-items 1 --no-download)
  4. Afficher les infos à l'utilisateur (titre, date, durée)
  5. Télécharger avec la commande optimale
  6. Confirmer le succès et donner le chemin du fichier

Commande :

yt-dlp \
  --playlist-items 1 \
  --format "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best" \
  --merge-output-format mp4 \
  --output "/home/claude/%(uploader_id)s_%(upload_date)s_%(id)s.%(ext)s" \
  "https://www.tiktok.com/@{username}"

Vérifier le résultat :

ls -lh /home/claude/*.mp4

2. Download Multiple — N dernières vidéos

Quand l'utiliser : L'utilisateur veut plusieurs vidéos (--playlist-items 1-N)

Étapes :

  1. Demander combien de vidéos (si non précisé, défaut = 5)
  2. Construire la commande avec --playlist-items 1-N
  3. Ajouter --download-archive pour éviter les doublons
  4. Télécharger avec progression
  5. Lister les fichiers téléchargés

Commande :

yt-dlp \
  --playlist-items 1-{N} \
  --format "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best" \
  --merge-output-format mp4 \
  --download-archive /home/claude/tiktok_archive.txt \
  --output "/home/claude/%(uploader_id)s/%(upload_date)s_%(id)s.%(ext)s" \
  "https://www.tiktok.com/@{username}"

3. Métadonnées seules

Quand l'utiliser : L'utilisateur veut les infos sans télécharger

Lire : references/metadata.md pour les champs disponibles et la commande complète

Commande rapide :

yt-dlp \
  --playlist-items 1 \
  --skip-download \
  --write-info-json \
  --print "%(uploader_id)s | %(upload_date)s | %(duration)ss | %(view_count)s vues | %(title)s" \
  "https://www.tiktok.com/@{username}"

4. Vidéo directe depuis une URL

Quand l'utiliser : L'utilisateur fournit une URL de vidéo directe

Commande :

yt-dlp \
  --format "bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best" \
  --merge-output-format mp4 \
  --output "/home/claude/%(uploader_id)s_%(id)s.%(ext)s" \
  "{url_de_la_video}"

Gestion des erreurs courantes

ErreurCauseSolution
HTTP Error 403Rate limiting TikTokAjouter --sleep-interval 3 --max-sleep-interval 6
Unable to extractyt-dlp obsolètepip install -U yt-dlp --break-system-packages
Private accountCompte privéUtiliser --cookies-from-browser chrome si connecté
No video formatsGéo-restrictionAjouter --geo-bypass
Sign in requiredContenu restreintFournir cookies via --cookies cookies.txt
Merge requires ffmpegffmpeg absentapt-get install ffmpeg -y

Normalisation du username

# Accepte tous ces formats :
# @moncompte  →  moncompte
# moncompte   →  moncompte
# https://www.tiktok.com/@moncompte  →  moncompte

def normalize(input_str):
    if "tiktok.com/@" in input_str:
        return input_str.split("tiktok.com/@")[-1].split("/")[0]
    return input_str.lstrip("@").strip()

Fichiers de référence

Charge ces références selon le besoin :

references/metadata.md

  • Quand : Récupération de métadonnées, champs JSON disponibles
  • Contient : Tous les champs yt-dlp disponibles, formats de print, export JSON

references/advanced.md

  • Quand : Suppression watermark, cookies, proxy, headers personnalisés
  • Contient : Techniques avancées, contournement restrictions, options yt-dlp complètes

KBLICENSE.txt

  • Quand : Questions sur les droits d'utilisation ou les CGU
  • Contient : Conditions d'utilisation, usages autorisés et interdits

Directives de sortie

  • Toujours afficher les métadonnées avant le téléchargement (titre, date, durée)
  • Confirmer le chemin du fichier téléchargé
  • Indiquer la taille du fichier final
  • En cas d'erreur, proposer la solution directement

Exemples de requêtes

Download rapide :

  • "Télécharge la dernière vidéo de @lecompte"
  • "Récupère le dernier post TikTok de moncompte"
  • "Download la dernière vidéo de https://www.tiktok.com/@user"

Download multiple :

  • "Télécharge les 5 dernières vidéos de @user"
  • "Récupère les 10 dernières vidéos du compte @toto"

Métadonnées :

  • "Donne-moi les infos de la dernière vidéo de @user"
  • "Quel est le titre et la date du dernier post de @compte"

URL directe :

Version tags

latestvk97bhajyjkt4efz3604wde6at581wpb2