Generate captions.ass in the run dir:
[Script Info]
ScriptType: v4.00+
PlayResX: 1080
PlayResY: 1920
[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, OutlineColour, BackColour, Bold, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV
Style: TikTok,Arial Black,60,&H00FFFFFF,&H00000000,&H00000000,1,1,4,0,2,40,40,280
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:00.18,0:00:00.62,TikTok,,0,0,0,,HEY GUYS
Dialogue: 0,0:00:00.62,0:00:01.04,TikTok,,0,0,0,,SO TODAY
Style notes (defaults calibrated from real runs):
Fontname=Arial Black — heavy sans-serif always available on
macOS. Use Impact if you want louder.
Fontsize=60 — readable on phone playback at 1080x1920 without
dominating the frame. Bump to 80-90 only for dramatic emphasis
on a single word.
PrimaryColour=&H00FFFFFF (white), OutlineColour=&H00000000
(black), Outline=4 — TikTok signature. Outline=6 for very
large fonts only.
Alignment=2 (bottom-center) is the TikTok default — caption
sits above the playback bar. Use 8 (top-center) only if you
have on-screen text or graphics at the bottom of the frame.
5 (middle-center) covers the speaker's face and reads as a
mistake — avoid.
MarginV=280 keeps the caption clear of the iOS playback UI
when Alignment=2. Use MarginV=80 when Alignment=8.
BorderStyle=1 — outline + drop shadow. 3 is opaque box.
- UPPERCASE the text — looks more TikTok. Lowercase reads
softer; use that for confessional/emotional content.
ASS time format: H:MM:SS.cs (centiseconds, two digits).