Communitygithub.com

Pixerate/pixerate-video-editor

Comment éditer des projets vidéo dans l'éditeur non linéaire Pixerate via ses outils d'agent.

Qu'est-ce que pixerate-video-editor ?

Cette compétence, `pixerate-video-editor`, permet aux agents IA de contrôler l'éditeur vidéo non linéaire Pixerate. Elle offre un ensemble complet d'outils pour construire et affiner un montage : ajout de ressources vidéo, audio et image, montage brut sur des pistes vidéo et audio, découpage, insertion, suppression, déplacement, coupes J/L, transitions (fondu, fondu enchaîné, volet), animations par images clés, effets, plans d'édition, et export. Inclut des méthodes de travail détaillées pour un flux de production professionnel : lecture du projet, importation des médias, montage en batch, vérification des erreurs, export final. La compétence met l'accent sur de bonnes pratiques : couper sur l'action, éviter les jump cuts, utiliser les transitions avec parcimonie, et vérifier la conformité audio. Elle est conçue pour être utilisée avec des plateformes comme Claude Code, Cursor ou Codex, et nécessite que des outils vidéo spécifiques (tels que `get_video_project`, `edit_video`) soient disponibles.

Compatible avec~Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/Pixerate/editor/tree/HEAD/packages/core/skills/pixerate-video-editor

Demander à votre IA préférée

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

Documentation

Pixerate video editor

Un projet est un simple JSON : taille de l'image, fps, un arrière-plan, des ressources (fichiers vidéo, audio ou image avec un src et, pour la vidéo et l'audio, une duration), des pistes listées de haut en bas (les pistes vidéo contiennent les médias, les titres et les clips de couleur ; les pistes audio contiennent le son ; une piste vidéo antérieure se superpose à une piste ultérieure), et des marqueurs. Un clip a un start et une duration sur la timeline ; un clip média a également un point in dans sa ressource, speed, volume, muted ; chaque clip peut avoir fadeIn, fadeOut, opacity, fit et transform, et une transition depuis le clip qui se termine là où il commence sur la même piste.

Un projet peut également contenir des séquences imbriquées ({ id, name, tracks }, leur propre timeline à partir de 0). Un clip composé (type: "sequence", sequence, in) joue un extrait de l'une d'elles comme une seule image et un seul son : son opacité, sa transformation, son mélange, son étalonnage, sa LUT, ses fondus, ses transitions et ses animations s'appliquent au composite de la séquence, et son volume, muted et ses fondus s'appliquent au mixage de la séquence. Les clips composés sont lus à vitesse normale (pas de speed ou de rampe), et les clips à l'intérieur d'une séquence peuvent être lus (list_video_sequences) mais pas encore modifiés.

Tous les temps sont en millisecondes sur la timeline (ou dans la source pour in). Identifiants : les pistes ressemblent à v1 / a1, les clips à c1, les marqueurs m1 ; vous pouvez définir vos propres identifiants lors de l'ajout. Lisez-les depuis get_video_project ; ne les inventez jamais.

Pour les erreurs, les noms d'outils avec espace de noms et les conventions d'annulation, voir pixerate-agent-tools.

Compétences de flux de travail

Pour ces travaux, chargez également la compétence de flux de travail : elle contient la méthode, les vérifications entre les étapes et les pièges, et utilise les outils ci-dessous.

  • pixerate-talking-head-edit: nettoyage de dialogue par transcription : tics verbaux, pauses, bégaiements.
  • pixerate-bgm-alignment: coupe au rythme, baisse de la musique sous la parole, niveau sonore.
  • pixerate-video-social-cut: recadrages verticaux, accroche en premier, durées pour les plateformes, titres dans la zone de sécurité.
  • pixerate-video-colour-grade: corriger et harmoniser les plans, un rendu sur un clip de réglage, LUT et peau.
  • pixerate-video-montage: sélections sur le rythme, rythme, transitions, musique et fin.

