Que fait Expert FilmCraft ?
Connaissances opérationnelles pour le montage vidéo dans FilmCraft (l'éditeur ArtCraft de classe Premiere Pro) depuis Claude Code ou tout agent compatible SKILL.md avec le serveur MCP FilmCraft connecté (SoundCraft et EffectCraft sont des cibles de transfert optionnelles). Les résumés par leçon se trouvent dans references/. Chaque correspondance ci-dessous a été vérifiée par rapport à command_list (716 commandes) et effects.list (304 effets) le 2026-11-03.
Sources. Le workflow est basé sur le manuel Adobe Premiere Classroom in a Book 2026 Release (Adobe Press) et vérifié par rapport au catalogue de commandes live de FilmCraft le 2026-11-03. Ce skill est rédigé de manière indépendante et ne reproduit aucun texte du livre.
Pour quoi couper et pourquoi (accroches, rythme, rétention, structure), associez ceci au skill video-editor ; pour les transcodages en ligne de commande, les sondages ou les conversions par lots en dehors de FilmCraft, voir ffmpeg.
Légende de vérification. "(vérifié)" / "Vérifié :" = la commande a été exécutée sur une session live de FilmCraft et le comportement décrit a été observé. Les correspondances non marquées = l'ID de commande/effet existe dans le catalogue live au 2026-11-03 avec des paramètres correspondants, mais n'a pas été testée de bout en bout. "Non disponible" = recherche dans le catalogue à cette date sans résultat (un instantané, voir §0).
0. L'application change tous les jours — revérifiez avant de dire "manquant"
Les applications ArtCraft reçoivent des mises à jour presque quotidiennement. Chaque élément "absent" ou "manquant" dans ce skill et dans references/ est un instantané au 2026-11-03, pas une limitation permanente.
- Avant de dire à l'utilisateur qu'une fonctionnalité est manquante, ou de recourir à un contournement, recherchez le catalogue live avec un filtre (
command_list/list_effects/effects.list). Si la commande existe maintenant, utilisez-la. - La méthode Adobe décrite ici est la cible. Appliquez-la intégralement dès que l'application la prend en charge.
- Si vous trouvez une commande que ce skill liste comme absente, ou une correspondance qui a changé, mettez à jour ce skill (ou ouvrez un problème sur le dépôt) pour que l'instantané reste précis.
Règles fondamentales pour l'agent
- Temps : 254016000000 ticks = 1 s. La plupart des commandes acceptent aussi
seconds,frameoutimecode; les durées de transition sont enframes. - Temps des images clés :
effects.setParam {time, keyframe:true}prend le temps de la timeline.effects.setInterpolation,setKeyframe,moveKeyframeetdeleteKeyframeprennentmediaTime= temps de la source =sourceIn + (t_timeline − start)(vérifié). - IDs : les clips de la timeline et les éléments du projet ont des IDs différents.
timeline.placeretourne les paires liées[video, audio].sequence_inspectest très verbeux (~15k tokens avec 3 clips) ; pour des questions ciblées, utilisezstate.inspect,graphics.list,essentialSound.inspect,mixer.inspect,captions.list. - Lots :
command_batch {stop_on_error:false}exécute tout et rapporteok/erreur par étape ; chaque étape est sa propre annulation (edit.undo). - Exportation : toujours passer un
pathexplicite (sans cela, le fichier atterrit dans le dossier personnel de l'utilisateur sous<nom de la séquence>.mp4),wait:truepour obtenir le résultat ; vérifiez d'abord avecexport.resolve. - Fichiers utilisateur : n'ouvrez ni n'enregistrez jamais de projets utilisateur sauf demande. Pour les expériences, utilisez
file.newProject+file.importDemoFootage(OceanSunset, Aurora, CityNight, Dunes, Plasma, Forest). - Vérification visuelle :
render_frame {seconds, max_side:480}à plusieurs endroits ; pour la couleur,scopes.read(nombres, pas d'images).
Concepts clés (résumé)
- Projet : contient les bacs, les clips, les séquences et les paramètres, mais seulement des références aux fichiers média. La suppression/renommage d'un clip ne touche jamais à l'original.
- Bacs : dossiers du projet (
file.newBin,project.moveToBin) ; les bacs de recherche (file.newSearchBin) sont des collections dynamiques de métadonnées. - Séquence : la timeline. Ses paramètres (taille de l'image, fps, audio) définissent le format de travail ; faites correspondre la prise de vue principale, ou la livraison lorsque les sources sont mixtes.
- Pistes : les pistes V supérieures couvrent les inférieures ; les pistes A s'additionnent. Le ciblage (
timeline.setTargeting) décide où l'insertion/écrasement atterrit ; le patch source décide quels canaux sources entrent. Verrouillage de synchronisation et verrouillage :timeline.setTrack. - Entrée/Sortie : sur la source, ils choisissent quoi utiliser ; sur la timeline, ils marquent une plage à supprimer, à restituer ou à exporter.
- Insertion vs écrasement : l'insertion repousse tout plus tard (la séquence s'allonge) ; l'écrasement remplace ce qui se trouve en dessous.
- Montages 3/4 points : donnez trois points et le quatrième est calculé ; quatre points qui divergent imposent un choix entre couper et changer la vitesse.
- Lift vs extract : lift laisse un espace, extract le ferme. Idem pour delete vs ripple delete.
- Ajustements : regular déplace un bord et laisse un espace ; ripple déplace un bord et entraîne le reste ; roll déplace la coupe entre deux clips sans changer la longueur totale ; slip change quelle partie de la source est affichée à une position fixe ; slide déplace le clip et raccourcit/allonge ses voisins.
- Handles : média supplémentaire au-delà de l'Entrée/Sortie ; sans eux, les transitions répètent les images.
- Marqueurs : marqueurs de séquence ou de clip avec nom, commentaire, couleur et durée ; marqueurs de chapitre et de flash-cue aussi.
- Imbrication :
clip.nesttransforme plusieurs clips en une sous-séquence qui se comporte comme un seul clip (effets de groupe, recadrage, exportations partielles). - Effets fixes : Mouvement, Opacité, Remappage temporel, Volume, Volume de canal et Panner sont déjà sur chaque clip.
Flux de travail recommandé
- Projet + bacs (Images, Audio, Graphismes, Séquences) → importation → vérifier les formats (
file.mediaProperties,media.colorInfo). - Séquence avec les bons paramètres (ou
matchSequence:truesur le premiertimeline.place). - Sélections avec Entrée/Sortie ou sous-clips → coupe brute.
- Coupe fine : ajustements, rythme, coupes J/L, transitions uniquement là où elles apportent quelque chose.
- Audio : types, loudness, nettoyage, musique, ducking, mixage.
- Effets, mouvement, stabilisation, compositing.
- Couleur : correction d'abord (équilibre, correspondance des plans), puis étalonnage (le look).
- Titres, graphismes, sous-titres.
- QC → exportation → archivage (Gestionnaire de projet).
Table de correspondance Premiere → FilmCraft
| Fonctionnalité Premiere | FilmCraft |
|---|---|
| Nouveau projet / séquence / bac | file.newProject, file.newSequence {width,height,fps}, file.newBin |
| Paramètres de séquence | sequence.settings, sequence.colorSettings |
| Importation / Navigateur média | media_import (outil), file.import, mediaBrowser.list/import |
| PSD/AI multicouche | pas de dialogue de calque : exporter les calques depuis PhotoCraft/VectorCraft en PNG |
| Enregistrement de voix-off | audio.voiceover.start/stop (nécessite l'application avec une entrée audio) |
| Narration synthétique | tts.create (pas dans Premiere) |
| Métadonnées et colonnes | metadata.set, project.columns.set, edit.find |
| Sous-clips | clip.makeSubclip |
| Canaux audio / interpréter la prise de vue | clip.audioChannels, clip.interpretFootage |
| Fusionner les clips (audio double système) / synchroniser | clip.mergeClips, clip.synchronize {method:"audio"} |
| Moniteur source, Entrée/Sortie | source.open, markers.markIn/markOut {target:"source"}, project.setMarks |
| Insertion / écrasement | source.insert, source.overwrite, timeline.place {insert} |
| Storyboard → séquence | clip.automateToSequence |
| Rasoir / Ajouter une édition | timeline.razor, sequence.addEdit(AllTracks) |
| Lift / extract / ripple delete | sequence.lift, sequence.extract, edit.rippleDelete, timeline.delete {ripple} |
| Fermer les espaces | sequence.closeGap, timeline.selectGap |
| Ajustement, ripple, roll, slip, slide | timeline.trim {mode}, timeline.roll, timeline.slip, timeline.slide |
| Ajustements clavier Q/W, E | trim.ripplePrevious/rippleNext, trim.extendToPlayhead |
| Ajustement dynamique | trim.shuttle, trim.playAround |
| Étirement de taux / vitesse / inversion | timeline.rateStretch, clip.speedDuration {speed,reverse,ripple} |
| Image fixe / flux optique | clip.frameHold, clip.setTimeInterpolation |
| Remplacer le clip / la prise de vue | clip.replaceFromBin, media.replaceFootage |
| Marqueurs | markers.add/addRange/addChapter/edit/exportCsv |
| Lien, groupe, activation | clip.link, clip.group, clip.enable |
| Imbrication | clip.nest, sequence.makeSubsequence |
| Transitions vidéo/audio | sequence.applyVideoTransition, sequence.applyAudioTransition, trim.applyDefaultTransition |
| Morph Cut | effet de transition morph_cut |
| Montage basé sur le texte | transcript.generate → transcript.extract/lift, removePauses, removeFillers |
| Effets / paramètres / images clés | effects.apply, effects.setParam, effects.addKeyframe, effects.setInterpolation |
| Presets d'effets / calque de réglage | presets.save/apply, file.newAdjustmentLayer |
| Coller/supprimer les attributs | edit.pasteAttributes, edit.removeAttributes |
| Masques et suivi | masks.add, masks.set, masks.track |
| Stabiliseur de déformation / Recadrage automatique | effets warp_stabilizer, auto_reframe ; clip.fillFrame/fitToFrame |
| Détection d'édition de scène | clip.sceneEditDetection |
| Lumetri (panneau, presets, LUTs, correspondance) | effet lumetri + effects.setParam, lumetri.applyPreset, lumetri.setInputLut/setLook, lumetri.applyMatch, lut.import |
| Vues Lumetri | scopes.read (forme d'onde, parade, histogramme, vecteurscope en nombres) |
| Limiteur vidéo | effet video_limiter ou le limiteur dans les paramètres d'exportation |
| Opacité, modes de fusion | effects.setParam {effect:"opacity", param:"blend", value:"Screen"} |
| Ultra Key / Track Matte / Luma Key | effets ultra_key, track_matte, luma_key, color_key |
| Texte/Formes Essential Graphics | graphics.newText, graphics.newShape/newRectangle, graphics.set, graphics.setCharStyle, graphics.align |
| Défilement/balayage de titre | graphics.setRoll |
| Modèles de graphiques animés | graphics.template.list/apply/export (.fcgt ; .mogrt est refusé) |
| Sous-titres | captions.newTrack/add/setStyle/import/export, transcript.createCaptions, graphics.upgradeCaption |
| Gain audio / normalisation | `clip.audioGain {mode:"set |
| Volume du clip et images clés | clipMixer.set, effects.setParam {effect:"volume", param:"level"} |
| Mixeur de piste, sous-mix, envois, automation | mixer.setStrip/addSubmix/addSend/addInsert/writeAutomation |
| Essential Sound (types, réparation, clarté, ducking, correspondance automatique) | essentialSound.setType/set/applyPreset/autoMatch/generateDucking |
| Remix (adapter la durée de la musique) | clip.remix {seconds} |
| Effets audio (EQ, notch, DeNoise, DeHum, Enhance Speech…) | effects.apply (voir references/11-improving-audio.md) |
| Multicam | clip.createMulticam, multicam.cut, clip.multicamFlatten |
| Proxies / ingestion | media.createProxies, media.toggleProxies, project.ingestSettings |
| Exportation rapide / exportation média / Media Encoder | export.quick, file.exportMedia, export.queue.add/start |
| Exporter une image | file.exportFrame |
| EDL/XML/AAF/OMF/OTIO | file.exportInterchange, file.exportAaf, file.exportOmf |
| Gestionnaire de projet / Supprimer inutilisés / Lier les médias | file.projectManager {mode, handles, dryRun}, edit.removeUnused, media.findMissing/relink/autoRelink |
| Nettoyage du cache | mediaCache.clean, sequence.deleteRenderFiles |
Non disponible au 2026-11-03 — instantané, revérifier (§0) (recherché dans command_list/effects.list, aucune correspondance) : Generative Extend (IA), outil Object Mask (IA), recherche Media Intelligence / "rechercher des images similaires", Adobe Stock (vidéo et audio), bouton Auto de la correction de base Lumetri (seul applyMatch existe), Render and Replace, Dynamic Link vers After Effects/Audition, Team Projects/Productions/Frame.io, téléchargement direct vers les plateformes sociales, importation PSD/AI multicouche. Les espaces de travail et la vue Comparaison sont uniquement dans l'interface utilisateur (utilisez les outils ui_* en mode pont). Contournements : étendre manuellement avec image fixe/slip, masques manuels + masks.track, EffectCraft pour le mouvement, SoundCraft pour l'audio.
Recettes
Coupe brute → fine
- Importer, organiser dans des bacs, nommer les clips ; avec beaucoup de prises de vue, utiliser des sous-clips.
- Créer la séquence, puis
timeline.place {items:[...]}dans l'ordre (ouclip.automateToSequence) ; utilisersourceIn/durationpour choisir les plages. - Supprimer le gras :
timeline.razor+edit.rippleDelete, ou Entrée/Sortie +sequence.extract. - Rythme :
timeline.rollsur les coupes,timeline.slippour choisir le bon moment. - Long plan de tête parlante :
transcript.generate(nécessite le modèle Whisper, non installé :transcript.downloadModel, ~290 Mo, demander d'abord) →removeFillers,removePauses.
Reel 9:16 à partir d'une prise de vue 16:9
file.newSequence {width:1080, height:1920, fps:<fps de la prise de vue>}.timeline.placeles clips →clip.fillFrame(remplit l'image ; 177,8 % à partir de 1080p) et, si nécessaire, l'effetauto_reframeou des images clés manuellesmotion.position. Alternative : imbriquer la séquence 16:9 et recadrer l'imbrication.- Garder le texte dans la zone sécurisée : laisser environ les 15 % supérieurs et 25 % inférieurs libres pour l'interface de la plateforme.
- Les gros sous-titres et graphismes en gras sont la norme ; garder l'accroche courte (1 à 2 premières secondes).
- Exporter avec le préréglage "Social Vertical 1080×1920" +
loudnessLufs:-14.
Transitions : une coupe franche est la valeur par défaut ; les fondus (cross_dissolve, dip_to_black) signalent un changement de temps ou de lieu. effects.setDefaultTransition → trim.applyDefaultTransition sur les clips sélectionnés. Audio : constant_power de 6 à 12 images sur les coupes qui ressortent. Vérifier d'abord les handles.
Mouvement et images clés : effects.setParam {effect:"motion", param:"scale|position|rotation", value, time, keyframe:true} à deux moments → effects.setInterpolation {mediaTime, interpolation:"easeIn|easeOut|bezier"}. Pour une ombre qui tourne avec l'objet, utilisez transform ou basic_3d avec drop_shadow en dessous, pas Motion (Motion est appliqué en dernier).
Audio : essentialSound.setType (dialogue/musique/effets sonores/ambiance) → autoMatch (valeurs par défaut : dialogue −23, musique −25, effets sonores −21, ambiance −30 LUFS) → voix set {key:"repair.noise.on"}, etc. → musique type:"music" + generateDucking → master via l'exportation loudnessLufs (social −14, diffusion −23). Crêtes autour de −6/−3 dBFS. Transférer à SoundCraft pour l'édition de formes d'onde/spectrale, la restauration sérieuse