Style Video Captions
Create a new captioned video while preserving the source. Prefer an existing .srt; transcribe with faster-whisper tiny only when no timed transcript exists.
Default Design Direction
Use the bundled Archivo variable font with this editorial-tech system:
- White primary text:
#FFFFFF - Electric-blue keyword:
#2F80FF - Blue keyword set in lightweight Barlow Condensed Italic and approximately 16% larger
- Ink-blue translucent box/outline:
#071A33 - Maximum two lines and short phrases
- Bottom-center placement above mobile UI safe zones
- Short pop entrance and fade; avoid constant bouncing or per-letter chaos
Read references/design-guidelines.md when changing the visual direction.
Workflow
- Inspect the video dimensions and duration.
- Find a matching
.srtor.vtt. If unavailable, generate an SRT withscripts/transcribe_tiny.py. - Generate styled ASS with
scripts/make_styled_ass.py. - Render with a full ffmpeg build containing
subtitles/libass; CapCut's bundled ffmpeg may not contain these filters. - Verify the final duration, video stream, audio stream, and readability from a captured frame.
- Keep the input video and transcript.
Standard Command
powershell -NoProfile -ExecutionPolicy Bypass -File "<skill-dir>\scripts\style-video-captions.ps1" `
-InputVideo "C:\path\video.mp4"
Use an existing SRT:
powershell -NoProfile -ExecutionPolicy Bypass -File "<skill-dir>\scripts\style-video-captions.ps1" `
-InputVideo "C:\path\video.mp4" `
-SubtitleFile "C:\path\captions.srt"
Outputs:
<video>_subtitulos_estilo.ass<video>_subtitulos_estilo.mp4<video>_subtitulos_preview.jpg
Design Judgment
Use blue as emphasis, not as the only text color. White remains more reliable across changing footage. Maintain dark outline/box contrast because captions sit on images with unpredictable luminance.
Do not highlight filler words. Prefer nouns, verbs, numbers, and longer meaningful terms. Keep animation subordinate to reading.