Broadcast News Video (Notícias em Vídeo)
Transforme roteiros de notícias em vídeos de telejornal editáveis. Por padrão, produz gráficos de código puro: globo pontilhado na abertura, fundo azul escuro, detalhes em rosa, barras de título brancas, rolagem de informações e legendas bilíngues. Use os scripts desta skill para gerar um projeto HyperFrames.
Defina o conteúdo primeiro
- Reaproveite o tema, a proporção e o esquema de voz já fornecidos pelo usuário. Padrão: 1920×1080, 30 fps, narração com aceleração de 1,3× mantendo o tom.
- Para notícias reais, verifique a fonte original e registre a data de publicação, data do evento e data da verificação; distinga entre opinião da mídia, confirmação oficial, resultado esperado e explicação institucional. Salve os links em
FACTS.mdao lado do projeto. - Ao citar dados reais nos gráficos, indique a fonte. Para pontos ilustrativos, escreva "ilustrativo" e não deixe que a quantidade pareça um resultado real.
- Consulte as regras de produção para escrever frases curtas para locução e o plano de cada cena. Legendas não devem conter vírgulas ou pontos finais.
- A menos que seja solicitado, não use avatares digitais ou serviços de geração de vídeo. Não chame geradores de vídeo que consumam créditos por padrão.
Crie o projeto
No comando, defina SKILL_DIR como o diretório deste arquivo e WORK_DIR como o diretório de saída independente do usuário. Não escreva artefatos no diretório da skill.
python3 -m pip install -r "$SKILL_DIR/scripts/requirements.txt"
python3 "$SKILL_DIR/scripts/setup.py" --output "$WORK_DIR"
Copie assets/example.json como brief.json do projeto e adapte-o conforme as regras de configuração para o conteúdo do usuário. O exemplo deve ser claramente marcado como fictício. Troque o nome do canal, data, título, barras de informação e dados das cenas, sem manter a narrativa do exemplo.
Visualização sem narração:
python3 "$SKILL_DIR/scripts/build.py" --brief "$WORK_DIR/brief.json" --output "$WORK_DIR"
O build.py gera, a partir do JSON, a abertura e as cenas cards, dots, flow e quote, uma única faixa de legendas, SRT, linha do tempo e música de fundo combinada. Todo texto visível passa por escape HTML; as animações são conduzidas por timelines GSAP pausadas.
Narração opcional
Priorize o uso de áudio e legendas por cena já fornecidos e autorizados pelo usuário. Não envie vozes particulares para repositórios públicos. Coloque o áudio em voice/ no diretório de saída. O campo voice de cada cena deve referenciar o caminho relativo ao brief.json; captions usa os segundos do áudio original, que são divididos por speed durante a construção.
Se o usuário solicitar narração via MiniMax, use a variável de ambiente externa MINIMAX_API_KEY e o --voice-id especificado pelo usuário. Não coloque chaves em JSON, scripts, documentação, argumentos de linha de comando, nem imprima chaves ou salve respostas brutas da API. Esta interface pode ser cobrada; execute apenas quando o usuário já tiver autorizado a narração.
python3 "$SKILL_DIR/scripts/voice.py" --brief "$WORK_DIR/brief.json" --output "$WORK_DIR/voice" --dry-run
python3 "$SKILL_DIR/scripts/voice.py" --brief "$WORK_DIR/brief.json" --output "$WORK_DIR/voice" --voice-id "$MINIMAX_VOICE_ID" --execute
python3 "$SKILL_DIR/scripts/build.py" --brief "$WORK_DIR/voice/brief.voiced.json" --output "$WORK_DIR"
Após a geração normal, mantenha a aceleração com preservação de tom; as legendas são sincronizadas com a velocidade alterada; a música toca em 1×. Não acelere novamente na renderização. Pare se a requisição paga falhar ou se o resultado for desconhecido; não tente novamente automaticamente. Se timestamps reais da interface forem retornados, use-os; não estime a precisão das legendas a partir de proporções de caracteres.
Verificação e entrega
Requer Node.js 22+ e FFmpeg/FFprobe. Testado com HyperFrames 0.9.23.
npx --yes [email protected] check "$WORK_DIR" --json
npx --yes [email protected] snapshot "$WORK_DIR" --at 1.5,5,10
npx --yes [email protected] preview "$WORK_DIR" --background
npx --yes [email protected] render "$WORK_DIR" --quality delivery --output "$WORK_DIR/news.mp4"
- Corrija erros de lint/execução/layout; verifique os snapshots no meio de cada cena e inspecione títulos, fontes, legendas, barras de rolagem e o significado dos pontos.
- Ajuste os tempos de
snapshot --atpara os pontos médios reais das cenas emtimeline.json. - Se o usuário solicitar o vídeo final ou tiver autorizado a execução contínua, prossiga para a renderização após a verificação; caso contrário, forneça uma prévia editável.
- Use FFprobe para conferir duração, resolução, taxa de quadros e faixas de áudio do MP4; use FFmpeg para verificar erros de decodificação. Ouça a locução e a mixagem; se não ouvir, declare isso honestamente.
- Entregue o MP4,
final.srt, snapshots e o projeto editável, mantendo as verificações de fatos e as licenças dos assets.
Compartilhamento público
Empacote apenas a skill e o exemplo neutro. Exclua áudios pessoais, vídeos originais, credenciais, roteiros particulares, respostas de API, caminhos absolutos da máquina local, assets de marca e IDs de voz privados. Primeiro execute scripts/audit.py para escanear o diretório a ser publicado; depois verifique os arquivos rastreados pelo Git e a identidade dos commits — não dependa apenas do .gitignore.
O conteúdo original desta skill usa assets/LICENSE-MIT.txt; GSAP, fontes e mapas baixados mantêm suas próprias licenças, conforme notas de terceiros.