video-word-pop-caption — Traditional AI Model
Word-Pop puts each spoken word on screen by itself - large, heavy white letters with a black outline - and gives it a quick pop as it is said, the caption style of short-form ads and creator videos. Timing comes from a Speech Recognition transcript, so the words land with the voice. Korean and English fonts in the heaviest weight are included. FFmpeg.
Details
- CategoryTraditional
- Year-1
- License
Inputs & Outputs
- VideoInputvideo
The video to caption
- TranscriptInputtranscript
Speech Recognition output: the words and when each is spoken
- FontInputfile:fontoptional
Optional uploaded font (.ttf/.otf); overrides Font Family when connected.
- VideoOutputvideo
The video with word-pop captions
Parameters
- font_familystringdefault Noto Sans KR Blackoptions: Noto Sans KR Black, Inter Black, Noto Sans CJK Bold, +4 more
Caption font. Noto Sans KR Black covers Korean and English; Inter Black is English only.
Bundled heaviest-weight fonts: 'Noto Sans KR Black' (default, Hangul + Latin) and 'Inter Black' (Latin only - Korean shows as boxes). The system faces are lighter weights.
- position_y_pctfloatdefault 75range 5–95
Height of the caption centre, as a share of the frame height.
Vertical centre of the caption, percent of the frame height (5-95). 75 sits below a centred face.
- offset_secfloatdefault 0range -30–600
Shift every word by this many seconds.
Added to every word time (-30..600 s). Use preroll_frames / fps after Chroma Compose, or the sound_offset used in Audio Replace.
- font_sizeintegerdefault 100range 8–400advanced
Font size for a 1920-high frame (scales with the video).
Pixel size on a 1920-high frame (8-400); scaled to the video height. Long words shrink to fit.
- outline_pxintegerdefault 8range 0–40advanced
Black outline width for a 1920-high frame.
Outline width in pixels on a 1920-high frame (0-40). Pop style only; style 'box' draws no outline.
- pop_scale_pctfloatdefault 122range 50–300advanced
Starting size of the pop, in percent.
Each word starts at this size and shrinks to 100% (50-300). 100 = no pop.
- pop_msintegerdefault 90range 0–1000advanced
Length of the pop (ms).
Duration of the pop shrink (0-1000 ms).
- hold_after_secfloatdefault 0.35range 0–5advanced
How long a word stays after it ends, if the next word has not started.
Seconds a word stays past its end when there is a pause before the next word (0-5).
- uppercase_latinbooleandefault trueadvanced
Show Latin letters in capitals.
Upper-cases Latin letters (default true); Korean is unaffected.
- strip_punctuationbooleandefault trueadvanced
Hide commas, periods and colons at the end of words.
Removes trailing , . : ; and ellipses (and full-width ,。、:;) from each caption word (default true), so 'REST:' shows as 'REST'. ? and ! are kept, as is anything inside a word (DIDN'T, CNAPS.AI, 3.5). Set false to show the transcript's punctuation as-is.
- stylestringdefault popoptions: pop, box
Caption look: pop (outlined text) or box (text on a solid rounded box).
'pop' (default): text with a black outline and soft shadow. 'box': text on a filled rounded rectangle sized to the text plus padding (box_color, box_opacity_pct, box_padding_pct, box_radius_pct), readable on any background; no shadow and no outline (outline_px is ignored in this style). The whole box pops.
- words_per_captionintegerdefault 1range 1–8
Words shown together. 1 = one word at a time; 3-5 shows short phrases.
Maximum words per caption (1-8, default 1). Above 1, consecutive words are grouped into phrases of up to this many, ending early after a word ending in . , ! ? : ; and before a pause longer than 0.6 s. A phrase shows from its first word start until the next phrase starts or its last word end + hold_after_sec, and pops as one caption. Long phrases shrink to fit the width (one line, no wrapping).
- text_colorstringdefault #FFFFFFadvanced
Text colour.
Caption text colour as #RRGGBB (default '#FFFFFF'); used by both styles. Other formats are rejected.
- box_colorstringdefault #000000advanced
Box colour (box style).
Fill of the caption box in style 'box', as #RRGGBB (default '#000000'). Other formats are rejected.
- box_opacity_pctfloatdefault 100range 0–100advanced
Box opacity, in percent (box style).
Opacity of the caption box in style 'box' (0-100, default 100 = solid). The text stays opaque.
- box_padding_pctfloatdefault 25range 0–100advanced
Space around the text inside the box (box style).
Horizontal box padding as a percent of the font size (0-100, default 25); vertical padding is 60% of it. Style 'box' only.
- box_radius_pctfloatdefault 20range 0–50advanced
Corner roundness of the box (box style).
Box corner radius as a percent of the box height (0-50, default 20; 0 = square, 50 = pill). Style 'box' only.
Tags
Alternatives in Video Editing
- Audio Edit
Trim a sound, fit it to a video or a length, dip or mute parts, and fade it.
- Audio Finish
Normalize a video's loudness to a broadcast target (2-pass loudnorm + peak limiter).
- Audio Mix
Mix narration, music and sound effects into one track, with ducking and loudness.
- Audio Replace / Mix
Replace or mix a clip's audio with a new sound, keeping the video as is.
- Chroma Compose
Cut a green-screen person out of one video and place them over another.
- Hook Teaser (Cold Open)
Prepend a cold-open teaser of each clip's hook moment to the front.
- Ken Burns (Still to Video)
Animate a still image into a video with a moving crop window.
- Narration Mux (Cold Open)
Prepend a voiceover cold-open (frozen first frame + narration) to a clip.