Try Pro FREE for 2 weeksGet Started

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

  • video
  • caption
  • subtitle
  • word
  • pop
  • shorts
  • ugc
  • ad
  • karaoke

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.

All AI models