Méthode de travail

  1. Lire. get_video_project pour les paramètres, les ressources, les pistes, les clips (avec fin et plage source), un résumé de chaque séquence imbriquée, les marqueurs et les problèmes. Quand il y a des clips composés, list_video_sequences montre ce qu'ils contiennent. Définissez d'abord la taille de l'image et le fps avec set_video_settings si le projet est nouveau ; les modifier plus tard décale les limites basées sur l'image.
  2. Importer les médias. add_video_asset pour chaque fichier avec kind, src et la duration source (sans elle, les coupes ne peuvent pas être vérifiées et check_video_project avertit unknown-duration). Donnez une poster pour la vidéo afin que les images rendues montrent une image.
  3. Marquer la structure. add_video_marker sur les temps forts, les sections ou les notes de révision ; les bords des clips s'alignent sur les marqueurs dans l'interface utilisateur et les marqueurs font des cibles seek_video.
  4. Assembler en un seul lot. Utilisez edit_video pour un montage brut : les opérations add_asset, add_track, puis add_clip dans l'ordre, avec des identifiants de clips explicites afin que les opérations ultérieures (coupe, transition) puissent les nommer. Exécutez-le d'abord avec dry_run: true ; l'erreur nomme l'opération en échec.
  5. Affiner avec les outils individuels : trim_video_clip, split_video_clip, move_video_clip, update_video_clip, set_video_transition, delete_video_clips / close_video_gaps ; pour le timing entre les plans, utilisez les modes de coupe qu'un monteur utiliserait : roll_video_edit (déplacer une coupe), slip_video_clip (changer ce qu'un plan montre), slide_video_clip (déplacer un plan entre ses voisins) ; pour un tronçon entier, split_video_at, lift_video_range ou extract_video_range. Animez l'opacité, le volume ou la position avec set_video_keyframes.
  6. Couper par texte quand le média contient de la parole : set_video_transcript pour chaque ressource parlée (ou vérifiez transcriptWords dans get_video_project), get_video_transcript pour lire le montage, puis find_video_fillers, find_video_pauses ou find_video_transcript_text et transmettez les plages que vous souhaitez supprimer à remove_video_ranges en un seul appel. Relisez la transcription après : chaque fois après qu'une coupe a été déplacée.
  7. Vérifier. check_video_project et corrigez chaque erreur et avertissement ; find_video_gaps pour les noirs ou les silences involontaires.
  8. Regarder et écouter. get_video_frame au niveau des coupes et des transitions pour les calques et les gains audio sous forme de nombres ; render_video_frame avec times pour une planche contact de la séquence. Rendez après un lot, pas après chaque édition.
  9. Exporter quand demandé : export_video_ffmpeg (une commande à exécuter, pas un rendu) ou export_video_edl (une piste) pour finir ailleurs. Lisez les notes renvoyées. Pour un niveau sonore de livraison, faites d'abord exécuter export_video_loudness_measure par l'hôte et transmettez ce qu'il imprime comme loudness.measured ; un seul passage (loudness sans measured) est acceptable pour un brouillon.
  10. Planifier d'abord quand l'utilisateur doit le voir. Pour tout ce qui est important ou lourd de jugement (un montage brut, un nettoyage, une coupe sur la musique), proposez-le avec plan_video_edits (ou un outil plan_* des compétences de dialogue et de musique) au lieu de l'appliquer : le projet ne change pas, l'éditeur montre le plan avec son changement de durée et les tronçons qu'il coupe, et vous l'appliquez avec apply_video_edit_plan une fois que l'utilisateur est d'accord (ou discard_video_edit_plan). list_video_edit_plans montre ce qui attend et si le projet a changé depuis.
  11. Effets (uniquement lorsque l'hôte a enregistré un fournisseur d'effets ; search_effects dit available: false sinon) : search_effects avec une use, puis describe_effect pour ses commandes, puis apply_effect (filtres et incrustations sur un clip), set_video_effect_transition ou add_video_effect_clip (générateurs et titres). Réglez avec update_effect et set_video_effect_keyframes ; vérifiez avec get_video_frame (les listes de calques effects) et list_applied_effects. Un effet le long d'un chemin (un faisceau le long d'une bordure, une traînée, des mots écrits) : search_effects avec accepts: ["path"], ajoutez-le comme un clip ou un effet de clip, puis set_video_effect_path avec les points du cadre, les données du chemin d, le contour du mask d'un clip ou text.
  12. Mouvements de caméra (un fournisseur avec des mouvements de caméra, comme Flair) : un clip est le plan. list_video_camera_moves avec un role, puis set_clip_camera_move : transition se déplace de from à framing depuis le début du clip (un glissement, un whip pan, un punch zoom) ; hold joue sur le reste du clip à framing (un dézoom Ken Burns sur un fixe). Les mouvements sont intégrés dans les clés x, y, scale et rotation du clip au fps du projet, deux clés à une coupe, donc l'aperçu et les exportations les lisent sans le fournisseur. Vérifiez avec get_video_frame.
  13. Modèles de séquence (un fournisseur avec des modèles) : pour une ouverture, une révélation ou un compte à rebours prêts à l'emploi, list_templates, puis describe_template pour ses emplacements, puis fill_template avec values (partez de son exampleValues) et at. Il atterrit sur de nouvelles pistes au-dessus des autres en une seule étape d'annulation : la couche inférieure de chaque plan sur une piste de base portant la transition du plan, les autres couches comme des clips d'effet, d'image et de texte par rôle. Les emplacements ouverts reviennent sous forme de clips d'espace réservé gris (placeholders) ; placez la vraie image sur l'un d'eux avec add_video_asset et add_video_clip en mode overwrite. Les mouvements de caméra ne sont pas reportés : ajoutez-les avec set_clip_camera_move.

