Add dynamic, stylized captions that match your video’s tone, improve retention, and boost accessibility. Ideal for social platforms where sound-off viewing is common (TikTok, Reels, Shorts, LinkedIn).Documentation Index
Fetch the complete documentation index at: https://docs.mosaic.so/llms.txt
Use this file to discover all available pages before exploring further.
How It Works
The Captions tile listens to your video audio, transcribes speech, and overlays timed captions. You control how they look — from fonts and stroke to placement and coloring. Captions are auto-timed to speech and update in real-time based on your styling choices.
Input and Settings
Caption Style
Controls how captions are visually rendered. APIcaption_style values:
colored→ Highlights key words with yourhighlight_colorscaling→ Emphasis via animated word scalingkaraoke→ Progressive karaoke-style emphasis
stroke_color and stroke_width are controlled separately from caption_style.
Great for:
- Retention editing
- Educational clips
- Talking-head explanatory content
Colors
You can customize three visual layers: Base ColorDefault text color (e.g.,
#FFFFFF for white)
Highlight ColorUsed to emphasize specific words — increases engagement & readability Stroke Color
Outline around text for contrast on busy footage
Font Options
Set the typography style to match your brand. Controls include:- Font Family (e.g., Montserrat)
- Font Weight (e.g., 400 / 700)
- Font Size (slider)
- Bold fonts for TikTok/Shorts
- Light/fonts for cinematic edits
Vertical Position
Adjust how high/low captions sit in the frame (via percentage slider). Examples:90%→ Just above bottom edge (common for shorts)50%→ Centered (cinematic)20%→ Top aligned (when lower third is busy)
Words per Caption
Controls pacing and readability. Two sliders:- Minimum words
- Maximum words
Min 1 / Max 3→ Fast TikTok pacingMin 3 / Max 7→ YouTube educational pacing
API Info
Node Params & API Details
Node Params & API Details
- Node ID:
cdccb204-168e-4aec-aa72-480b11e74324
Node params
| Param | Type | Required | Default | Notes |
|---|---|---|---|---|
caption_style | "colored" | "scaling" | "karaoke" | No | "colored" | Visual style preset. |
base_color | string (hex) | No | "#F8FAFC" | Primary text color. |
highlight_color | string (hex) | No | "#A78BCA" | Highlight/accent color. |
stroke_color | string (hex) | No | "#0B0B0B" | Stroke/outline color. |
stroke_width | number | No | 14 | Stroke/outline width (0-20). |
caption_font | string | No | "Montserrat" | Font family. |
caption_font_weight | string | No | "700" | Font weight as string token. |
caption_font_size | number | No | 108 | Font size in pixels (20-120). |
caption_vertical_position | number (percent) | No | 88 | Vertical caption placement (10-90). |
caption_min_words | number | No | 2 | Minimum words grouped per caption chunk (1-8). |
caption_max_words | number | No | 4 | Maximum words grouped per caption chunk (1-8). |
Parameter groups
- Render style:
caption_style,base_color,highlight_color,stroke_color,stroke_width - Typography:
caption_font,caption_font_weight,caption_font_size - Layout & pacing:
caption_vertical_position,caption_min_words,caption_max_words
Scenario requirements
- Keep
caption_min_words <= caption_max_words. - Use valid hex color strings for color fields.
caption_font_weightmust be sent as a string (for example"700"), not a number.
Runtime notes
- For deterministic output, set style, typography, and pacing fields explicitly.
- For API overrides, pass these fields via
update_params[agent_node_id].