This page documents frontend workflow-configurable fields only. Backend-only runtime fields are intentionally omitted.
Where Overrides Go
Add one of these fields toPOST /trigger-template:
nodeConfigsnodeConfigOverridesactionConfigs
nodeConfigs.
How Overrides Apply
- Overrides are keyed by workflow node type, such as
add_brolloradd_subtitles. - The public API resolves each node type to the matching node in the selected workflow.
- If the workflow does not contain that node type, the override is skipped and the workflow still runs.
- If the workflow contains the node but the config has invalid field names, invalid types, or invalid enum values, the request returns
INVALID_NODE_CONFIG. - Structured overrides win over legacy flat fields when both set the same nested value.
broll: true and nodeConfigs.add_broll.enabled: false, the structured nodeConfigs value wins for add_broll.enabled.
Quick Example
This example changes clip length, b-roll, subtitles, and vertical reframe behavior for one trigger:Supported Node Types
Per-Node Examples
find_clips
Controls the clip discovery step.
convert_to_vertical
Controls the Reframe / Convert to Vertical node.
add_broll
Controls B-roll generation and sourcing.
add_subtitles
Controls subtitle placement and styling.
speakerStyles array entry fields:
style_video
Controls the complete visual treatment from the Style Video
node. All styling elements are optional; an empty layers array is a valid
no-op.
Layer fields:
Style Video supports multiple title, watermark, and media-overlay layers. It
supports at most one subtitle layer and one lower-third layer. Watermark layers
require
config.url; media overlays require config.mediaUrl.
Color grading fields:
add_music
Controls background music.
Music option fields:
add_watermark
Controls watermark rendering config.
apply_branding
Controls the Apply Branding node.
add_title_overlay
Controls the Title Overlay node.
title_config fields:
By default this node generates a title for each clip with AI and ignores
text. To use your own fixed title instead, set generateTitle to false and provide text:
Styled title templates
SettitlePresetId to render one of the built-in styled title templates — the same templates available in the workflow editor’s Text panel — instead of the flat title styling. The AI-generated title fills the template’s primary line, and the template’s design (fonts, colors, backplate, animation) is preserved.
Supplying titlePresetId selects that template from a clean preset state for the run. Any palette, presetOverrides, presetTextOverrides, or presetGenerationBlocks stored on the workflow’s previously selected template are cleared first. The API seeds the template’s editor sample text and semantic generation blocks, then applies the fields in your request. This matches selecting a different template in the workflow editor and prevents customizations from the old template leaking into the new one.
Available titlePresetId values:
Optional customizations layered on the chosen template:
titlePaletteId— a palette id for templates that define palettes.cyan-block-titleandcyan-divider-title:breaking-news,national-news,politics,world-news,local-news,weather,entertainment.tiktok-3d:tiktok,grape-lime,sunset.instagram-wrap:clean,midnight,peach.presetOverrides— an object of style/position tweaks applied on top of the template. Supported keys includefontColor,fontFamily,fontWeight,fontStyle("italic"/"normal"),textAlign,textTransform,lineHeight,letterSpacing,wrapWidth,maxLines,backgroundColor,backgroundStyle,padding,borderRadius,textShadow,boxShadow, and geometry (xPosition,yPosition,scale,width,height,rotation). Positions are0–1fractions of the frame.presetTextOverrides— fixed text for a template’s secondary line(s), keyed by element id (e.g.{ "text-secondary": "Episode #4" }for the Daily Vlog subtitle). The primary line is always replaced by the AI-generated title (or yourtextwhengenerateTitleisfalse).
When
titlePresetId is set, the flat typography/background fields (fontFamily, backgroundColor, etc.) are ignored — adjust the template with presetOverrides instead.add_lower_thirds
Adds a speaker-name lower-third card when each speaker first talks.
Add the Add Lower Thirds node to your workflow in the portal and style it there (preset, colours, position). Then name the people in each video on the trigger call with speaker_names — the names change every run, the styling does not.
speaker_names is positional, ordered by who speaks first. The first entry names the first person heard in the video, the second entry the second, and so on — the same “Speaker 1 / Speaker 2” model used in the studio editor. title is optional; omit it for a name-only card.
To leave one speaker unnamed while naming a later one, pass null (or {}) in their position so the remaining names stay aligned:
speaker_names is available through the API only — there is no field for it in the workflow builder, because who appears in a video changes with every run.Overriding the styling
lower_thirds_config overrides the styling set in the builder. It merges, so send only what you want to change and everything else is kept:
Changing
titlePresetId resets that preset’s colours and palette to their defaults (a colour chosen for one template does not carry to another), but keeps your position. To change template and colours in one call, send both in the same request.filler_words
Controls filler word, stutter, and silence cleanup.
smart_zoom
Controls Smart Zoom.
add_outro
Controls end card and outro music.
add_audiogram
Controls audiogram display.
remove_watermark
Controls watermark removal.
add_brainrot
Controls Brainrot split-screen style.
media_overlay
Controls media overlays.
remove_curse_words
Controls curse word handling.
Legacy Flat Fields
These flat trigger fields still work and are converted into node configs internally:Trigger Template
Use node config overrides when triggering a workflow template