Editnado — Montage automatique à partir de photos, vidéos et mémo vocal
Edit ? Moi aussi ! — Dis un mot, et une tornade d'édition se déchaîne.
L'utilisateur fournit simplement un dossier de photos et vidéos + le mémo vocal de la journée + le style souhaité, puis discute pour peaufiner le résultat. Les calculs, l'encodage et la transcription sont gérés par le PC (jetons 0), l'IA se concentre sur les décisions critiques pour la qualité (associer les scènes aux paroles, corriger la transcription, vérifier les aperçus).
L'exécuteur est le script vc.cmd situé dans ce dossier (doctor · setup · auto · build · transcribe · sheet · stills · template). On l'appelle depuis PowerShell avec & "<ce dossier>\vc.cmd" auto … (Git Bash avec cmd //c ne fonctionne pas).
0. Règles que l'IA doit respecter
- La qualité d'abord, les jetons ensuite. Ne lit que ce qui est nécessaire à la décision — une ligne JSON du résultat
auto, la planche de scènes (sheet_1.png), l'image de vérification. Laisse les calculs et répétitions au PC, ne lit pas les sources de l'exécuteur, la liste des commandes ou le contenu complet du dossier (la liste est dansmedia.json). N'ouvre les photos/vidéos originales que si la planche de scènes est insuffisante. - Demander avant d'installer. Au premier lancement, exécute
vc.cmd setup→ montre le tableau (quoi, combien de Mo) à l'utilisateur et demande son accord avant de lancervc.cmd setup -Yes. N'utilise pas les droits administrateur. - Lecture seule des originaux. Les résultats sont écrits uniquement dans
<dossier>\completion\(ou le dossier spécifié par-Out). - Ne pas inventer. Le titre, les sous-titres et les textes du blog proviennent uniquement du mémo vocal, des photos, des horodatages et des informations fournies par l'utilisateur. Pas d'informations sur les prix, horaires d'ouverture, etc., sauf si l'utilisateur les donne.
- Ne déclare « terminé » qu'après avoir vu l'image de vérification. Si les sous-titres sont coupés ou si un écran est vide, corrige le plan et réencode.
- Langage simple. Parle à l'utilisateur en coréen simple, en une ou deux phrases. N'affiche les commandes, chemins ou termes anglais que si nécessaire.
- Aucun compte, clé API, ou crédit payant. Envoie des données personnelles (ex. localisation des photos) à un service en ligne seulement après accord explicite de l'utilisateur.
1. Flux de travail
① Préparation vc.cmd doctor → Si FilmCraft·outil de transcription est absent, exécute setup selon les règles 0-2
② Brouillon vc.cmd auto <dossier> -Template <id> [-Title "titre"] [-Out <dossier de sortie>] [-Bgm <fichier audio>]
→ Crée dans le dossier de sortie (par défaut <dossier>\completion\) : plan.json · aperçu mp4 (demi-résolution) · image de vérification · sheet_1.png (planche de scènes) · dernière ligne JSON
{"plan","output","check","seconds_total","scenes":[{n,file,kind,taken,sentence,seconds}],
"sentences":[{k,at,text}],"warnings":[…]}
③ Réglages La qualité se joue ici — avant de montrer à l'utilisateur, l'IA vérifie trois choses :
a. Scène ↔ discours : regarde sheet_1.png et les phrases. Si une scène ne correspond pas au contenu de la phrase, corrige uniquement
"align" dans plan.json (la liste des indices de phrases par scène, dans l'ordre croissant). Les calculs de durée et de segments vidéo sont laissés à build.
b. Transcription : si des fautes d'orthographe ou des noms propres mal retranscrits (ex. « hédeuneun » → « hae ddeuneun »), corrige uniquement
le texte dans `<dossier>\completion\<nom_enregistrement>.srt`, et référence-le dans le plan avec
"captions": {"srt": ce fichier} (les horodatages restent inchangés — build les décalera de la durée de l'intro).
c. Avertissements : si « le titre dans l'intro dépasse N lignes », raccourcis le titre.
Après correction, lance `vc.cmd build <plan.json> -Preview`.
④ Affichage Montre l'image de vérification (un panneau par scène) et indique à l'utilisateur : « 32 sec · 9 scènes · première phrase « … » · aperçu : <chemin> »
⑤ Corrections L'utilisateur parle → corrige uniquement les valeurs concernées dans plan.json, puis lance `vc.cmd build <plan.json> -Preview`.
⑥ Finalisation `vc.cmd build <plan.json>` → produit un mp4 en qualité originale + .srt
- Ce que fait
auto: trier par date de prise de vue · pour les vidéos, garder le milieu · transcrire le fichier audio contenant « 소감·memo·녹음·voice » comme narration avec ma voix et sous-titrer (coupure après les terminaisons et les particules) · associer chaque phrase à une scène (par défaut, les scènes dont les dates sont proches d'une même phrase forment un paragraphe, et un changement de scène se fait au silence entre les phrases) · conserver le son ambiant des vidéos et réduire celui de la musique pendant la parole · utiliser comme musique de fond un fichier dont le nom contient « bgm·music·음악 » (ou celui passé via-Bgm, avec baisse automatique du volume pendant la parole) · appliquer l'intro, l'étalonnage et le style des sous-titres du modèle. - Ne poser qu'une question à la fois. Si seul le dossier est donné, le reste est déterminé par les valeurs par défaut du modèle.
2. Choix du modèle
| Demande utilisateur | -Template |
|---|---|
| Par défaut · vlog · voyage · paysage · YouTube | default |
| Shorts · Reels · TikTok · portrait · rapide | shorts_fast |
| Calme · émotion · détente | calm_mood |
| Gastronomie · food tour · cuisine · café | food_quick |
| Famille · parents · grands caractères · album | family_big |
| Cours · revue · démonstration · tutoriel | tech_tutorial |
- En cas de doute :
default. Si l'utilisateur dit seulement « portrait », utilisershorts_fast. Ces mots-clés sont définis dansmeta.wordsde chaque modèle. - Modèles installés et disponibles :
vc.cmd template list· Installation :vc.cmd template install <id ou zip>— le choix appartient à l'utilisateur. - Mise à jour de la compétence (« mets à jour la compétence ») :
vc.cmd update→ montre les changements à l'utilisateur, demande son accord →vc.cmd update -Yes. Pour un clone git :git pull(s'arrête s'il y a des modifications locales). Pour un dossier téléchargé en zip : télécharge la dernière release, vérifie le SHA256, puis écrase. Les préférences personnellesprofiles/localet les modèles installés sont conservés ; les fichiers modifiés sont sauvegardés. - Format des modèles et comment en créer :
templates/README.md
3. Corrections fréquentes → plan.json
| Demande utilisateur | Modification (les clés du chemin overrides) |
|---|---|
| Sous-titres un peu plus haut / plus bas | overrides."subtitles.margin" ± 0.04 |
| Sous-titres plus grands / plus petits | overrides."subtitles.size" (def. ~64) |
| Musique plus basse / plus forte | overrides."audio.bgm_duck_db" −3 / +3 |
| Enlever cette scène / changer l'ordre | retirer/déplacer dans le tableau timeline (et également retirer/déplacer la même position dans align) |
| La scène ne correspond pas au discours | align — la liste des indices de phrases par scène (ex. [1,2,2,3,3,4,4,5]) |
| Dernière scène plus longue / plus courte | tail_seconds ± 3 (silence après la fin de la parole, def. 1s) |
| Scène du milieu plus longue | Si align existe : ajouter une phrase supplémentaire à cette scène sans étirer la durée. Sinon, augmenter seconds de cet élément de +3 |
| Recadrer une partie de la photo / supprimer un objet | crop de cet élément : [gauche, haut, largeur, hauteur] en proportion 0~1 (enlever 20% à droite = [0,0,0.8,1]) — original inchangé |
| Enlever l'étalonnage | overrides."video.color_preset": null |
| Enlever l'intro | overrides."intro": null |
| Changer le titre | title |
- « Juste pour cette fois » = utiliser
overridescomme ci-dessus. « Pour toujours à l'avenir » = écrire la même clé dansprofiles/local/<id_modèle>.json(ne pas modifier les fichiers publics). - Si une clé n'existe pas, l'exécuteur s'arrête avec le message « clé introuvable dans le profil (faute de frappe ?) ». La liste des clés est dans
references/preset-guide.md.
4. Comment écrire le mémo vocal
| Usage | Méthode |
|---|---|
| Narration avec ma propre voix | auto transcrit automatiquement le mémo vocal du dossier pour créer les sous-titres. Si les noms propres sont mal retranscrits, corriger <dossier>\completion\<nom_enregistrement>.srt et l'utiliser comme captions.srt dans le plan. |
| Narration par synthèse vocale (TTS) | Le mémo vocal écrit (texte) → "narration": {"mode":"tts","lines":[{"text":"…"}]} dans le plan (voix coréenne Windows). |
| Titre et texte des sous-titres | Raccourcir le mémo vocal. Une ligne = dans la limite de subtitles.max_chars du modèle. |
| Article de blog | Voir point 6 ci-dessous. |
Choix du ton : Le modèle définit text.tone (pour le titre et les phrases TTS) et blog.tone (pour le blog). Valeurs possibles : 습니다 (poli), 해요 (neutre), 반말 (familier). Si l'utilisateur demande un ton, pour cette fois, utiliser overrides."text.tone". Pour l'avenir, écrire la clé dans profiles/local/<id>.json et réécrire les phrases avec ce ton. Les sous-titres de la voix de l'utilisateur restent tels quels (pour ne pas désynchroniser).
5. Photos et vignette
- Retouche photo (optionnelle) :
lightcraft-cli render <photo> -o <dossier_sortie>\_vc_work\photo\<nom>.jpg --set color.vibrance=8 --size 1920(les valeurs de retouche proviennent dephoto.*du modèle). Mettre à jour le chemin de la photo dans le plan pour pointer vers la version retouchée. - Vignette : une image extraite du projet final à l'instant où l'intro est visible —
filmcraft-cli --project <_vc_work\.fcproj> render --seconds 1.5 --out thumb.png - Floutage des visages (optionnel) :
deface.cmd <photo·vidéo> -o <sortie>— ne l'utiliser qu'après avoir vérifié que l'outil détecte correctement les visages sur les données fournies.
6. Brouillon de blog
Écrit dans <dossier_sortie>\blog\draft.md selon les règles blog.* du modèle (ton, sous-titres, regroupement des photos) + la règle de vérité du point 4. Les photos utilisées sont les versions retouchées, dans l'ordre de prise de vue. Pour ajouter une image clé par scène, exécuter vc.cmd stills <plan.json> → extrait une image (qualité originale) du milieu de chaque segment vidéo réellement utilisé dans <dossier_sortie>\stills\. Si l'utilisateur possède une compétence spécialisée pour les blogs (ex. blog-writer), lui transférer cette tâche.
7. Documents de référence (ouvrir seulement si nécessaire)
references/edit-plan.md— Format du plan ·references/preset-guide.md— Toutes les clésreferences/filmcraft-commands.md— Commandes FilmCraft vérifiées et pièges (seulement pour modifier l'exécuteur)references/cli-recipes.md— Commandes pour les photos, vignettes, outils ouverts ·references/toolchain.md— Origine des outils, licences, MCPreferences/onboarding.md— Nouveau PC ·references/style-extractor.md— Extraire un style depuis une vidéo de référencetemplates/README.md— Format des modèles, règles de vente
Historique des versions
- 2026-11-12 : Première rédaction → le même jour : plan interactif + exécuteur
vc.ps1 - 2026-11-13 : v2.0 — Brouillon automatique
auto, installationsetup, 6 modèles (intro·étalonnage), transcriptiontranscribe, découpage intelligent des sous-titres, ducking du son ambiant, choix du ton, en-tête du standard publicagentskills.io - 2026-11-14 : v2.3.1 — Correction du dossier d'installation·sauvegarde qui pointait vers un dossier relatif « C » sur les PC standard (vc_paths Get-InstallRoot), licence ArtCraft MIT/Apache-2.0
- 2026-11-13 : v2.3 — Nom Editnado (ancien video-craft) : nom du dossier·dépôt·release zip, phrase d'intro « Edit? Moi aussi ! »
- 2026-11-13 : v2.2 — Réception des nouvelles versions
vc.cmd update(git·release zip·zip direct), procédure de release (release.ps1pour administrateurs) - 2026-11-13 : v2.1 — Principe de qualité d'abord, alignement des scènes aux phrases (
align·tail_seconds), découpage des sous-titres après les terminaisons, recadrage photo (crop), image clé pour blog (stills), aperçu demi-résolution dans auto, conservation du son ambiant, avertissement de titre trop long