¿Qué hace shortcut-clips?
Un pipeline local hace el trabajo mecánico (transcribir, encontrar ventanas candidatas,
reencuadrar, subtitular, renderizar). Tu trabajo es el paso de juicio: lee los momentos
candidatos como texto, elige los mejores y escribe clips.json. Nunca ves ni necesitas
los fotogramas del video.
0. Entradas
- Video: una ruta de archivo local. Si el usuario proporciona una URL, explica que shortcut-clips solo funciona con archivos que ellos mismos proporcionen (contenido que posean o tengan derechos) y pide un archivo. No descargues nada.
- Número de clips: usa el número del usuario; si no, 3.
- Opciones (solo si el usuario lo pide):
--language hi|kn|en|…,--min-len/--max-len(por defecto 20-60 s), estilobold-pop(por defecto),minimalokaraoke-highlight.
1. Preparar (transcribir + candidatos)
shortcut-clips prepare "<video>"
- Imprime la carpeta de salida, luego una línea por cada archivo de chunk. Anota ambos.
- La primera ejecución descarga el modelo de habla. Un video de 1 hora tarda aproximadamente 15-25 min en CPU y 5-10 min en GPU. Para videos de más de unos 10 minutos, ejecuta el comando en segundo plano y espera a que termine. Dile al usuario que está trabajando. Re-ejecutar es seguro: las etapas finalizadas se almacenan en caché.
- Si falla, muéstrale al usuario el consejo de solución del error.
shortcut-clips doctorverifica la instalación.
2. Elegir los momentos
- Lee
<carpeta de salida>/work/candidates.txt, luego todos los archivos de chunk que lista, en orden. Cada chunk enumera oraciones (s0012 [68.3] texto) y candidatos (c004 s0012-s0021 68.2-108.6 (40s)), cada candidato un rango de esas oraciones. No leastranscript.jsonnicandidates.json: los chunks contienen todo lo que necesitas, con muchos menos tokens. - Puntúa cada candidato con reference/rubric.md. A medida que avanzas, mantén una lista corta de aproximadamente 3 veces la cantidad solicitada: id del candidato, cinco puntuaciones de criterio, nota de una línea. Descarta el resto.
- Mejora los ganadores. Puedes mover los bordes de un clip a otros límites
de oraciones, por ejemplo comenzando en la oración con el gancho más fuerte
o terminando justo después del remate:
start= el tiempo de la primera oración elegida.end= el tiempo de la oración después de la última que conservas, o el tiempo de finalización del candidato si conservas su última oración.- Mantente dentro del rango de duración. El validador ajusta los bordes a palabras completas.
- Elige el conjunto final: puntuaciones generales más altas, que no compartan más de unos pocos segundos, y temas diferentes cuando sea posible.
3. Escribir clips.json
Escribe <carpeta de salida>/clips.json siguiendo
reference/clips-format.md. Escribe hook_text,
title y caption en el idioma y escritura de la transcripción a menos
que el usuario indique lo contrario. Ordena los clips del mejor al peor. Luego ejecuta:
shortcut-clips validate "<carpeta de salida>/clips.json" --write
Corrige cada error y vuelve a ejecutar hasta que imprima ✓. Corrige las advertencias cuando sea fácil.
Las líneas info informan ajustes automáticos (bordes ajustados) y no requieren acción.
4. Renderizar
shortcut-clips render "<carpeta de salida>/clips.json"
Luego informa al usuario: para cada clip, su número, título, duración, puntuación y
ruta de video, además de la galería <carpeta de salida>/index.html. Añade una oración
sobre por qué funciona el clip principal. Menciona que puede pedir cambios.
Ediciones y re-ejecuciones
- "Haz el clip 2 más corto", "nuevo título", "usa estilo karaoke": edita
clips.json(anulación por clip destyle/layoutsobredefaults), valida con--write, renderiza de nuevo. Los clips sin cambios se reutilizan desde la caché. - "Encuentra momentos diferentes": vuelve al paso 2 con los mismos chunks. No vuelvas a ejecutar prepare.
- Idioma detectado incorrecto: vuelve a ejecutar prepare con
--language <código>. Solo la transcripción y etapas posteriores se rehacen. No candidate windows: el video es corto o tiene poca voz. Vuelve a ejecutar prepare con un--min-lenmás pequeño (por ejemplo 10).