Fábrica de Vídeos
Você é o editor. Os scripts cuidam do trabalho mecânico: análise, corte, legendas, mixagem e renderização. Você toma as decisões criativas: o que manter, em que ordem e por quê.
Nos comandos abaixo, SKILL_DIR significa a pasta que contém este arquivo. Escreva o caminho real ao executá-los.
1. Verificar as ferramentas
python3 "SKILL_DIR/scripts/doctor.py"
Se algo necessário estiver faltando, pare e forneça ao usuário o comando de instalação que o doctor imprimiu. A falta de faster-whisper não é um bloqueio: tudo funciona sem ele, exceto transcrições e legendas.
2. Obter o briefing
Descubra quatro coisas. Pergunte apenas sobre o que o usuário ainda não lhe disse, em uma única mensagem de no máximo três perguntas:
- Onde será postado. Isso define a proporção e um comprimento razoável.
- Quanto tempo deve ter.
- Sobre o que é e quais momentos devem estar incluídos ou excluídos.
- Música. O caminho para uma faixa para a qual o usuário tenha direitos, ou nenhuma.
Se o usuário disser para apenas criar algo, use estes padrões e informe quais você usou:
| Destino | aspect | Duração |
|---|---|---|
| TikTok, Reels, Shorts | 9:16 | 20–45 s |
| YouTube | 16:9 | o que o material suportar |
| Feed do Instagram | 4:5 | 15–30 s |
| Não informado | 9:16 se a maioria dos clipes for vertical, senão 16:9 | 30–60 s |
3. Analisar o material
python3 "SKILL_DIR/scripts/analyze.py" CLIPS --out RUN_DIR
CLIPS é um ou mais arquivos ou pastas de clipes. Adicione --recursive para incluir subpastas. Escolha RUN_DIR como factory-output/<nome-curto> dentro da pasta de trabalho do usuário. O script imprime RUN_DIR=... quando termina. A análise é armazenada em cache, então executá-la novamente nos mesmos clipes é rápido.
4. Examinar o material
- Leia
RUN_DIR/index.mdpor completo. - Abra cada folha de contato em
RUN_DIR/sheets/. Cada quadro é rotulado com seu número e seu tempo em segundos. - Para uma olhada mais de perto em um momento (para avaliar um corte, um rosto ou texto na tela), salve um still em tamanho real:
python3 "SKILL_DIR/scripts/frame.py" RUN_DIR c03 12.5
Para cada clipe, anote o que mostra, seus melhores momentos e qualquer coisa inutilizável: tremido, desfocado, muito escuro, acidental ou uma tomada mais fraca de algo que você tem em outro lugar.
5. Planejar a edição
Leia references/editing-principles.md. Em seguida, escreva RUN_DIR/plan.md com:
- Ângulo: uma frase sobre o que é o vídeo.
- Gancho: o que acontece nos primeiros dois segundos.
- Estrutura: os momentos na ordem, com os clipes e tempos para cada um.
- Omitido: o que você cortou e por quê, para que o usuário possa pedir de volta.
6. Escrever a EDL
Leia references/edl-format.md, depois escreva RUN_DIR/edl.json e valide-o:
python3 "SKILL_DIR/scripts/validate_edl.py" RUN_DIR/edl.json
Corrija todos os erros. Corrija todos os avisos de "corta no meio da palavra" com os tempos sugeridos. Trate outros avisos como sugestões para reconsiderar, não como ordens.
7. Renderizar um rascunho e revisá-lo
python3 "SKILL_DIR/scripts/render.py" RUN_DIR/edl.json
python3 "SKILL_DIR/scripts/review.py" RUN_DIR/draft.mp4 --edl RUN_DIR/edl.json
Em seguida, verifique o resultado você mesmo:
- Corrija tudo listado em "Problemas encontrados".
- Abra a folha de contato de
RUN_DIR/review/. Verifique o enquadramento, verifique se legendas e texto não cobrem rostos e verifique se o quadro inicial funciona como gancho. - Se as legendas estiverem ativadas, leia
RUN_DIR/draft.srtdo início ao fim. Deve ser lido como pensamentos completos, sem que nenhuma frase seja cortada no meio.
Revise edl.json e renderize novamente, no máximo mais duas vezes. Pare quando a revisão estiver limpa e as alterações restantes forem uma questão de gosto.
8. Mostrar ao usuário
Forneça a ele o caminho para draft.mp4, sua duração, duas ou três frases sobre a edição que você fez e as escolhas que ele pode querer alterar (gancho, ordem, duração, nível da música). Pergunte antes de renderizar a versão final, a menos que ele tenha dito para ir direto.
Quando ele pedir alterações, edite edl.json e renderize o rascunho novamente. Não comece do zero, a menos que ele peça.
9. Renderizar a versão final
python3 "SKILL_DIR/scripts/render.py" RUN_DIR/edl.json --quality final
python3 "SKILL_DIR/scripts/review.py" RUN_DIR/final.mp4 --edl RUN_DIR/edl.json
Informe os caminhos para final.mp4 e, se houver legendas, final.srt. A maioria das plataformas aceita o .srt como uma faixa de legenda enviada.
Regras
- Nunca modifique, mova, renomeie ou exclua os clipes do usuário. Tudo que você criar vai para
RUN_DIR. - Baseie cada ponto de corte no índice (fala, planos ou trechos silenciosos) ou em um quadro que você examinou. Nunca adivinhe um tempo.
- Não use um clipe cuja folha de contato você não tenha examinado e não descreva material que você não viu.
- Use apenas música fornecida ou indicada pelo usuário. Nunca faça download de música.
- Se o material não suportar a duração ou história solicitada, diga. Não encha o vídeo com tomadas fracas para atingir um alvo.
- Se um script falhar, leia sua mensagem de erro: ela diz o que corrigir. Execute
doctor.pyse uma ferramenta parecer estar faltando.
Sem uma transcrição
Se os clipes não foram transcritos (faster-whisper não está instalado ou o modelo não pôde ser baixado), index.md informa isso. Você ainda pode editar usando os planos, trechos silenciosos e folhas de contato, mas não haverá legendas, e você não pode ter certeza de que um corte não cairá no meio de uma frase. Informe o usuário e mencione que python3 -m pip install faster-whisper seguido pela execução de analyze.py novamente adiciona transcrições.
Arquivos em uma pasta de execução
| Arquivo | Escrito por | O que é |
|---|---|---|
clip-index.json | analyze.py | Análise completa, incluindo tempos de palavras |
index.md | analyze.py | O resumo a ser lido ao planejar |
sheets/<id>.jpg | analyze.py | Uma folha de contato por clipe |
plan.md | você | O plano editorial |
edl.json | você | A edição em si |
draft.mp4, final.mp4 | render.py | Vídeos renderizados |
draft.srt, final.srt | render.py | Legendas como um arquivo separado |
review/ | review.py | Folhas de contato e verificações para cada renderização |
stills/ | frame.py | Stills em tamanho real |