# Subtítulos por palabra

El helper `scripts/captions.py` es local, Python 3.9+, sin SDK. La pista es independiente
de la narración y conserva su SHA-256; el MCP Motion actual no admite su importación.
Se puede usar con el renderer local de `auroflow-short-explainer` o exportar ASS/SRT.

```sh
python3 scripts/captions.py build --timing palabras.json --out subtitulos.json --enabled --style karaoke
python3 scripts/captions.py revise --track subtitulos.json --expected-revision 1 --style minimal --out subtitulos-r2.json
python3 scripts/captions.py export --track subtitulos-r2.json --format ass --out subtitulos.ass
```

Las rutas de comandos son relativas a esta skill. Sin `--enabled` la pista queda
desactivada: no añadir subtítulos a un encargo que no los solicita. Los estilos
disponibles son `caja`, `karaoke` y `minimal`. Se agrupan hasta cuatro palabras con
cortes por pausa, manteniendo los tiempos originales. No crear una capa Motion
por palabra para eludir el máximo público de doce capas.

Para una abreviatura visual autorizada, `revise --replace-word 12:4000` modifica
sólo el texto mostrado de ese índice. La revisión anterior y la voz se conservan.
Cambiar el texto hablado requiere otra versión de narración, no estirar tiempos.
`expected-revision` evita aplicar un cambio sobre una base distinta. Exportar
siempre a un archivo nuevo; se conservan las revisiones anteriores.

Comprobar legibilidad en 9:16/16:9, interfaz del destino, nombres y cifras, silencios
y última palabra. Las posiciones son una convención editorial configurable, no
zonas seguras oficiales de todas las plataformas. ASS redondea a centésimas y SRT
a milésimas; la pista JSON conserva los tiempos originales. Ver y escuchar el
MP4 final antes de marcar aprobación; un export correcto no verifica la escucha.
