Communitygithub.com

bounce12340/josh-video-skills

Camada de regras personalizadas para usar o OpenMontage (pipeline de vídeo AI de código aberto, <SKILLS_DIR>/OpenMontage) na produção de vídeos do Josh. Aplicável a: corte de vídeos longos em clipes curtos, tutoriais de gravação de tela real, dublagem e tradução, podcast para vídeo, análise de vídeos de referência, montagens documentais sem narração e adição de filmes antigos da NASA/Biblioteca do Congresso/NARA/Archive.org para stock-footage-reel. Frases de ativação: "Usar OpenMontage", "Cortar vídeo longo", "Fazer igual a este Reel", "Dublar e traduzir", "Vídeo tutorial de tela".

O que é josh-video-skills?

Este skill define as regras internas da casa para usar o OpenMontage (pipeline de vídeo AI de código aberto, commit 9327439) na produção de vídeos do Josh. Ele funciona como uma camada de adaptação que sobrescreve as configurações padrão do OpenMontage para atender às necessidades específicas de cada tipo de conteúdo: corte de vídeos longos em clipes verticais (clip-factory), tutoriais de gravação de tela real (screen-demo), dublagem e tradução (localization-dub), podcast para vídeo (podcast-repurpose), análise de vídeos de referência do Reels/Shorts, montagens documentais sem narração (documentary-montage) e adição de filmes antigos de domínio público de fontes como NASA, Biblioteca do Congresso, NARA e Archive.org para o formato stock-footage-reel. O skill também gerencia a busca de materiais de arquivo via o script `om_clips.py`, que baixa clips e gera entradas `pick` prontas para o `shots.json` do OpenMontage, registrando automaticamente as licenças em `om_credits.json`. Plataformas suportadas: Instagram (formato vertical 9:16, 1080x1920, <45MB, H.264/AAC), YouTube, Podcasts. Requer ambiente configurado com as ferramentas do OpenMontage (Piper-TTS, Faster-Whisper, yt-dlp, CLIP, etc.) e chaves de API para Pexels e ElevenLabs (voz Sarah Explains). Importante: o skill não publica nada; a publicação é feita pelo bot principal após a aprovação do Josh.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

openmontage-house:OpenMontage + Regras da Casa do Josh

