Editnado — Edição automática a partir de fotos, vídeos e sentimentos
Editar? Eu também! — Com uma palavra, um tornado de edição ataca.
O usuário só precisa informar uma pasta de fotos/vídeos + o sentimento do dia (memorando de voz) + um estilo desejado, e depois ajusta pelo chat e vê o resultado. Cálculo, renderização e transcrição ficam por conta das ferramentas do PC (token 0), enquanto a IA foca nas decisões de qualidade (combinar cenas e falas, corrigir transcrição, verificar imagens de referência).
O executor é único: vc.cmd nesta pasta (doctor · setup · auto · build · transcribe · sheet · stills · template). No PowerShell, chame com & "<caminho desta pasta>\vc.cmd" auto ... (Git Bash com cmd //c não funciona).
0. O que a IA deve cumprir
- Qualidade em primeiro lugar, tokens depois. Veja o que for necessário para a decisão — uma linha do JSON de resultado do
auto, a coleção de cenas (sheet_1.png), a imagem de verificação. Deixe o cálculo e a repetição para o PC; não leia o código fonte do executor, lista de comandos, nem a pasta inteira (a lista émedia.json). Só abra fotos/vídeos originais se a coleção de cenas não for suficiente. - Instalação só com permissão. Na primeira vez, execute
vc.cmd setup→ mostre ao usuário a tabela (o quê, quantos MB) e, após autorização, executevc.cmd setup -Yes. Não use privilégios de administrador. - Originais são somente leitura. O resultado é escrito apenas em
<pasta>\completo\(ou na pasta definida por-Out). - Não invente. Título, legendas e texto do blog devem usar apenas o que está no sentimento, fotos e data/hora da captura. Informações como preço de lugares, horários de funcionamento, etc., só se o usuário as forneceu.
- Veja a imagem de verificação antes de dizer "completo". Se legendas estiverem cortadas ou a tela vazia, corrija o plano e renderize novamente.
- Linguagem simples. Fale com o usuário em português claro e conciso; mostre comandos, caminhos e inglês apenas quando necessário.
- Não use contas, chaves de API ou créditos pagos. Ao enviar dados pessoais (como localização das fotos) para serviços externos, peça permissão a cada vez.
1. Fluxo
① Preparação vc.cmd doctor → Se faltar FilmCraft/ferramenta de transcrição, instale conforme 0-2
② Rascunho vc.cmd auto <pasta> -Template <id> [-Title "título"] [-Out <pasta de saída>] [-Bgm <arquivo de música>]
→ Na pasta de saída (padrão <pasta>\completo\): plan.json · preview mp4 (metade do tamanho) · imagem de verificação · sheet_1.png (coleção de cenas) · última linha JSON
{"plan","output","check","seconds_total","scenes":[{n,file,kind,taken,sentence,seconds}],
"sentences":[{k,at,text}],"warnings":[…]}
③ Ajustes A qualidade é definida aqui — antes de mostrar ao usuário, veja três coisas:
a. Cena ↔ fala: Verifique sheet_1.png e sentences para ver se cada cena combina com o conteúdo da respectiva frase. Se não, corrija apenas o "align" do plan.json (números das frases a mostrar por cena, em ordem crescente) — o cálculo de tempo e intervalo de vídeo fica com o build.
b. Transcrição: Se houver erros de digitação ou nomes próprios (ex.: "sol se pôe" → "sol se põe"), corrija apenas o texto em <pasta de saída>\<nome_gravação>.srt e atualize "captions": {"srt": <esse arquivo>} (os tempos ficam como estão — o build desloca conforme a introdução).
c. warnings: Se aparecer "título da introdução tem N linhas", encurte o título.
Depois de corrigir, execute vc.cmd build <plan.json> -Preview
④ Mostrar Veja a imagem de verificação (um quadro por cena) e informe ao usuário: "32s · 9 cenas · primeira legenda "…" · preview: <caminho>"
⑤ Corrigir Fala do usuário → corrija apenas o valor correspondente no plan.json e execute vc.cmd build <plan.json> -Preview
⑥ Finalizar vc.cmd build <plan.json> → mp4 na qualidade original + .srt
- O que
autofaz: ordena por data/hora de captura · vídeos pegam o trecho do meio · arquivos de áudio com "sentimento·memo·gravação·voz" no nome são transcritos como minha narração, gerando legendas (quebradas em 2 linhas após terminações e posposições) · cada frase da narração é associada a cenas (padrão: cenas com data/hora próxima formam uma frase, e a pausa entre frases muda de cena) · preserva o som ambiente do vídeo, reduzindo durante a fala · arquivos com "bgm·música·music" no nome (ou-Bgm) são usados como música de fundo (diminui automaticamente durante a fala) · usa introdução, paleta de cores e estilo de legenda do modelo. - Faça uma pergunta de cada vez. Se apenas a pasta for conhecida, use os valores padrão do modelo para o resto.
2. Escolha do modelo
| Fala do usuário | -Template |
|---|---|
| padrão·vlog·viagem·paisagem·YouTube | default |
| Shorts·Reels·TikTok·vertical·rápido | shorts_fast |
| calmo·sentimental·tranquilo | calm_mood |
| comida·comilança·café | food_quick |
| família·pais·letras grandes·álbum | family_big |
| aula·review·demonstração·explicação | tech_tutorial |
- Se não souber, use
default; se for só "vertical", useshorts_fast. As palavras emmeta.wordsde cada modelo são as que o chamam. - Instalados e disponíveis:
vc.cmd template list· Instalação:vc.cmd template install <id ou zip>— a escolha é do usuário. - Nova versão da skill ("atualizar skill"):
vc.cmd update→ mostre as mudanças ao usuário e peça permissão →vc.cmd update -Yes. Se a pasta veio do git, fazgit pull(para se houver alterações locais); se veio de um zip, baixa o último release, verifica SHA256 e substitui. Preferências pessoais emprofiles/locale modelos instalados são mantidos; arquivos alterados são copiados como backup. - Formato do modelo e como criar:
templates/README.md
3. Correções frequentes no plan.json
| Fala do usuário | Onde corrigir (overrides são chaves com ponto) |
|---|---|
| Legenda um pouco para cima / para baixo | overrides."subtitles.margin" ± 0.04 |
| Legenda maior / menor | overrides."subtitles.size" (padrão ≈ 64) |
| Música mais baixa / mais alta | overrides."audio.bgm_duck_db" −3 / +3 |
| Remover esta cena / trocar ordem | Remover·mover no array timeline (e remover·mover a mesma posição em align) |
| Cena não combina com a fala | align — números das frases por cena (ex.: [1,2,2,3,3,4,4,5]) |
| Última cena mais longa / mais curta | tail_seconds ± 3 (pausa após a fala, padrão 1s) |
| Cena do meio mais longa | Se houver align, dê mais uma frase para aquela cena (não aumente o tempo, para não desalinhar fala e tela). Se não houver, adicione +3 ao seconds daquele item. |
| Cortar parte da foto / objeto estranho | Naquele item, crop: [esquerda, topo, largura, altura] proporções 0~1 (ex.: cortar 20% da direita = [0,0,0.8,1]) — original inalterado. |
| Remover cor | overrides."video.color_preset": null |
| Remover introdução | overrides."intro": null |
| Trocar título | title |
- "Só desta vez" = use
overridescomo acima. "Para sempre" = escreva a mesma chave emprofiles/local/<id_do_modelo>.json(não altere arquivos públicos). - Se a chave não existir, o executor para com "chave não encontrada no perfil (erro de digitação?)" — a lista de chaves está em
references/preset-guide.md.
4. Como escrever o sentimento
| Uso | Método |
|---|---|
| Minha narração com minha voz | O auto transcreve automaticamente o memorando de voz da pasta e gera legendas. Se nomes próprios estiverem errados, corrija <pasta>\completo\<nome_gravação>.srt e aponte captions.srt no plano. |
| Narração com voz de máquina | Sentimento escrito → no plano: "narration": {"mode":"tts","lines":[{"text":"…"}]} (voz em português do Windows) |
| Título e texto das legendas | Resuma o sentimento de forma curta. Uma linha = dentro de subtitles.max_chars do modelo. |
| Texto do blog | Veja item 6 abaixo. |
Escolha do tom: O modelo tem padrões text.tone (título, frases da narração por máquina) e blog.tone (blog) — formal · neutro · informal. Se o usuário pedir um tom específico, use overrides."text.tone" para esta vez, ou escreva em profiles/local/<id>.json para sempre, e reescreva as frases nesse tom. As legendas da voz do usuário permanecem como ditas (para não desalinhar com o áudio).
5. Fotos e thumbnail
- Ajuste de foto (opcional):
lightcraft-cli render <foto> -o <pasta_de_saída>\_vc_work\photo\<nome>.jpg --set color.vibrance=8 --size 1920(valores conformephoto.*do modelo), e aponte o caminho da foto no plano para a versão ajustada. - Thumbnail: No projeto finalizado, um quadro no momento em que a introdução aparece —
filmcraft-cli --project <_vc_work\.fcproj> render --seconds 1.5 --out thumb.png - Ocultar rostos (opcional):
deface.cmd <foto·vídeo> -o <resultado>— só use depois de verificar que realmente encontra rostos humanos nos materiais fornecidos.
6. Rascunho de blog
Escreva em <pasta de saída>\blog\draft.md: regras do modelo blog.* (tom, subtítulos, grupos de fotos) + regras do fato 4. As fotos são as versões ajustadas, na ordem de data/hora. Para incluir um quadro de cada vídeo, execute vc.cmd stills <plan.json> → em <pasta de saída>\stills\, gera um quadro do meio do trecho realmente usado de cada vídeo (qualidade original). Se houver uma skill específica de blog do usuário (como blog-writer), passe o conteúdo para ela.
7. Documentos de referência (abra apenas quando necessário)
references/edit-plan.md— formato do plano ·references/preset-guide.md— todas as chavesreferences/filmcraft-commands.md— comandos confirmados do FilmCraft e armadilhas (apenas ao modificar o executor)references/cli-recipes.md— comandos para fotos, thumbnail e ferramentas abertas ·references/toolchain.md— fontes das ferramentas, licenças, MCPreferences/onboarding.md— novo PC ·references/style-extractor.md— extrair estilo de um vídeo de referênciatemplates/README.md— formato do modelo e regras de venda
Histórico de revisões
- 2026-11-12: Criação inicial → no mesmo dia, plano interativo + executor
vc.ps1 - 2026-11-13: 2.0 — rascunho automático
auto, instalaçãosetup, 6 modelos (introdução, paleta), transcriçãotranscribe, divisão inteligente de legendas, ducking de som ambiente, escolha de tom, cabeçalho do padrão aberto (agentskills.io) - 2026-11-14: 2.3.1 — Correção do local de instalação/backup que em PCs comuns usava a pasta relativa "C"; agora usa
vc_paths Get-InstallRoot; licenças ArtCraft MIT/Apache-2.0 - 2026-11-13: 2.3 — Nome Editnado (antigo video-craft): pasta, repositório, nome do zip do release, frase "Editar? Eu também!"
- 2026-11-13: 2.2 — Atualização da skill via
vc.cmd update(git, release zip, zip baixado manualmente), procedimento de release (release.ps1, para administradores) - 2026-11-13: 2.1 — Princípio de qualidade em primeiro lugar, alinhamento de cenas com frases (
align·tail_seconds), quebra de legendas após terminações e posposições, corte de fotos (crop), quadro para blog (stills), preview do auto com metade do tamanho, preservação de som ambiente, aviso de título longo