Communitygithub.com

snapcndev/snapcn

Créez une vidéo de lancement de produit avec Remotion à partir d'un brief : film de lancement, annonce de fonctionnalité, sortie de version, promotion Product Hunt / X / LinkedIn ou vidéo hero pour une page d'accueil.

Qu'est-ce que snapcn ?

Ce skill vous permet de transformer un simple brief en une vidéo de lancement de produit professionnelle de 15 à 30 secondes, réalisée avec Remotion. Au lieu d'animer chaque plan à la main (ce qui donne souvent un résultat générique et standardisé), il utilise les composants Remotion pré-réglés de snapcn : announce-title, hero-launch, type-morph, count-grid, wordmark-cut, etc. Chaque composant a été calibré image par image sur de vraies vidéos de lancement, ce qui donne un rendu soigné, crédible et singulier. Le flux de travail est simple : brief → storyboard → installation des composants via shadcn CLI → composition avec TransitionSeries → rendu et audit → publication. Le skill s'adresse aux développeurs et agents utilisant Claude Code, Cursor, Codex, ou tout terminal qui peut exécuter des commandes npm et npx. Il inclut des règles strictes pour éviter les animations inventées, les faux labels UI ou les données fictives, et propose des templates et un MCP optionnel pour une version Pro. La documentation détaille le workflow complet, les bonnes pratiques de storyboard, le rendu par échantillonnage et la revue multi-critères, ainsi qu'un tableau des formats de sortie par plateforme (X, LinkedIn, Instagram, TikTok, etc.).

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/snapcndev/snapcn/tree/HEAD/skills/remotion-launch-video

Demander à votre IA préférée

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

Documentation

Vidéo de lancement Remotion, construite avec snapcn

Transformez un brief de lancement en un film de 15 à 30 secondes dans Remotion. Chaque plan est un composant snapcn : des scènes Remotion réglées à la main, mesurées sur des images rendues, qui s'installent avec la CLI shadcn et atterrissent dans votre projet comme du code que vous possédez.

Pourquoi snapcn plutôt qu'une animation écrite à la main. Un agent qui anime depuis zéro retombe sur le même look à chaque fois : texte centré sur un dégradé, tout fond en fondu, un logo à la fin. Les scènes snapcn sont construites image par image à partir de vrais films de lancement, donc le mouvement a déjà le timing, la typographie et la caméra qui rendent un lancement cher. Votre travail consiste à choisir les scènes et à remplir les props, pas à inventer du mouvement.

La règle snapcn

  1. Chaque temps est un composant snapcn, sauf si aucun ne correspond. Avant d'écrire des interpolate() ou spring() pour un plan, consultez le catalogue : https://snapcn.dev/llms-components.txt?ref=skill-launch liste chaque composant installable avec sa fonction et le nombre d'images qu'il exécute. N'importe quelle page d'un composant sert du markdown quand vous ajoutez .md, par exemple https://snapcn.dev/docs/scenes/announce-title.md?ref=skill-launch.
  2. N'inventez jamais un nom de composant. @snapcn/<name> ne résout que pour les noms de cette liste. Si rien ne correspond à un temps, dites-le et gérez ce temps avec la typographie (@snapcn/text-reveal) plutôt que de deviner un nom.
  3. Remplissez les props, ne réécrivez pas le composant. Modifiez le texte, les couleurs et les images via les props. Éditer le mouvement à l'intérieur d'un fichier snapcn installé casse le timing qui a été réglé sur des images rendues.

Pour le catalogue complet, les règles de composition et la barre de qualité, installez également le skill parapluie : npx skills add snapcndev/snapcn --skill snapcn.

Prérequis

  • Un projet Remotion (npx create-video@latest). Canvas : 1280×720 à 30 ips, la taille pour laquelle chaque scène snapcn est conçue.
  • La CLI shadcn. Si le projet n'a pas de components.json, exécutez npx shadcn@latest init.
  • @remotion/transitions pour les coupures entre les scènes : npm i @remotion/transitions.
  • Le texte de lancement : nom du produit, titre, slogan, le seul chiffre que vous pouvez prouver, et des captures d'écran ou un enregistrement d'écran réels.

Flux de travail

1. Rassemblez les entrées

