O que yamlreel-video-skills faz?
Escreva uma especificação YAML, renderize localmente com yamlreel, verifique a folha de contato e entregue o vídeo. <skill> abaixo significa o diretório onde este arquivo está localizado.
Fluxo de Trabalho
- Configuração. Execute
python3 <skill>/scripts/check_setup.py(ele também verifica a versão e os recursos do yamlreel). Se falhar, mostre ao usuário as correções impressas. Execute com--installsomente após o usuário concordar. Nunca instale fontes ou pacotes do sistema por conta própria. - Esclareça em UMA mensagem, oferecendo padrões: tópico, público, formato (padrão vertical), duração (padrão 30s), tema (
midnight|sumi|washi), voz (padrão nenhuma). Pule qualquer coisa que o usuário já tenha dito. - Roteiro primeiro. Escreva
videos/<slug>/script.txtno formato de batidas dereferences/writing-guide.md(duração alvo, um bloco[BEAT - input -> action -> result]por batida com sua fala e notas de entrega) e mostre ao usuário. Se ele pediu para revisar primeiro, pare e aguarde um sinal verde antes de rascunhar ou renderizar qualquer coisa. Esboço. Em seguida, escrevavideos/<slug>/outline.yaml(tópico, gancho, problema, 1-6 etapas cada uma comname,say,show, além de when_to_use, question, answers). As regras estão emreferences/writing-guide.md: 15s = uma ideia; 30-45s = uma ideia mais até 3 etapas; no máximo 60s para #Shorts. - Rascunho:
yamlreel story videos/<slug>/outline.yaml --out videos/<slug>/spec.yaml --format <fmt> --theme <t>. Use--forceapenas para arquivos que você criou. - Edite a especificação. Substitua todo
TODO; definameta.title/description/tags,formats,music.seed. O texto na tela é curto; a narração explica a tela e nunca a repete. Campos por tipo de cena:references/scene-types.md. - Pré-visualização:
python3 <skill>/scripts/render.py videos/<slug>/spec.yaml --stage preview --out videos/<slug>/out. Em erro, corrija a especificação com base na mensagem (erros de campo desconhecido listam as chaves permitidas) ereferences/troubleshooting.md. Repita no máximo 3 vezes, depois reporte ao usuário. - Inspecione (obrigatório). Abra cada
contact.pnglistado na linhaRESULTcom a ferramenta de visualização de imagens. Verifique: sem sobreposição, sem texto cortado ou encolhido, revela progresso entre os stills, gancho legível no primeiro still. Corrija a especificação e repita o passo 6 até ficar limpo, no máximo 3 ciclos. - Final:
python3 <skill>/scripts/render.py videos/<slug>/spec.yaml --stage final --out videos/<slug>/out. - Polimento opcional. Se o usuário quiser efeitos sonoros, ajuste de loudness ou verificação de loop, e
yamlreel audit --helpfuncionar, sigareferences/polish.mdnovideo.mp4final (nunca toca na especificação). - Relate os caminhos para cada
video.mp4,poster.jpgecontact.png, e cole o conteúdo deshare-copy.txt. Lembre o usuário de verificar os fatos de qualquer coisa simplificada. A publicação é responsabilidade do usuário.
Códigos de saída do render.py: 0 ok, 1 erro do yamlreel (stderr ecoado), 2 pré-voo recusado (mensagem explica por quê), 3 avisos de pré-visualização bloqueiam a renderização final (encurte texto, reordene dicas at; use --allow-warnings apenas se o usuário aceitar), 4 argumentos ruins (por exemplo, --contact-frames fora de 1-8).
Sua última linha é RESULT {json} com cada caminho de saída. Um log é escrito em <out>/render-log.txt.
Padrões e fatos
- As renderizações usam
--no-voice(apenas música). Legendas e narração não são visíveis em renderizações sem voz; isso é esperado. - A saída vai para
<out>/{preview,final}/<format>/; sempre passe--out videos/<slug>/outpara que dois projetos nunca compartilhem uma pasta (o padrão é<spec folder>/out). music.seedfixo mantém as renderizações determinísticas. Não adicionewatermarka menos que o usuário peça.- Narração é opcional e traga a sua própria: veja
references/voiceover.md. - Exemplos para copiar:
examples/*.yaml.
Regras de segurança
- Nunca coloque segredos, tokens, conteúdo de
.env, nomes de host internos ou dados pessoais/de clientes em uma especificação: eles são gravados nos quadros e noshare-copy.txt. Exemplos de código usam placeholders. - Leia e escreva apenas dentro da pasta de projeto do usuário; coloque imagens ao lado da especificação. Nunca adicione
--allow-pathou--allow-private-hostsa menos que o usuário peça explicitamente, nomeando a pasta. - Voz apenas com um servidor TTS local que o usuário nomeie; o texto da narração é enviado para ele. Nunca uma URL remota.
- Nunca instale pacotes do sistema ou fontes, ou edite
~/.config/yamlreel/config.yaml, sem o consentimento do usuário. - Cenas
shot: apenas URLs https públicas fornecidas pelo usuário, ou imagens locais no projeto. - Nunca faça upload ou publique o resultado.