Empacotamento para Explicação ao Estilo XiaoLin
Empacotar um conjunto de clipes de apresentação com fala (A-roll) e falas em um vídeo explicativo no estilo XiaoLin. As imagens de apresentação são geradas ou filmadas por outras ferramentas. Esta skill é responsável por consultar os materiais necessários para o empacotamento, bem como pelas imagens explicativas, legendas, transições e áudio.
Se houver um design-aesthetic-standard no ambiente, os julgamentos criativos visuais e sonoros devem segui-lo. Se houver video-generation, a geração e edição dos clipes de apresentação seguem essa skill.
Documentos de Referência (leitura conforme necessário)
references/style-bible.md: Sua linguagem gráfica, 6 regras rígidas, paleta de cores, fontes, picture-in-picture, estatísticas de transição, níveis de áudio. Deve ser lido antes de planejar as cenas.references/research.md: Que materiais consultar para cada formato, classificação das fontes, onde pesquisar, direitos de imagem. Leia ao planejar as cenas.references/layouts.md: Parâmetros de cada componente de formato, exemplos de chamada e armadilhas. Leia ao escrever o storyboard.references/storyboard-api.md: Formato detimeline.jsoneproject.json, API de storyboard, temporização de palavras-chave, comandos de revisão e renderização. Leia ao configurar o projeto pela primeira vez.
Ambiente
- Node ≥ 18, ffmpeg, python3 (com numpy e Pillow).
npm installe a primeira renderização precisam de internet (Remotion fará o download do Chrome). - Testado apenas em macOS (Apple Silicon). Outros sistemas usam renderização por software
swanglepor padrão, pode ser alterado pela variável de ambienteREMOTION_GL. - Fontes: O modelo inclui 6 fontes SIL OFL, licenças em
templates/engine/public/fonts/LICENSES.txt. A fonteYouShe.ttf(优设标题黑) pode não estar no pacote.new_project.shprocura em$YOUSHE_TTFe diretórios de fontes comuns; se não encontrar, solicita ao usuário que baixe de https://www.uisdc.com/uisdc-first-free-font e salve comopublic/fonts/YouShe.ttf. Sem essa fonte, títulos e legendas revertem para o peso mais grosso (900) da fonte Noto Sans CJK SC (思源黑体), sem inclinação, e o estilo fica visivelmente mais fraco. - Licença Remotion: Indivíduos, empresas com até 3 pessoas e organizações sem fins lucrativos podem usar gratuitamente, incluindo uso comercial. Empresas com 4 ou mais pessoas precisam adquirir uma licença corporativa (https://www.remotion.pro/license).
Fluxo de Trabalho
1. Preparar Entrada
- Clipes de apresentação: Um mp4 1920×1080 por frase, colocar em
public/clips/<id>.mp4. - Falas: Cada frase tem um texto lido
say(escrita em caracteres chineses) e texto de legendasub. - Arquivo de fatos: Copiar de
templates/facts_template.md. Escreva os fatos e fontes já existentes, os que faltam serão pesquisados na etapa 4. - Opcional: filmagens reais ou imagens AI (
public/broll/), fotos (public/photos/), música (public/music/), novos ícones (public/icons/).
2. Criar Projeto
<skill>/scripts/new_project.sh <diretório_do_projeto> # Adicionar --demo gera 4 falas falsas e storyboard de exemplo para teste de fumaça
Depois escreva timeline.json. Transcreva cada clipe de vídeo de apresentação, determine tin/tout, corte o silêncio inicial e final; os erros de fala no meio escreva em cuts. Modifique brand e music em project.json.
3. Planejar Cenas (primeiro escrever tabela, depois código)
Após ler style-bible.md e research.md, faça uma tabela: Nome da cena | Quais frases cobre | Formato | Fundo escuro ou papel branco | Modo picture-in-picture | Materiais necessários. Verifique os seguintes 5 pontos:
- Uma cena abrange 2–8 frases, não uma página por frase.
- Cada cena pode indicar "sujeito cortado" ou "sujeito ocupa mais de 60% da tela" (R1).
- Entre cada 2–3 cenas de fundo escuro, há 1 cena de fundo claro (R2).
- Onde há citação textual, use
docpage, e a citação é uma transcrição real palavra por palavra. - Deixe o gancho de abertura, as frases de opinião, as frases de virada e a conclusão para a apresentação em tela cheia, não cubra tudo com imagens explicativas.
4. Pesquisar Materiais
Pesquise item por item conforme a coluna "Materiais necessários" da tabela de cenas, métodos em research.md. Escreva cada resultado no arquivo de fatos, com número, texto original, link da fonte e data. Fotos use scripts/commons_photo.py para pesquisar e baixar.
Após pesquisar, revise a tabela de cenas: se não encontrar o texto original palavra por palavra, não use docpage; se não conseguir dados com a mesma metodologia, não use paper. Se números nas falas e no arquivo de fatos forem inconsistentes, corrija as falas primeiro, depois gere ou recorte novamente os clipes de apresentação.
5. Escrever Storyboard
Copie os métodos de escrita de templates/scenes_example.py. Cada cena deve:
- Alinhar a entrada do elemento com a palavra-chave:
S.k('palavra-chave', -0.15). - Iluminar o item atual, escurecer os outros (
focus/hl/lit). A câmera segue o item atual (sc.cam/look). - Registrar pelo menos 1 quadro de revisão usando
KF.append((rótulo, momento)).
Execute python3 story_core.py timeline.json scenes.py, confirme gaps/overlaps [].
6. Revisão de Quadros-Chave (mínimo 2 rodadas)
python3 -c "import json;print(' '.join(str(f) for _,f in json.load(open('keyframes.json'))))" | xargs node render.mjs stills stills/k1
python3 <skill>/scripts/sheet.py stills/k1 keyframes.json 6
Examine cada mosaico, modifique conforme a lista de verificação de revisão abaixo e re-renderize os quadros alterados. Se houver vídeos originais dela, capture quadros de formato similar e compare lado a lado.
7. Filme Completo, Mixagem, Síntese, Controle de Qualidade
<skill>/scripts/render_chunks.sh video.mp4
python3 <skill>/scripts/mix_audio.py timeline.json mix_raw.wav
<skill>/scripts/finalize.sh video.mp4 mix_raw.wav final.mp4
python3 <skill>/scripts/audit.py video.mp4 72 # Comparar vídeo e quadros estáticos quadro a quadro, flagged deve ser 0
Versão para celular: ffmpeg -i final.mp4 -c:v libx264 -crf 23 -preset medium -pix_fmt yuv420p -c:a aac -b:a 128k -movflags +faststart final_phone.mp4.
Lista de Verificação de Revisão
Para cada quadro-chave, verificar:
- O sujeito é grande o suficiente ou cortado pela borda. Sem grandes áreas vazias ao redor.
- O item que está sendo falado é o mais brilhante, a câmera está perto dele.
- No máximo 2 rótulos por quadro.
- Nada está obstruído por legendas (tela y 905–960), picture-in-picture, logotipo e marcação AI.
- Sem caracteres em caixa (falta glifo), sem palavras quebradas em linhas verticais, sem caracteres que transbordam do cartão.
- Números, unidades e texto original estão consistentes com o arquivo de fatos, a linha da fonte existe, fotos CC BY têm atribuição.
- Cenas de fundo claro e fundo escuro alternam.
Armadilhas Conhecidas
- Quando a palavra-chave está no início da frase,
S.k(palavra, -0.3)pode ser antes do início do clipe. Usemax(S.t0, …)para limitar. - A largura da coluna de token do
formula6é igual aiw.iwdeve ser ≥ número de caracteres ×fs. - Tela x = (mundo x − câmera x) × s + 960.
piprectocupa tela x 110–560, coloque o sujeito em ≥ 600. Ao mudar posição da câmera, a posição do sujeito na tela também muda. - O resultado de
uitem unidade padrão "元/月", useu=para alterar. - O y inferior do cartão
paperna tela deve ser ≤ 900. - As bandeiras de
ent6são apenasclcndefrjpus. - Se o caminho da imagem não existir, a renderização desse quadro falha (
FAIL ... Error loading image). Primeiro confirme comls public/<caminho>. - Quadro estático normal não significa vídeo normal. Após o filme completo, execute
audit.py. - Texto gradiente 3D acima de 600px pode travar o Chrome. Não remova o limite de camadas e desfoque do
GText.
Limites de Uso
- Esta é uma ferramenta de recriação de estilo. O produto final deve manter a marcação
brand.labelde "Gerado por AI · Não é a pessoa real", não remova. brand.logoé vazio por padrão. Preencha com o logotipo do próprio usuário; não preencha com "小Lin说" ou logotipos de outros criadores reais e depois publique publicamente.- Não use retratos ou vozes de criadores reais para gerar imagens de apresentação e depois publique publicamente.
- Não publique o produto final como se fosse obra do criador original, nem o use para enganar o público.
- Todos os dados, textos originais e políticas exibidos na tela devem ser rastreáveis até a fonte.