Communitygithub.com

vertical-reels-video-studio

Recette de base pour une vidéo verticale explicative (9:16) pour Instagram Reels, Threads, TikTok ou YouTube Shorts, construite avec Remotion et une voix off optionnelle ElevenLabs.

Qu'est-ce que vertical-reels-video-studio ?

Ce skill fournit un pipeline complet et prêt à l'emploi pour créer des vidéos verticales courtes (30 à 90 secondes) destinées aux plateformes comme Instagram Reels, TikTok, YouTube Shorts et Threads. Il automatise l'ensemble du processus : recherche et vérification des faits, rédaction d'un script (soumis à validation utilisateur), génération de voix off via ElevenLabs (ou enregistrement local), construction de scènes texte cinétiques avec Remotion (1080×1920, 30 fps), export optimisé pour les Reels (H.264, −14 LUFS), et livraison des fichiers finaux (MP4, vignettes, sous-titres SRT, légendes). L'utilisateur configure une fois ses paramètres (pseudo, watermark, CTA, voix) via un fichier `brand.config.json`, et le skill vérifie la qualité avant chaque livraison. Idéal pour les développeurs et créateurs qui veulent produire du contenu vidéo professionnel sans quitter leur terminal.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ahmadaryanto/vertical-reels-video-studio/tree/HEAD/skills/vertical-reels-video-studio

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Vertical Reels Video Studio (basique)

Un pipeline simple et étape par étape pour une vidéo verticale de 30 à 90 secondes.

0. Premier lancement : demander les paramètres de l'utilisateur (ne jamais utiliser les valeurs par défaut)

