O que shortcut-clips faz?
Uma pipeline local faz o trabalho mecânico (transcrever, encontrar janelas candidatas, reenquadrar, legendar, renderizar). Seu trabalho é a etapa de julgamento: ler os momentos candidatos como texto, escolher os melhores e escrever clips.json. Você nunca vê ou precisa de quadros de vídeo.
0. Entradas
- Vídeo: caminho de arquivo local. Se o usuário fornecer uma URL, explique que o shortcut-clips só funciona com arquivos que ele mesmo disponibilizar (conteúdo próprio ou com direitos) e peça um arquivo. Não baixe nada.
- Número de clipes: use o número do usuário; caso contrário, 3.
- Opções (apenas se o usuário pedir):
--language hi|kn|en|…,--min-len/--max-len(padrão 20-60 s), estilobold-pop(padrão),minimaloukaraoke-highlight.
1. Preparar (transcrever + candidatos)
shortcut-clips prepare "<video>"
- Ele imprime a pasta de saída e, em seguida, uma linha por arquivo de chunk. Anote ambos.
- A primeira execução baixa o modelo de fala. Um vídeo de 1 hora leva aproximadamente 15 a 25 minutos em CPU e 5 a 10 minutos em GPU. Para vídeos com mais de cerca de 10 minutos, execute o comando em segundo plano e aguarde sua conclusão. Informe ao usuário que está processando. Reexecuções são seguras: etapas concluídas são armazenadas em cache.
- Em caso de falha, mostre ao usuário o aviso de correção do erro.
shortcut-clips doctorverifica a instalação.
2. Escolher os momentos
- Leia
<pasta de saída>/work/candidates.txt, depois cada arquivo de chunk que ele lista, em ordem. Cada chunk lista sentenças (s0012 [68.3] texto) e candidatos (c004 s0012-s0021 68.2-108.6 (40s)), cada candidato é um intervalo dessas sentenças. Não leiatranscript.jsonoucandidates.json: os chunks contêm tudo que você precisa, em muito menos tokens. - Pontue cada candidato conforme reference/rubric.md. Ao longo do processo, mantenha uma lista de cerca de 3× o número solicitado: id do candidato, cinco pontuações de critério, nota de uma linha. Descarte os demais.
- Melhore os vencedores. Você pode mover os limites de um clipe para outras fronteiras de sentença, por exemplo, começando na sentença com o gancho mais forte ou terminando logo após o pagamento:
início= o tempo da primeira sentença escolhida.fim= o tempo da sentença após a última que você mantém, ou o tempo final do candidato se você mantiver sua última sentença.- Mantenha-se dentro do intervalo de comprimento. O validador ajusta os limites para palavras inteiras.
- Escolha o conjunto final: maiores pontuações gerais, sem que dois clipes compartilhem mais do que alguns segundos, e tópicos diferentes sempre que possível.
3. Escrever clips.json
Escreva <pasta de saída>/clips.json seguindo reference/clips-format.md. Escreva hook_text, title e caption no idioma e na escrita da transcrição, a menos que o usuário peça o contrário. Ordene os clipes do melhor primeiro. Em seguida, execute:
shortcut-clips validate "<pasta de saída>/clips.json" --write
Corrija cada error e reexecute até que apareça ✓. Corrija warnings quando for fácil. As linhas info relatam ajustes automáticos (limites ajustados) e não precisam de ação.
4. Renderizar
shortcut-clips render "<pasta de saída>/clips.json"
Em seguida, informe ao usuário: para cada clipe, seu número, título, duração, pontuação e caminho do vídeo, além da galeria <pasta de saída>/index.html. Adicione uma frase sobre por que o clipe principal funciona. Mencione que ele pode pedir alterações.
Edições e reexecuções
- "Deixar o clipe 2 mais curto", "novo título", "usar estilo karaokê": edite
clips.json(substituição destyle/layoutpor clipe sobredefaults), valide com--write, renderize novamente. Clipes inalterados são reutilizados do cache. - "Encontrar momentos diferentes": volte ao passo 2 com os mesmos chunks. Não reexecute prepare.
- Idioma errado detectado: reexecute prepare com
--language <código>. Apenas a transcrição e etapas posteriores são refeitas. Nenhuma janela candidata: o vídeo é curto ou tem pouca fala. Reexecute prepare com um--min-lenmenor (por exemplo, 10).