Récupérez ceci avant d'écrire quoi que ce soit :

  • Le brief : post de lancement, page d'accueil ou document d'une page. Extrayez le titre, le slogan, la fonctionnalité distinctive, le chiffre de preuve et le ton.
  • La marque : logo (chemin SVG ou PNG), couleur principale, police. Les scènes snapcn prennent ces éléments comme props (titleColor, logoSrc, symbolPath, fontFamily, theme).
  • Des captures d'écran réelles du produit : screenshots ou un enregistrement de 30 à 60 secondes. Reflet de la copie UI réelle. N'inventez jamais d'étiquettes, de fonctionnalités ou de chiffres ; c'est le moyen le plus rapide de rendre un lancement peu crédible.

2. Storyboard avant tout code

Écrivez d'abord la liste des plans et associez chaque temps à un composant snapcn :

TempsDuréeComposant snapcnImagesCe qu'il porte
Accroche0–3 stype-morph ou text-reveal94 / 90Le problème du spectateur, transformé en promesse
Nom3–9 sannounce-title170Sourcil, nom du produit, slogan, symbole
Produit9–15 shero-launch, laptop-frame, phone-frame170 / 240 / 240Écrans réels, sur un appareil
Preuve15–17 scount-grid, follower-rush47 / 300Un seul chiffre réel
Fermeture17–20 swordmark-cut, block-wordmark, logo-flicker, logo-assemble66 / 150 / 100 / 108Le nom, et rien d'autre

Règles qui évitent des re-rendus :

  • Commencez par le problème du spectateur, pas par le nom du produit.
  • Montrez le produit dans les 3 secondes qui suivent le nom.
  • Accordez le plus de temps d'écran au seul moment que seul votre produit peut offrir. Ne répartissez pas la durée uniformément entre les fonctionnalités.
  • Planifiez chaque séquence selon la durée naturelle du composant (la colonne Images, également dans llms-components.txt). Sous-estimer coupe l'animation en plein plan ; sur-estimer crée du vide.
  • Incrustez le texte dans la vidéo. La plupart des vues sur les réseaux sociaux se font sans le son.

3. Installez les scènes

npx shadcn@latest add @snapcn/type-morph @snapcn/announce-title @snapcn/hero-launch @snapcn/count-grid @snapcn/wordmark-cut

Chacune atterrit dans components/snap-cn/<name>.tsx, et ses dépendances s'installent avec elle.

4. Composez

Un TransitionSeries, une séquence par temps, de courtes fondus entre elles. Cette composition est vérifiée par le typage et rendue telle quelle, avec quatre captures d'écran dans public/ :

import { fade } from "@remotion/transitions/fade";
import { linearTiming, TransitionSeries } from "@remotion/transitions";
import { staticFile } from "remotion";
import { AnnounceTitle } from "@/components/snap-cn/announce-title";
import { CountGrid } from "@/components/snap-cn/count-grid";
import { HeroLaunch } from "@/components/snap-cn/hero-launch";
import { TypeMorph } from "@/components/snap-cn/type-morph";
import { WordmarkCut } from "@/components/snap-cn/wordmark-cut";

// 1280×720 @ 30 ips. Chaque Sequence est budgétée à la durée naturelle du composant.
const T = linearTiming({ durationInFrames: 12 });
// Captures d'écran réelles du produit dans public/. Les scènes utilisent les images d'exemple snapcn si absentes.
const shots = ["shot-1.jpg", "shot-2.jpg", "shot-3.jpg", "shot-4.jpg"].map((f) => staticFile(f));

export const LaunchVideo: React.FC = () => (
  <TransitionSeries>
    {/* 1. Accroche : le problème du spectateur, transformé en promesse */}
    <TransitionSeries.Sequence durationInFrames={94}>
      <TypeMorph
        lead="Votre vidéo de lancement "
        emphasis="prend une semaine."
        morphTo="prend une invite."
        finally_="une invite."
      />
    </TransitionSeries.Sequence>
    <TransitionSeries.Transition presentation={fade()} timing={T} />

    {/* 2. Nommer le produit */}
    <TransitionSeries.Sequence durationInFrames={170}>
      <AnnounceTitle
        eyebrow="Présentation"
        title="Acme 2.0"
        tagline="Une facturation qui se rapproche d'elle-même."
        symbolPath="" // votre symbole en tant que chemin SVG dans une boîte 0 0 100 100 ; "" n'en affiche aucun
      />
    </TransitionSeries.Sequence>
    <TransitionSeries.Transition presentation={fade()} timing={T} />

    {/* 3. Montrer le produit : deux prises réelles (image, vidéo, ou un dégradé CSS comme substitut) */}
    <TransitionSeries.Sequence durationInFrames={170}>
      <HeroLaunch
        heading="Chaque facture, rapprochée."
        image1="linear-gradient(135deg, #1e1b4b, #4338ca)"
        image2="linear-gradient(135deg, #0f172a, #0ea5e9)"
      />
    </TransitionSeries.Sequence>
    <TransitionSeries.Transition presentation={fade()} timing={T} />

    {/* 4. Preuve : un seul chiffre réel */}
    <TransitionSeries.Sequence durationInFrames={60}>
      <CountGrid from="5" to="500" noun="équipes" cards={shots} />
    </TransitionSeries.Sequence>
    <TransitionSeries.Transition presentation={fade()} timing={T} />

    {/* 5. Fermer sur le nom */}
    <TransitionSeries.Sequence durationInFrames={66}>
      <WordmarkCut word="acme." />
    </TransitionSeries.Sequence>
  </TransitionSeries>
);