Avant la première vidéo, si brand.config.json est manquant, contient "configured": false, ou contient encore @yourhandle, demandez à l'utilisateur (une question à la fois) et enregistrez les réponses dans brand.config.json :

  1. Identifiants sociaux : Instagram, Threads, TikTok, X (ceux qu'ils utilisent).
  2. Texte du watermark (exactement tel qu'il doit apparaître, par ex. @yourhandle ou @ig / @x) et position (bottom-center, bottom-left, top-left, top-right).
  3. CTA texte et le pseudo qu'il mentionne.
  4. Voix : leur identifiant de voix ElevenLabs + modèle + langue, ou "J'enregistrerai ma propre voix". La clé API n'est demandée que comme secret ELEVENLABS_API_KEY.
  5. Langue et ton ; comment la voix doit prononcer leur nom/pseudo.

Définissez ensuite "configured": true. N'inventez jamais de pseudo, ne réutilisez jamais celui d'un autre (y compris celui de l'auteur de ce kit), et ne rendez jamais un watermark qui contient encore @yourhandle.

Les espaces réservés ci-dessous correspondent à brand.config.json :

Espace réservéClé de configurationSignification
{{HANDLE}}handles.*Les pseudos de l'utilisateur
{{WATERMARK}}watermark.text, watermark.positionTexte et position du watermark, tels que fournis par l'utilisateur
{{LANGUAGE}}language, toneLangue et ton de la voix off et des sous-titres
{{VOICE_ID}}voice.voiceIdLa voix choisie par l'utilisateur
{{TTS_MODEL}}voice.modelModèle ElevenLabs, par ex. eleven_multilingual_v2
{{CTA}}cta.text, cta.handleL'appel à l'action de l'utilisateur

La clé API provient toujours de la variable d'environnement ELEVENLABS_API_KEY. Ne l'imprimez jamais, ne l'écrivez jamais dans un fichier qui est commité.

Le déroulement

  1. Demander les paramètres de l'utilisateur (premier lancement) → 1. Sujet → 2. Recherche et vérification des faits → 3. Brouillon du script → 4. Approbation de l'utilisateur →
  2. Voix off → 6. Chronométrage → 7. Construction des scènes → 8. Rendu → 9. Export Reels-safe →
  3. AQ → 11. Vignettes et légendes → 12. Livraison. Si l'utilisateur demande une modification, revenez à l'étape la plus ancienne que la modification impacte (une nouvelle ligne de texte implique une nouvelle voix off pour cette ligne uniquement).

1–2. Sujet et recherche

  • Une histoire par vidéo. Écrivez pour un débutant.
  • Vérifiez chaque chiffre, date, nom et citation par rapport à une source primaire (page officielle, publication de l'auteur, capture d'écran datée). Supprimez tout ce que vous ne pouvez pas vérifier. N'inventez jamais de faits.
  • Conservez un court sources.md avec les liens utilisés.

3–4. Brouillon, puis attente

  • Proposez 2 à 4 options d'accroche pour les 2 premières secondes (une question ou un contraste surprenant).
  • Écrivez un tableau chronométré : temps | texte à l'écran | voix off. Visez 45–65 s, jamais plus de 90 s.
  • Arrêtez-vous et envoyez le brouillon à l'utilisateur. Ne générez pas d'audio et ne faites pas de rendu tant qu'il ne l'a pas approuvé.

5. Voix off

  • Générez le script approuvé avec {{VOICE_ID}} (voir scripts/tts.py). Conservez deux textes : le texte affiché (ce que montrent les sous-titres) et le texte TTS (orthographié pour la voix, par ex. A.I. pour "IA", les nombres écrits en toutes lettres).
  • Écoutez-le. Régénérez uniquement les lignes qui sont incorrectes. Ne laissez jamais la même ligne deux fois dans l'audio.
  • Si vous n'avez pas de compte ElevenLabs, enregistrez votre propre voix. Cela fonctionne tout aussi bien.

6. Chronométrage

  • Obtenez les horodatages des mots (alignement ElevenLabs, ou Whisper sur l'audio) et enregistrez timing.json : {duration, words:[{w,s,e}], scenes:[{id,start}]}.
  • Les animations commencent à l'image où le mot est prononcé : frame = Math.round(seconds * 30).

7. Construction des scènes (Remotion, 1080 × 1920, 30 fps)

  • Fond sombre, une couleur de texte claire, une couleur d'accent. Un grand titre par temps fort.
  • Texte cinétique : chaque mot du titre apparaît en fondu lorsqu'il est prononcé (échelle 0,6 → 1 avec un léger dépassement).
  • Un nouvel élément à l'écran toutes les 1,5 à 3 s. Maintenez les chiffres au moins 1,5 s pour que les gens puissent les lire.
  • Le texte d'accroche est visible dès l'image 0, afin que la première image fonctionne comme une vignette fixe.
  • Zone de sécurité : gardez le texte entre y = 200 et y = 1500. Placez le texte {{WATERMARK}} en petit à la position choisie par l'utilisateur (par défaut en bas : y ≈ 1430).
  • Utilisez des captures d'écran et logos réels avec crédit. Étiquetez les maquettes "illustration".

8–9. Rendu et export

npx remotion render src/index.ts <CompositionId> out/raw.mp4
bash scripts/reels-export.sh out/raw.mp4 out/final-reels.mp4

L'export produit : 1080 × 1920, H.264 High ≤ 4.1, yuv420p (TV range), BT.709, constant 30 fps, 8–12 Mbps, AAC 48 kHz, +faststart, −14 LUFS / ≤ −1 dBTP. Gardez la vidéo sous 90 s.

10. AQ (toujours, avant de livrer)

Exécutez bash scripts/qa-check.sh out/final-reels.mp4 et regardez la sortie de scripts/contact-sheet.sh. Vérifiez :

  • Audio : les mots sont clairs, rien n'est coupé, aucune ligne répétée, volume ≈ −14 LUFS.
  • Vidéo : aucun texte coupé, rien en dehors de la zone de sécurité, aucun clip figé, pas de première ou dernière seconde vide.

Corrigez et refaites le rendu avant d'envoyer quoi que ce soit.

11–12. Vignettes, légendes, livraison

  • 2 à 4 options de vignettes, 1080 × 1920 plus une version grille 1080 × 1350. Une grande accroche, une image principale, au plus 2–3 petites cartes numérotées. Gardez le texte clé dans le centre 1080 × 1080.
  • Légendes : Instagram (accroche, corps, {{CTA}}, quelques hashtags), Threads (plus court, pas de hashtags), TikTok.
  • Livrez le MP4 final, un petit aperçu (< 40 Mo), les vignettes, les légendes, un fichier .srt et la liste des sources.

Règles

  • Ne postez, ne téléchargez et n'achetez jamais rien. Remettez les fichiers à l'utilisateur.
  • Pas de faits inventés. Créditez chaque source et chaque auteur open source que vous montrez.
  • Utilisez uniquement de la musique, des clips et des voix pour lesquels vous avez les droits d'utilisation.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Skills associés