title_card
Generates transparent text overlay clips with fade in/out and places them in the first available gap on a target timeline level.
When to use
Use to add lower-third title cards (name + title), section titles, or any text overlay that should appear during a broll gap. The processor finds the first available gap on the gap_level automatically; you don't need to specify a timestamp.
Tip: The
editprocessor'stitle_cardoperation generates a single title card placed at a spot you set. This processor remains the option for gap-finding and multi-card layouts.
In the editor
Add it from the Library (Overlays group), or with + add step and a search for title_card, after the steps that fill your b-roll level.
It takes no inputs. gap_level names the level it should look at for a quiet moment to put the card in, and broll is the usual answer. cards holds the cards themselves, each with its lines of text, and it is a free-form field: the YAML tab is the easier place to write more than one, and hovering a key there explains what belongs in it.
Per card, duration_sec is the time on screen, fade_in_sec and fade_out_sec soften the entrance and exit, position_y moves it up or down the frame (negative is lower), and the color and outline settings make it readable over whatever is behind it. Set position_sec if you want the card at an exact moment instead of in the next free gap. Set Output Level to an overlay level that draws above your footage.
The cards appear as their own clips on that overlay level in the run timeline. Because the step looks at the finished b-roll level rather than taking an input, add the b-roll step to cache_deps in the YAML tab, so changing your b-roll makes the cards find their gaps again.
YAML Example
- id: title_card
processor: title_card
cache_deps:
- broll_ai
params:
gap_level: broll
cards:
- lines:
- text: "Your Name"
font_size: 90
bold: true
- text: "Your Title @ Company"
font_size: 56
find_gap_after_sec: 2.0
duration_sec: 2.5
fade_in_sec: 0.25
fade_out_sec: 0.25
position_y: -200
scale: 0.75
symbol_font_scale: 1.4
text_color: "white"
outline_color: "black"
outline_size: 8
outline_fuzziness: 3
line_gap: 14
font_file: ""
symbol_font_file: ""
output:
timeline: overlay
cache: true
Inputs
None. Reads the gap_level timeline state directly from the pipeline context.
Params
| Param | Type | Default | Description |
|---|---|---|---|
gap_level |
level | "broll" |
Scan this level for a gap to place the card |
backbone_step |
string | none | Step ID for backbone duration. Prevents title cards from overflowing the timeline end. Recommended when gap_level clips span the full edit. |
cards |
text | none | One entry per title card. Each finds its own gap. |
lines |
text | none | Text lines. Each: {text, font_size, bold} |
text |
string | none | Per-line: the text string to display. Set inside each lines[*] entry. |
duration_sec |
duration (s) | 3 |
Card display duration |
position_sec |
duration (s) | none | Place the card at this exact timeline position. When set, gap-finding is skipped; the card overlays whatever is on screen. |
find_gap_after_sec |
duration (s) | none | Search for gap after this many seconds into the timeline (used when position_sec is not set) |
position_y |
number | 0 |
FCP pixels from center. Negative = below center. |
scale |
number | 1 |
FCP transform scale |
text_color |
color | "white" |
Text fill color |
outline_color |
color | "black" |
Outline/shadow color |
outline_size |
number | 8 |
Border width in pixels |
outline_fuzziness |
number | 3 |
Shadow spread in pixels |
line_gap |
number | 0 |
Vertical gap between lines in pixels |
font_size |
number | none | Text size in pixels for this card. |
bold |
bool | false |
Render the title card text in bold. |
font_file |
string | none | Path to .ttf. Auto-detects Arial Bold if empty. |
symbol_font_file |
string | none | Path to .ttf for symbols. Auto-detects Apple Symbols. |
symbol_font_scale |
number | 1 |
Scale for symbol/emoji characters relative to main text |
fade_in_sec |
duration (s) | 0.3 |
Alpha fade-in duration (0 = no fade) |
fade_out_sec |
duration (s) | 0.3 |
Alpha fade-out duration |
Output
EditDecisions on the configured output level.
Notes
title_cardreads all clips ongap_levelacross all pipeline steps; it does not need broll as a direct input. Usecache_deps:to ensure it re-runs when broll changes.- Fades apply to the alpha channel only (RGB unchanged), giving a clean transparency fade for overlays.
- Symbol characters (arrows ⬆, emoji, Unicode) are rendered with a separate symbol font at
symbol_font_scalesize.