Meilleures pratiques

  • Couper sur l'action. Placez une coupe pendant un mouvement (un tour, une porte qui s'ouvre) afin que la continuité du mouvement la cache ; split_video_clip sur l'action, puis coupez les côtés sortant et entrant.
  • Éviter les jump cuts. Deux plans consécutifs du même sujet depuis presque le même cadrage ressemblent à un défaut. Changez d'angle ou de taille, couvrez la coupe avec un B-roll sur une piste vidéo supérieure, ou rendez-la délibérée.
  • Coupes J et L. Laissez le son précéder ou suivre l'image : placez le son du média sur une piste audio (un clip de la même ressource vidéo), coupez le son du clip vidéo (muted: true), puis roll_video_edit la coupe audio plus tôt (J) ou plus tard (L) que la coupe image. Cela lisse le dialogue et les changements de scène.
  • Transitions avec parcimonie. La coupe nette est la valeur par défaut. Utilisez crossfade pour le passage du temps ou un changement de scène doux, dip (vers le noir, ou une color) pour une coupure de section, wipe rarement. Gardez-les courtes (300-1000 ms). push et slide conviennent plus aux graphiques, montages et montages sociaux qu'au drame ; iris est un effet de style d'époque ou de bande dessinée. Chaque type sauf dip nécessite des poignées : la moitié de la durée des médias inutilisés après la coupe sur les deux clips ; dip n'en a besoin d'aucune.
  • Insertion vs remplacement. add_video_clip et move_video_clip prennent mode : refuse (par défaut ; l'erreur nomme le prochain endroit libre), overwrite (remplacer ce qui est en dessous, comme une édition par remplacement) ou insert (pousser le matériel ultérieur). Utilisez ripple: true sur la coupe et la suppression, et extract_video_range plutôt que lift_video_range, pour garder tout ce qui suit l'édition synchronisé sans espace. Le ripple et l'insertion déplacent chaque piste verrouillée en synchronisation déverrouillée, donc le dialogue et son image restent ensemble ; désactivez syncLocked avec update_video_track pour un lit musical qui doit rester en place.
  • Couper avec le bon outil. Pour changer quand une coupe se produit sans rien déplacer d'autre, roll_video_edit ; pour changer quel moment un plan montre, slip_video_clip ; pour déplacer un plan plus tôt ou plus tard entre deux autres, slide_video_clip. Les trois maintiennent la timeline sans espace et rapportent le delta qu'ils ont réellement appliqué (limité aux médias disponibles).
  • Images clés avec parcimonie. Utilisez set_video_keyframes pour un push-in (scale 1 à 1.1 sur le plan), une baisse sous le dialogue (volume), ou un fondu qui n'est pas à un bord ; facilitez (ease-in-out) plutôt que linéaire pour le mouvement. Les fondus simples aux bords du clip sont fadeIn / fadeOut.
  • Resserrer le dialogue d'abord par le texte. Avec une transcription, supprimez les tics verbaux et les pauses avec les outils de recherche et un remove_video_ranges ; examinez d'abord la liste des tics (un "tu sais" peut être voulu). Gardez 150-300 ms autour des mots (keep) pour que la parole respire. Sans transcription, utilisez le son lui-même, ci-dessous.
  • Resserrer le dialogue à l'oreille, en nombres. find_video_silences sur un clip d'interview ou de voix off liste les pauses en temps de timeline ; extrayez les longues (gardez 150-300 ms de chaque côté pour que la parole ne semble pas coupée : réduisez chaque plage avant extract_video_range, et extrayez de la dernière pause à la première, ou relisez, car chaque extraction déplace ce qui suit). Utilisez get_video_audio_levels pour trouver où une réplique commence avant de couper ou diviser à cet endroit.
  • Rampes de vitesse pour l'emphase. Accélérez en ralenti juste avant le moment qui compte (un saut, une révélation) et revenez après : set_video_speed_ramp avec un glissement de 300-600 ms (toSpeed) plutôt qu'un changement brusque, et un ralenti autour de 0.25-0.5. Une image fixe (1-2 s) convient à un titre ou un moment "c'est moi" ; ajoutez-la avec add_video_freeze_frame. Le son avec rampe est progressif et silencieux dans les images fixes, donc placez la musique ou les effets sous les plans avec rampe plutôt que leur propre son.
  • Fermer les espaces. Les espaces non intentionnels jouent comme couleur d'arrière-plan et silence. find_video_gaps, puis close_video_gaps ou suppressions ripples. Laissez des espaces seulement là où vous voulez du noir.
  • Couper sur les images. Placez les débuts, les coupes et les divisions sur les limites d'image (multiples de 1000 / fps ms ; 41.667 à 24 ips, 33.333 à 30). Les éditions n'arrondissent pas pour vous.
  • Niveaux audio. Le dialogue est la référence ; gardez la musique en dessous (volume autour de 0.2-0.4 sous la parole, plus entre les lignes) et évitez les gains au-dessus de 1 qui écrètent. Le volume par clip et le volume de piste se multiplient. Donnez à chaque clip audio qui commence ou se termine en plein son un court fadeIn / fadeOut (10-50 ms) pour éviter les clics ; fondez les lits musicaux sur 1-3 s. Formez les fondus sonores avec fadeInCurve / fadeOutCurve : equal-power là où deux sons se chevauchent (il maintient le niveau sonore stable, là où le linéaire descend au milieu ; audioCurve des transitions y est déjà par défaut pour les fondus enchaînés et les volets), exponential pour fondre la musique en silence naturellement, s-curve pour un début et une fin doux. Le linéaire est la valeur par défaut.
  • Niveau sonore de livraison. Normalisez le mix final plutôt que de pousser les volumes des clips : -14 LUFS pour le web et le streaming, -16 pour les podcasts, -23 (EBU R128) ou -24 (ATSC) pour la diffusion, avec des pics réels à ou en dessous de -1 dBTP. Deux passages maintiennent la dynamique ; un passage contrôle le niveau.
  • Étalonner en deux passes : corriger, puis le look. D'abord équilibrez chaque plan pour qu'une scène corresponde (update_video_clip grade : corrigez l'exposition et la balance des blancs par rapport au meilleur plan, puis copy_video_grade de celui-ci au reste de la scène), puis ajoutez un look avec apply_video_grade_preset à un amount modeste (0.3-0.6), ou un look .cube que l'utilisateur possède avec set_video_lut (souvent à strength 0.5-0.8 : les LUT d'émulation film et créatives sont fortes à pleine force). Une LUT s'exécute après les réglages de l'étalonnage, donc corrigez d'abord l'exposition et la balance des blancs ; les LUT conçues pour les séquences log attendent une image plate et semblent écrasées sur une vidéo normale. Vérifiez avec render_video_frame à quelques moments côte à côte. Les tons de peau sont la référence : évitez les hue ou tint forts sur les personnes.
  • Clips de réglage pour les looks sur plusieurs plans. Plutôt que d'étalonner chaque clip d'une scène de la même manière, add_video_adjustment_clip sur une piste au-dessus d'eux avec le look (grade, un preset à un amount, ou des effets avec apply_effect sur le clip de réglage) : il change tout ce qui est en dessous pendant qu'il joue, donc les coupes et les nouveaux plans captent le look. La portée all inclut les titres et les pistes au-dessus ; la portée track le limite à une piste. Fondu entrée et sortie (fadeIn / fadeOut) pour adoucir un look, et donnez-lui un masque pour le limiter à une partie de l'image.
  • Masques pour les changements ponctuels. set_video_clip_mask coupe un clip en une forme (ellipse pour un visage ou un vignettage, rectangle avec corner_radius pour une incrustation, linear pour un écran partagé ou un ciel dégradé, polygon pour une forme personnalisée avec points). Ajoutez inverted: true pour protéger le centre et affecter les bords. Utilisez mask sur les clips de réglage pour ne toucher qu'une partie de l'image, ou sur un clip vidéo pour un trou dans un incrusté.
  • Modèles pour un flux rapide. Utilisez fill_template pour un titre ou une transition récurrents, plutôt que de construire manuellement. Les clips d'espace réservé qu'il crée vous montrent où vos ressources vont.
  • Sauvegardes. L'éditeur Pixerate enregistre automatiquement ; utilisez get_video_project pour rafraîchir votre état.
  • Appeler les outils. Appelez toujours les outils vidéo directement par leur nom complet, avec tous les paramètres requis.
  • Respecter le workflow. Suivez les étapes dans l'ordre : lecture, importation, assemblage, affinage, vérification, exportation. Ne sautez pas d'étapes.
  • Tests. Utilisez dry_run: true sur les opérations de lot avant de les appliquer. Vérifiez avec check_video_project avant d'exporter.

Individual skills in this repo

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

Pixerate/pixerate-animation-editor

How to author and edit vector animations (motion graphics, logo reveals, animated icons, explainer scenes, UI micro-interactions) in the Pixerate animation editor through its agent tools - artwork SVG with ids, shots of commands (enter, exit, draw, move, rotate, scale, fade, morph, Smart Animate match, follow a path, pulse, shake, wiggle), easing and springs, stagger, camera, beat and voiceover cues, drivers, reusable clips, checking, rendering frames and contact sheets, and exporting to Flair or Lottie. Use when animation tools such as get_animation, insert_shots or edit_animation are available, or when asked to animate, time, ease, stagger or export vector motion, and provider motion and vector effects (for example Flair) applied to nodes.

Pixerate/pixerate-brushes

How to find, describe, create, change, check and share brushes in the Pixerate brush library through list_brush_presets, describe_brush, create_brush, update_brush, duplicate_brush, remove_brush, check_brush, export_brushes, import_brushes, import_brush_pack, preview_brush, add_brush_source and list_brush_sources - brushes made of facets (kind, medium and variety or tool, tip, marks, dynamics, behaviour, light, motion, colour), image tips and tip grain made from image sources, the built-in presets, and the host profiles that say what the paint editor, image editor, canvas and vector strokes can render. Use when asked to make, design, tweak, save, copy, delete, export, import or check a brush, make a brush from an image (a scanned mark, a leaf, a texture), give a brush grain, bring in a Photoshop .abr or Procreate .brush / .brushset pack, find a brush for a medium (pencil, ink, watercolour, oil, airbrush, highlighter), or make a brush work in another editor.

Pixerate/pixerate-canvas

How to build and edit a Pixerate design canvas or node graph through its agent tools - drawing freehand pen, highlighter and dry-brush strokes (canvas.drawFreehand), annotating with hand-drawn circles, underlines, arrows, brackets, strikes, crosses and ticks (canvas.circle, canvas.arrow), adding, connecting, updating and laying out nodes (canvas_add_node, canvas_layout), reading state with get_editor_state and looking at it with view_editor, reusable components with variants, instances and overrides (create_component, add_variant, set_instance_properties), align, distribute, lock and layer order, shape boolean operations (unite, subtract, offset path, outline stroke), auto layout frames, and keyframe animation with easing and CSS export. Use when working on a canvas, whiteboard, flow chart, node graph, frame, design system, component library, button variants, layout, alignment, z-order or a canvas animation in a Pixerate editor.

Pixerate/pixerate-vector

How to draw and edit vector artwork in the Pixerate vector editor through its vector.* commands - adding shapes and SVG paths, text (point, area, on a path, styles, Create Outlines), symbols and instances, CAD constraints, artboards and frames with resizing constraints, connectors, stacked fills and strokes with blend modes, brushstrokes with brush character and paper grain, drop shadows, glows and blurs, clipping and opacity masks, gradients (linear, radial, conic, mesh, freeform), stroke alignment, arrowheads, variable-width and tapered strokes, live corner radii, boolean operations and Pathfinder (unite, subtract, divide, trim), Shape Builder, paint bucket, path effects (trim, repeater, zig zag, offset), envelope warps and free distort, blends and morphing, anchor editing (join, smooth, simplify, knife, eraser), align, distribute, group, and SVG import and export. Use when creating an icon, logo, illustration, glyph, badge or Bezier path artwork, or editing an SVG in a Pixerate vector editor.

Skills associés