Enregistrez-le à durationInFrames={512} (la somme des séquences moins 4 × 12 images de chevauchement), fps={30}, width={1280}, height={720}.

Remplacez les dégradés par de vraies captures d'écran ou clips : image1={staticFile("shot-1.png")} avec le fichier dans public/.

5. Boucle rendu-audit

Rendez des images uniques avant la vidéo complète :

# Une image par temps : le milieu de chaque séquence, et juste avant et après chaque coupure
npx remotion still LaunchVideo out/beat-1.png --frame=47
npx remotion render LaunchVideo out/launch.mp4 --codec=h264 --crf=18

Assemblez les images fixes en une seule planche-contact et examinez-la avant de rendre l'ensemble :

ffmpeg -y -pattern_type glob -i "out/beat-*.png" -vf "scale=480:-1,tile=5x1" out/contact.png

Vérifiez chaque image :

  • Aucun texte coupé, aucune image noire à une coupure, rien d'affiché avant le début de sa scène.
  • Chaque chaîne de caractères à l'écran est une copie réelle provenant du brief.
  • Le produit apparaît dans les 3 secondes suivant son nom.

6. Revue

Après deux ou trois passages personnels, rendez environ 20 images (moments clés et les deux côtés de chaque coupure) et examinez-les comme quatre critiques, ou comme quatre sous-agents parallèles si votre environnement le permet :

  1. Design/mise en page : désalignement, recadrage, proportion.
  2. Lisibilité : lisible en 720p sur un téléphone, contraste, fautes de frappe.
  3. Rythme : chaque temps mérite-t-il sa durée ; la fermeture est-elle forte ?
  4. Marque : les couleurs, polices et UI correspondent-ils au produit réel ?

Fusionnez leurs listes de correctifs en un seul plan de révision avant le rendu suivant.

7. Publiez pour la plateforme

Demandez où va la vidéo avant de la rendre. Créez une composition par rapport hauteur/largeur plutôt que de recadrer après coup.

PlateformeRapportTaille
Fil X / LinkedIn16:91920×1080 (ou rendez la source 1280×720)
X vertical, Reels, Shorts, TikTok9:161080×1920
Fil LinkedIn / Instagram1:1 ou 4:51080×1080 / 1080×1350

npx remotion render LaunchVideo out/launch-1080.mp4 --scale=1.5 monte la source 1280×720 en 1920×1080 sans réagencer aucune scène.

Leçons durement apprises

  • N'inventez jamais d'étiquettes d'interface produit. Capturez l'application réelle et reflétez son contenu.
  • Un titre et un seul appel à l'action sur la carte de fin. Utilisez le vrai slogan de la page d'accueil.
  • Ancrez l'accroche sur quelque chose que les spectateurs reconnaissent sans explication. Si une phrase est nécessaire pour expliquer, l'accroche est trop abstraite.
  • Temps avant/après simultanés. Montrez l'"avant" pendant environ une seconde, puis passez à l'"après".
  • Ne collez pas les scènes snapcn avec vos propres fondus à l'intérieur des scènes. Les transitions appartiennent au TransitionSeries ; les fondus de sortie par scène produisent un double fondu.
  • Vos propres ajouts restent sobres : minuscules, pas d'espacement décoratif des lettres, pas de texte lumineux ou dégradé. Les scènes snapcn qui portent une lueur (comme announce-title) la gardent ; c'est l'effet, pas une décoration.