OpenMontage base: <SKILLS_DIR>/OpenMontage (commit 9327439, 2026-10-03, AGPLv3). Documentação completa do base: AGENT_GUIDE.md, CLAUDE.md, skills/INDEX.md, pipeline_defs/*.yaml. Este skill apenas cria rascunhos, não publica. A publicação é feita exclusivamente pelo bot principal após a confirmação do Josh.

Decida primeiro se deve usar o OpenMontage (veja a tabela de decisão em <SKILLS_DIR>/INDEX.md)

  • Reels com narração bilíngue, edição de material real → Use stock-footage-reel (formato da casa), não use o documentary-montage do OpenMontage. Para adicionar mais filmes antigos/material de domínio público, use o om_clips.py abaixo e insira com pick: {"source":"file", ...} no shots.json.
  • Animação explicativa estilo Vox → Use huashu-art-motion, não use o animated-explainer do OpenMontage.
  • Outros (corte de clipes, gravação de tela, dublagem/tradução, podcast, análise de vídeo de referência, montagem sem narração) → Use o OpenMontage, sobrescrevendo os padrões com as regras da casa abaixo.

Ambiente

source <SKILLS_DIR>/OpenMontage/om-env.sh   # Ativa .venv e Node 22, e cd para OpenMontage
python -c "from tools.tool_registry import registry; import json; registry.discover(); print(json.dumps(registry.support_envelope(), indent=2))"   # Ver quais ferramentas estão disponíveis
  • Instalado: requirements.txt, Remotion composer (npm), piper-tts, faster-whisper, yt-dlp, youtube-transcript-api, opencv-headless, HyperFrames (npx cache 0.8.147), e torch 2.14.1 (CPU) + transformers 5.19 (sem GPU). Correspondência semântica CLIP disponível: após construir a biblioteca de materiais com corpus_builder, o clip_search pode usar rank_for_slot para classificar materiais por descrição textual (pontuação >= 0.25 é utilizável); o video_understand (modo CLIP) também funciona. Na primeira vez, fará o download do modelo CLIP do Hugging Face (openai/clip-vit-base-patch32); construir uma pequena biblioteca de 5 materiais leva cerca de 1 minuto na CPU. O corpus_builder mostrar "degraded" apenas porque metade das fontes de material não tem chave, não afeta o uso.
  • Chaves: PEXELS_API_KEY, ELEVENLABS_API_KEY são variáveis de ambiente da máquina (disponíveis apenas em shells novos, use bash -lc se necessário); om-env.sh as herda, mas não as escreva ou imprima em arquivos. As demais chaves estão vazias. Não crie novas contas ou chaves pagas para o OpenMontage; pergunte ao Josh antes de adicionar.
  • Geração paga (Kling, Veo, Seedance, FLUX etc.) – sem chaves no momento; o seletor as ignora automaticamente. O OpenMontage fornece um orçamento antes de gastar, que precisa ser aprovado pelo Josh.

Regras da Casa (Sobrescrevem os padrões do OpenMontage; aplicar a cada vídeo)

  1. Formato: Vertical 1080x1920 (a maioria dos padrões do OpenMontage é 16:9; especificar 9:16 ao iniciar). Duração máxima de 3 minutos. Priorizar completude sobre concisão.
  2. Narração: Voz feminina inglesa Sarah Explains da ElevenLabs (voice_id Nhs7eitvQWFTQBsf0yiT), modelo eleven_multilingual_v2.
    • Primeira opção: Usar a ferramenta elevenlabs_tts do próprio OpenMontage (já testada e funcionando). Especificar o voice_id, não deixar o tts_selector escolher voz automaticamente nem cair para piper. Exemplo: ElevenLabsTTS().execute({"text":..., "voice_id":"Nhs7eitvQWFTQBsf0yiT", "model_id":"eleven_multilingual_v2", "output_path":".../vo.mp3"}). Enviar o roteiro uma vez; não reenviar (para não descontar créditos duas vezes).
    • Plano B: Se a API direta falhar, usar o conector user-Elevenlabs (creative_generate_speech, generations_count: 1) para gerar o vo.mp3 e depois entregá-lo como narração pronta para o OpenMontage. Não usar piper como narração oficial.
  3. Legendas: Legenda principal em chinês tradicional + uma linha menor abaixo em inglês (inglês correspondente à narração). Usar terminologia de Taiwan. Usar aspas "" (não travessão). A borda inferior da legenda não deve ficar abaixo de y=1490, para evitar a interface do Instagram.
  4. Capa: Template de capa estilo B-reel Vox, usando <SEU_WORKSPACE>/media-team/00-profile/covers/render.py (não usar a capa/thumbnail do OpenMontage).
  5. Licenciamento: Registrar cada material em credits.json (URL, autor, licença). A licença do Archive.org é "verificar por item" – sempre abrir a página de cada item para confirmar se é domínio público ou CC0/CC BY. Não usar filmes da BBC, emissoras de TV ou estúdios de cinema. Créditos CC BY devem ser mencionados na descrição da postagem.
  6. Arquivo: Vídeo final para Instagram: H.264/AAC, abaixo de 45 MB (verificar com ffprobe o tamanho e a duração).
  7. Conteúdo: Fiel ao original; não inventar números ou citações; creditar o autor original.
  8. Saída: Produto final em <SEU_WORKSPACE>/media-team/03-drafts/<tema>/; o diretório projects/ do OpenMontage é apenas área de trabalho.

Como iniciar cada fluxo

Abra o Claude Code na pasta do OpenMontage (ele lerá o CLAUDE.md) ou outro bot que leia diretamente skills/pipelines/<fluxo>/executive-producer.md para seguir as etapas. Na primeira instrução, cole as regras da casa acima.

  • clip-factory: Cortar vídeos longos (YouTube, lives, gravações de podcast) em vários clipes verticais. Antes de baixar o vídeo com yt-dlp, confirmar que o Josh tem direitos de uso.
  • screen-demo: Tutoriais com gravação de tela real (screen_recorder/cap_recorder disponíveis).
  • localization-dub: Traduzir e dublar um vídeo em outro idioma. A narração deve ser gerada primeiro com o conector ElevenLabs, depois sincronizada e mixada.
  • podcast-repurpose: Converter áudio de podcast em clipes curtos com destaque.
  • Análise de vídeo de referência: Colocar um Reel/Short para análise de ritmo, abertura e estrutura; sugerir 2 a 3 versões originais com estimativa de custo (animated-explainer, animation, cinematic, character-animation têm reference_input). Apenas aprender a estrutura; não copiar imagens ou texto.
  • documentary-montage: Montagem temática sem (ou com pouca) narração, estilo Adam Curtis, usando correspondência semântica CLIP para selecionar automaticamente materiais para cada parágrafo. Reels com narração ainda devem usar stock-footage-reel.
  • Backlot storyboard: python -m backlot open <project-id> (quadro local, apenas para observação; falha não interrompe a produção). Serve apenas para ver o progresso e confirmar marcos; a confirmação do Josh ainda deve ser feita no chat.

Adicionar material ao stock-footage-reel

python3 <SKILLS_DIR>/openmontage-house/scripts/om_clips.py \
  --query "1960s computer room" --query "mission control" \
  --sources archive_org,nasa,loc,nara,wikimedia --n 3 --out $D/work/om_clips

Imprime o caminho da miniatura de cada clipe e um pick ({"source":"file",...}) pronto para ser colado no shots.json. O registro de licenças é salvo em om_clips/om_credits.json. Use o comando Read para ver as miniaturas, verifique a licença de cada um e só então insira no vídeo. Fontes disponíveis: pexels (com chave), archive_org, wikimedia, nasa, nara, loc, coverr, pond5_pd. Para NASA, às vezes o download excede o tempo limite (images-assets.nasa.gov); nesse caso, a saída mostrará note:, bastando trocar de fonte.

Licenciamento (AGPLv3)

Usar o OpenMontage como ferramenta para criar vídeos e postagens comerciais é permitido; os vídeos produzidos não estão sujeitos à AGPL. Apenas a modificação do código-fonte e sua disponibilização como serviço web para terceiros exige a publicação do código-fonte modificado. Portanto, não hospede uma versão modificada do OpenMontage como um serviço externo.

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 風格」、「素材庫剪輯」。

Habilidades Relacionadas