Communitygithub.com

openmontage-house : Règles maison OpenMontage pour vidéos Josh

Couche de traduction des « règles maison » pour la création de vidéos Josh avec OpenMontage (pipeline IA vidéo open source, <SKILLS_DIR>/OpenMontage). S'applique à : découpage d'une longue vidéo en courts clips (clip-factory), captures d'écran réelles pour tutoriels (screen-demo), doublage et traduction (localization-dub), transformation de podcast en vidéo (podcast-repurpose), analyse de vidéos de référence, montage documentaire sans narration (documentary-montage), et ajout d'images d'archives (NASA, Bibliothèque du Congrès, NARA, Archive.org) pour stock-footage-reel. Déclencheurs : « Utiliser OpenMontage », « Couper un long métrage en clips », « Faire comme cette Reel », « Traduire et doubler », « Tutoriel vidéo écran ».

Qu'est-ce que openmontage-house : Règles maison OpenMontage pour vidéos Josh ?

Ce skill agit comme une couche de surcouche pour les pipelines vidéo d'OpenMontage, en appliquant systématiquement les règles maison de la chaîne Josh. Il est conçu pour les cas d'usage suivants : découpage de longues vidéos (YouTube, live, podcast) en courts clips verticaux (clip-factory), tutoriels par capture d'écran réelle (screen-demo), doublage et traduction vocale via ElevenLabs (localization-dub), transformation de podcast en vidéo (podcast-repurpose), analyse de rythme et structure de Reels/Shorts pour générer des propositions originales (reference video analysis), montage documentaire sans narration (documentary-montage), et enrichissement de stock-footage-reel avec des archives publiques issues de NASA, Library of Congress, NARA, Archive.org et Wikimedia. Il s'exécute dans l'environnement OpenMontage (commit 9327439) avec les outils préinstallés : Python, Node 22, Remotion, Piper-TTS, faster-whisper, yt-dlp, CLIP (compatible CPU), et utilise exclusivement la voix ElevenLabs Sarah Explains (Nhs7eitvQWFTQBsf0yiT) pour le doublage. Il impose un format vertical 1080×1920 (9:16), une durée maximale de 3 minutes, des sous-titres en chinois traditionnel avec anglais en dessous, et une piste de crédits pour chaque média utilisé (credits.json). L'utilisateur doit confirmer les dépenses (pas de clés payantes sans accord). Le skill empêche la publication directe : toute sortie est un brouillon à valider par Josh avant mise en ligne.

Compatible avec✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/bounce12340/josh-video-skills/tree/HEAD/openmontage-house

Demander à votre IA préférée

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

Documentation

openmontage-house : OpenMontage + Règles maison Josh