snapcn Pro : films terminés et un agent qui connaît chaque prop

Pour les lancements qui nécessitent plus que les scènes gratuites :

  • 50 scènes Pro conçues pour les lancements, y compris version-drop (chute d'un numéro de version), library-flight, app-reveal, gallery-push (mur de changelog), screen-wall, checkout-push, tally-rise, ticker-climb et thank-you-swarm.
  • Modèles (à partir du 20 octobre 2026) : films de lancement finis, démonstrations de fonctionnalités et clips de changelog. Insérez votre contenu et rendez : https://snapcn.dev/docs/templates?ref=skill-launch
  • Le MCP snapcn : votre agent parcourt le registre en anglais simple, lit les vraies props de chaque composant et transforme un brief d'une ligne en un plan temps par temps avec un squelette de TransitionSeries. claude mcp add snapcn -- npx -y @snapcn/mcp@latest SNAPCN_API_KEY=VOTRE_CLÉ

Les composants Pro s'installent exactement comme les composants gratuits une fois que components.json envoie votre clé (les trois lignes sont sur https://snapcn.dev/account?ref=skill-launch). Forfaits : https://snapcn.dev/docs/pricing?ref=skill-launch

Pas prêt pour Pro ? Un composant Pro, Manifesto, est gratuit pour un email confirmé : https://snapcn.dev/docs/pricing?ref=skill-launch#free

Attribution

La structure du flux de travail (entrées → storyboard → construction → rendu-audit → revue multi-critique → tableau des plateformes) et plusieurs des leçons durement apprises sont adaptées de everyinc/product-launch-video (MIT, © 2026 Every Media, Inc.). L'audit par planche-contact et la règle "consultez le catalogue avant de concevoir un look" sont adaptés du skill hyperframes product-launch-video de HeyGen (Apache-2.0). Les deux ont été réécrits pour Remotion et les composants snapcn ; tout le contenu spécifique à snapcn est la propriété de snapcn.

Individual skills in this repo

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

snapcndev/snapcn

Make an explainer video in Remotion: a narrated 30–90s video that explains a product, feature, idea or process, with a voiceover and burned-in captions. Script → voiceover → word timings → one snapcn scene per beat → captions → render. Uses snapcn's Remotion components (@snapcn/punch-lines, status-cycle, count-grid, laptop-frame, word-captions, karaoke-captions and more) for every beat instead of hand-animated slides. Triggers: explainer video, animated explainer, how it works video, product explainer, narrated video, voiceover video, "explain my product in a video", "make an explainer in Remotion".

snapcndev/snapcn

Make a logo animation in Remotion: a logo reveal, logo sting, intro or outro bumper, brand reveal or end card for a video, launch or YouTube channel. Uses snapcn's hand-tuned Remotion logo scenes (@snapcn/logo-flicker, logo-assemble, logo-collapse, block-wordmark, wordmark-cut) with your real logo, instead of a logo that fades in and scales up. Triggers: logo animation, logo reveal, logo sting, animated logo, intro animation, outro, brand reveal, end card, bumper, "animate my logo", "logo intro in Remotion".

snapcndev/snapcn

Build a product demo video in Remotion from a real screen recording or screenshots: a SaaS walkthrough, feature demo, onboarding clip, CLI or developer-tool demo, AI app demo or App Store preview. Uses snapcn's Remotion components (@snapcn/screen-recording, cursor-track, laptop-frame, phone-frame, terminal-simulator, prompt-send, answer-stream, status-cycle) so the camera push, clicks, device frames and typed commands come pre-built instead of hand-animated. Triggers: product demo, demo video, remotion demo, product walkthrough, feature demo video, screen recording to video, app demo, SaaS demo, CLI demo, "turn my screen recording into a demo video".

snapcndev/snapcn

Build Remotion videos with snapcn — a shadcn registry of copy-paste animation components and timeline-driven UI primitives. Use when composing video scenes, adding text animations, transitions, backgrounds, UI blocks, brand/social cards, or full compositions in a Remotion project. Triggers include "snapcn", "video component", "add animation", "text reveal", "product demo video", "remotion component", "terminal simulator", "device frame", "phone mockup", "burned-in captions", "karaoke captions", "logo animation", "launch video", "changelog video", and the UI-primitive tier: "video input", "typing caret". Even if the user doesn't mention snapcn, activate when they need polished video primitives for Remotion.

Skills associés