OpenMontage – base : <SKILLS_DIR>/OpenMontage (commit 9327439, 2026-10-03, AGPLv3). Documentation complète : AGENT_GUIDE.md, CLAUDE.md, skills/INDEX.md, pipeline_defs/*.yaml. Ce skill ne fait que des brouillons, il ne publie rien. La publication est toujours gérée par le bot principal après validation par Josh.

Avant tout, décider si OpenMontage est adapté (voir l'arbre de décision dans <SKILLS_DIR>/INDEX.md)

  • Reel bilingue avec voix-off, montage de vidéos réelles → utiliser stock-footage-reel (format maison), PAS le documentary-montage d'OpenMontage. Si besoin d'archives supplémentaires, utiliser le script om_clips.py ci-dessous, puis intégrer le résultat via pick: {"source":"file", ...} dans le fichier shots.json.
  • Animation de type Vox / vulgarisation → utiliser huashu-art-motion, PAS le animated-explainer d'OpenMontage.
  • Autres (découpage en clips, capture d'écran, doublage/traduction, podcast, analyse de vidéo de référence, montage documentaire sans narration) → utiliser OpenMontage, en surchargeant ses réglages par défaut avec les règles maison ci-dessous.

Environnement

source <SKILLS_DIR>/OpenMontage/om-env.sh   # active .venv et Node 22, puis cd dans OpenMontage
python -c "from tools.tool_registry import registry; import json; registry.discover(); print(json.dumps(registry.support_envelope(), indent=2))"   # voir les outils disponibles
  • Installé : requirements.txt, Remotion composer (npm), piper-tts, faster-whisper, yt-dlp, youtube-transcript-api, opencv-headless, HyperFrames (npx cache 0.8.147), et torch 2.14.1 CPU + transformers 5.19 (pas de GPU). CLIP est fonctionnel : corpus_builder pour construire une base de médias, puis clip_search avec rank_for_slot trie les médias par pertinence textuelle (score ≥ 0.25 utilisable) ; video_understand (mode CLIP) fonctionne aussi. Le modèle CLIP (openai/clip-vit-base-patch32) est téléchargé depuis Hugging Face au premier lancement ; sur CPU, la construction d'une petite base de 5 médias prend ~1 minute. Si corpus_builder affiche « degraded », c'est simplement parce que la moitié des sources n'ont pas de clé API – cela n'affecte pas l'utilisation.
  • Clés : PEXELS_API_KEY, ELEVENLABS_API_KEY sont des variables d'environnement machine (disponibles seulement dans un nouveau shell, utiliser bash -lc si nécessaire). om-env.sh les reprend ; elles ne sont PAS inscrites dans .env. Ne les affichez pas et ne les écrivez pas dans un fichier. Toutes les autres clés sont vides. Ne créez pas de nouveau compte ou de clé payante pour OpenMontage sans demander au préalable à Josh.
  • Génération payante (Kling, Veo, Seedance, FLUX…) : pas de clé actuellement, le sélecteur les ignorera automatiquement. OpenMontage demande un devis avant toute dépense et attend l'accord de Josh.

Règles maison (à appliquer systématiquement, en surchargeant les réglages par défaut d'OpenMontage)

  1. Format : vertical 1080×1920 (OpenMontage est souvent configuré par défaut en 16:9 – dès le début du projet, spécifier 9:16). Durée ≤ 3 minutes. Privilégier le contenu complet plutôt qu'une version trop condensée.
  2. Voix : voix féminine anglaise Sarah Explains (ElevenLabs, voice_id Nhs7eitvQWFTQBsf0yiT), modèle eleven_multilingual_v2.
    • Option principale : utiliser directement l'outil elevenlabs_tts d'OpenMontage (testé et fonctionnel). Spécifier voice_id, ne pas laisser tts_selector choisir une autre voix ou passer à piper. Exemple : ElevenLabsTTS().execute({"text":..., "voice_id":"Nhs7eitvQWFTQBsf0yiT", "model_id":"eleven_multilingual_v2", "output_path":".../vo.mp3"}). Envoyer le script une seule fois (pas de répétition pour éviter des frais supplémentaires).
    • Solution de repli : si l'API directe échoue, utiliser le connecteur user-Elevenlabs (creative_generate_speech, generations_count: 1) pour générer vo.mp3, puis le fournir comme voix préexistante à OpenMontage. Ne pas utiliser piper comme voix principale.
  3. Sous-titres : sous-titres principaux en chinois traditionnel, + une ligne plus petite en anglais en dessous (correspondant à la voix anglaise). Termes taïwanais, guillemets 《 », pas de tiret cadratin. Les sous-titres ne doivent pas descendre en dessous de y=1490 (pour éviter l'interface Instagram).
  4. Couverture : utiliser le modèle Vox du dossier <YOUR_WORKSPACE>/media-team/00-profile/covers/render.py (ne pas utiliser les couvertures/miniatures d'OpenMontage).
  5. Licences : chaque média utilisé doit être enregistré dans un fichier credits.json (URL, auteur, licence). Les médias d'Archive.org ont une licence « vérifier par élément » : il faut systématiquement ouvrir la page pour confirmer qu'il est dans le domaine public, sous CC0 ou CC BY. Ne pas utiliser de vidéos de la BBC, de chaînes TV ou de studios de cinéma. Les médias sous CC BY doivent être crédités dans la description de la publication.
  6. Fichier : vidéo finale au format H.264/AAC, compressée sous 45 Mo (vérifier avec ffprobe la taille et la durée).
  7. Contenu : fidèle à l'original, ne pas inventer de chiffres ou de citations, créditer l'auteur original.
  8. Sortie : le rendu final est placé dans <YOUR_WORKSPACE>/media-team/03-drafts/<sujet>/ ; le dossier projects/ d'OpenMontage sert uniquement d'espace de travail temporaire.

Comment lancer chaque pipeline

Dans le dossier OpenMontage, ouvrir Claude Code (il lira automatiquement CLAUDE.md), ou un autre bot lira directement skills/pipelines/<pipeline>/executive-producer.md et suivra les étapes. Au début de chaque session, copier-coller les règles maison ci-dessus.

  • clip-factory : découper une longue vidéo (YouTube, live, enregistrement de podcast) en plusieurs clips verticaux. Avant de télécharger la vidéo avec yt-dlp, vérifier que Josh a le droit de l'utiliser.
  • screen-demo : tutoriel avec capture d'écran réelle (screen_recorder/cap_recorder disponible).
  • localization-dub : doubler une vidéo dans une autre langue. Utiliser d'abord le connecteur ElevenLabs pour générer la voix, puis la synchroniser et mixer la piste avec l'outil OpenMontage.
  • podcast-repurpose : transformer un fichier audio de podcast en une courte vidéo avec les moments clés.
  • Analyse de vidéo de référence : donner une Reel/Short ; l'outil analyse son rythme, son introduction, sa structure, puis propose 2 à 3 versions originales avec estimation des coûts (animated-explainer, animation, cinematic, character-animation acceptent un reference_input). Apprendre uniquement la structure, pas les images ni le script exact.
  • documentary-montage : montage documentaire sans narration ou avec très peu de voix, style Adam Curtis, utilisant CLIP pour choisir automatiquement des médias pour chaque segment. Les Reels avec voix-off restent sous stock-footage-reel.
  • Storyboard Backlot : python -m backlot open <project-id> (storyboard local, uniquement pour visualiser ; un échec n'affecte pas la production). Il sert à suivre l'avancement et valider les étapes, mais toute confirmation de Josh doit se faire dans la conversation.

Ajout de médias pour stock-footage-reel

python3 <SKILLS_DIR>/openmontage-house/scripts/om_clips.py \
  --query "salle informatique 1960" --query "centre de contrôle de mission" \
  --sources archive_org,nasa,loc,nara,wikimedia --n 3 --out $D/work/om_clips

Le script affiche le chemin de la miniature pour chaque média, ainsi qu'un pick directement copiable dans shots.json (format {"source":"file",...}). Les licences sont enregistrées dans om_clips/om_credits.json. Lire les miniatures pour sélectionner, vérifier chaque licence avant d'intégrer le média dans la vidéo. Sources disponibles : pexels (clé présente), archive_org, wikimedia, nasa, nara, loc, coverr, pond5_pd. Le téléchargement depuis la NASA peut parfois expirer (images-assets.nasa.gov), un message note: s'affiche alors ; il suffit d'utiliser une autre source.

Licence (AGPLv3)

Vous pouvez utiliser OpenMontage comme outil pour créer des vidéos, y compris à des fins commerciales. Les vidéos produites ne sont pas soumises à l'AGPL. Seule la modification du code d'OpenMontage et sa mise à disposition en tant que service réseau pour d'autres utilisateurs vous oblige à publier le code source modifié. Par conséquent, ne déployez pas une version modifiée d'OpenMontage en tant que service public.

Individual skills in this repo

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

bounce12340/josh-video-skills

「名人訪談/演講片段」直式 Reel(Fox Hsiao 式「解說穿插原聲」):配音依語言選聲(中文用「<YOUR_VOICE_NAME>」<YOUR_ELEVENLABS_VOICE_ID>;英文用 Sarah Explains)+繁中主字幕的解說段落,中間穿插 15 到 30 秒的名人原聲片段(16:9 置中、上下模糊底、「原聲 姓名|場合|日期」出處標籤、左上「影片/原頻道」),結尾拋問題給觀眾。一份 JSON spec 一路做到成片、720p 預覽、聯絡表、credits.json、封面。觸發語:「名人訪談」、「演講片段」、「訪談 Reel」、「Fox 式」、「解說加原聲」、「interview reel」。

bounce12340/josh-video-skills

收到「做一支影片/Reel」時先用:判斷影片類型、轉給對應的影片 skill,套用共用本家規則並交給事實編輯。只做草稿,不發文。

bounce12340/josh-video-skills

用 Playwright 錄「公開網頁」的操作畫面(捲動、滑過、點連結、高亮重點、章節卡),輸出 1080x1920 直式 mp4,當 Reel 的工具/網站導覽素材。觸發語:「錄一段網頁操作」「網站導覽素材」「螢幕錄影素材」「screen record」。只錄公開頁面,不登入、不發文。

bounce12340/josh-video-skills

「真實素材剪輯」直式短影音(AYi @ayi_ainotes 那種紀錄片風):照口播稿每一句,自動搜尋並下載免費可商用素材(Pexels、Mixkit Free、Wikimedia Commons),加上洋紅調的 1950 到 70 年代 Prelinger 公有領域老片,硬切剪輯,燒上雙語字幕(繁中+英文,重點字金色),左上固定標題,ElevenLabs 配音,暗色合成器配樂,片尾金句卡加出處小字,再用 B 剪報 Vox 樣板出封面。觸發語:「做一支真實素材剪輯」、「stock footage reel」、「AYi 風格」、「素材庫剪輯」。

Skills associés