Use node config overrides when a trigger needs to change the same settings a user can configure in the workflow builder. This is the most precise way to customize a run without editing the saved workflow template.
This page documents frontend workflow-configurable fields only. Backend-only runtime fields are intentionally omitted.
Where Overrides Go
Add one of these fields to POST /trigger-template:
nodeConfigs
nodeConfigOverrides
actionConfigs
They all behave the same way. Most integrations should use nodeConfigs.
{
"companyId" : "company-id-from-your-overlap-account" ,
"workflowId" : "workflow-id-from-the-overlap-workflow-url" ,
"url" : "public-source-video-url" ,
"nodeConfigs" : {
"add_broll" : {
"enable_ai_broll" : true ,
"broll_frequency" : "high"
}
}
}
You can also send overrides as a list:
{
"nodeConfigs" : [
{
"nodeType" : "add_broll" ,
"config" : {
"enable_ai_broll" : true ,
"broll_frequency" : "high"
}
}
]
}
How Overrides Apply
Overrides are keyed by workflow node type, such as add_broll or add_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.
For example, if you send both 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:
{
"nodeConfigs" : {
"find_clips" : {
"min_length" : 30 ,
"max_length" : 90 ,
"model_key" : "multimodal" ,
"prompt" : "Find clips where the speaker explains a concrete product benefit."
},
"add_broll" : {
"enable_ai_broll" : true ,
"broll_frequency" : "high" ,
"allowed_methods" : [ "google_images" , "youtube" ]
},
"add_subtitles" : {
"subtitleY" : 50 ,
"subtitle_config" : {
"subtitleY" : 50 ,
"speakerStyles" : {
"0" : {
"subtitleY" : 50
}
}
}
},
"convert_to_vertical" : {
"style" : "adaptive" ,
"split_view" : true ,
"force_split_view" : true ,
"ignore_content_tiles" : false
}
}
}
Supported Node Types
Node type Frontend-configurable fields find_clipsmin_length, max_length, model_key, promptconvert_to_verticalaspect_ratio, style, zoom, y_offset, gaussian_blur, centerVertical, split_view, force_split_view, ignore_content_tilesadd_brollprompt, broll_frequency, allowed_methods, enable_ai_broll, use_broll_library, library_folder_idsadd_subtitlessubtitle_configadd_musicbackground_music_option, background_music_optionsadd_watermarkwatermark_configapply_brandingstyle, watermark_config, outro_music_url, outro_card_url, overlay_url, title_configadd_title_overlaytitle_config, titleConfigfiller_wordsfiller_words_configsmart_zoomsmart_zoom_configadd_outroend_card_option, outro_music_optionadd_audiogramtemplate, audiogram_configremove_watermarkremove_watermark_configadd_brainrotbrainrot_configmedia_overlaymedia_overlay_configremove_curse_wordsremove_curse_words_config
Per-Node Examples
find_clips
Controls the clip discovery step.
{
"nodeConfigs" : {
"find_clips" : {
"min_length" : 30 ,
"max_length" : 90 ,
"model_key" : "multimodal" ,
"prompt" : "Find clips with clear explanations, strong takeaways, and minimal setup."
}
}
}
Fields:
Field Type Notes min_lengthnumber Minimum target clip length in seconds. max_lengthnumber Maximum target clip length in seconds. model_keystring conversational or multimodal.promptstring Replaces the node’s clip-finding prompt for this run.
convert_to_vertical
Controls the Reframe / Convert to Vertical node.
{
"nodeConfigs" : {
"convert_to_vertical" : {
"aspect_ratio" : "9:16" ,
"style" : "adaptive" ,
"zoom" : 0 ,
"y_offset" : 0.5 ,
"gaussian_blur" : false ,
"centerVertical" : false ,
"split_view" : true ,
"force_split_view" : true ,
"ignore_content_tiles" : false
}
}
}
Fields:
Field Type Notes aspect_ratiostring Usually 9:16 for vertical output. stylestring style_one, style_two, style_three, style_four, style_none, or adaptive.zoomnumber Zoom amount used by supported styles. y_offsetnumber Vertical offset used by supported styles. gaussian_blurboolean Enables blurred background for supported styles. centerVerticalboolean Centers the vertical crop when supported. split_viewboolean Enables split view when reframing. force_split_viewboolean Forces split view for adaptive reframing. ignore_content_tilesboolean Ignores content tiles for adaptive reframing.
add_broll
Controls B-roll generation and sourcing.
{
"nodeConfigs" : {
"add_broll" : {
"prompt" : "Use product screenshots, event footage, and relevant visual metaphors. Avoid generic stock photos." ,
"broll_frequency" : "high" ,
"allowed_methods" : [ "google_images" , "youtube" ],
"enable_ai_broll" : false ,
"use_broll_library" : true ,
"library_folder_ids" : [ "folder-id-from-your-overlap-library" ]
}
}
}
Fields:
Field Type Notes promptstring Custom guidance for B-roll selection. broll_frequencystring low, medium, or high.allowed_methodsstring[] Any of google_images, youtube, getty. enable_ai_brollboolean Enables AI-generated B-roll. use_broll_libraryboolean Uses your uploaded B-roll library. library_folder_idsstring[] Folder IDs to search. Empty array means all folders.
add_subtitles
Controls subtitle placement and styling.
{
"nodeConfigs" : {
"add_subtitles" : {
"subtitle_config" : {
"fontColor" : "#FFFFFF" ,
"backgroundColor" : "#000000" ,
"backgroundOpacity" : 0.85 ,
"maxCharsPerLine" : 28 ,
"subtitleY" : 50 ,
"speakerStyles" : {
"0" : {
"subtitleY" : 50
}
}
}
}
}
}
Fields:
Field Type Notes subtitle_configobject Advanced subtitle config from the workflow subtitle editor.
For subtitle positioning, set values inside subtitle_config. subtitle_config.speakerStyles["0"] controls the first speaker’s subtitle style, so subtitle_config.speakerStyles["0"].subtitleY sets the first speaker’s subtitle Y position.
add_music
Controls background music.
{
"nodeConfigs" : {
"add_music" : {
"background_music_options" : [
{
"id" : "music-track-id" ,
"name" : "Selected music track" ,
"url" : "public-music-file-url" ,
"thumbnailUrl" : "public-thumbnail-url" ,
"duration" : 120 ,
"volume" : 0.35
}
]
}
}
}
Fields:
Field Type Notes background_music_optionobject Legacy single-song option. background_music_optionsobject[] Multiple music options. The workflow can select per clip.
Music option fields:
Field Type Notes idstring Track ID. namestring Display name. urlstring Public audio URL. thumbnailUrlstring Optional thumbnail URL. durationnumber Track duration in seconds. volumenumber Volume multiplier, usually between 0 and 1.
add_watermark
Controls watermark rendering config.
{
"nodeConfigs" : {
"add_watermark" : {
"watermark_config" : {
"enabled" : true ,
"url" : "public-watermark-image-url" ,
"position" : 3 ,
"size" : 18 ,
"padding" : 24 ,
"opacity" : 0.9
}
}
}
}
Fields:
Field Type Notes watermark_config.enabledboolean Enables or disables the watermark. watermark_config.urlstring Public image URL. watermark_config.positionnumber Position value used by the renderer. watermark_config.sizenumber Watermark size. watermark_config.paddingnumber Edge padding. watermark_config.opacitynumber Opacity, usually between 0 and 1.
apply_branding
Controls the Apply Branding node.
{
"nodeConfigs" : {
"apply_branding" : {
"style" : "default" ,
"watermark_config" : {
"enabled" : true ,
"url" : "public-watermark-image-url"
},
"outro_music_url" : "public-outro-music-url" ,
"outro_card_url" : "public-outro-card-image-url" ,
"overlay_url" : "public-overlay-media-url" ,
"title_config" : {
"prompt" : "Write a short hook for this clip." ,
"fontColor" : "#FFFFFF" ,
"backgroundColor" : "#000000"
}
}
}
}
Fields:
Field Type Notes stylestring Branding style name. watermark_configobject Watermark config to apply. outro_music_urlstring Public outro music URL. outro_card_urlstring Public outro card image URL. overlay_urlstring Public overlay media URL. title_configobject Title overlay config to apply.
add_title_overlay
Controls the Title Overlay node.
{
"nodeConfigs" : {
"add_title_overlay" : {
"title_config" : {
"prompt" : "Create a concise title that teases the main insight." ,
"fontFamily" : "Roboto" ,
"fontWeight" : "500" ,
"fontColor" : "#000000" ,
"backgroundColor" : "#FFFFFF" ,
"backgroundOpacity" : 1 ,
"backgroundStyle" : "wrap" ,
"textAlign" : "center" ,
"yPosition" : 0.23 ,
"duration" : 4 ,
"allCaps" : false
}
}
}
}
Common title_config fields:
Field Type promptstring textstring fontFamilystring fontWeightstring fontColorstring fontSizenumber lineHeightnumber characterSpacingnumber paddingnumber verticalPaddingnumber borderRadiusnumber backgroundColorstring backgroundOpacitynumber backgroundStylestring boxShadowstring textShadowstring yPositionnumber durationnumber allCapsboolean textAlignstring fontScalenumber lineMarginnumber
filler_words
Controls filler word, stutter, and silence cleanup.
{
"nodeConfigs" : {
"filler_words" : {
"filler_words_config" : {
"enabled" : true ,
"stutteredWordsEnabled" : true ,
"silencesEnabled" : false ,
"minSilenceDuration" : 1 ,
"words" : [ "um" , "uh" , "like" , "you know" ]
}
}
}
}
Fields:
Field Type Notes enabledboolean Enables filler word removal. fromVideoboolean Detects filler words from the video. minRepetitionsnumber Repetition threshold. stutteredFromVideoboolean Detects stuttered words from video. stutteredWordsEnabledboolean Enables stuttered word removal. silencesEnabledboolean Enables silence removal. minSilenceDurationnumber Minimum silence duration to remove. wordsstring[] Words or phrases to remove.
smart_zoom
Controls Smart Zoom.
{
"nodeConfigs" : {
"smart_zoom" : {
"smart_zoom_config" : {
"frequency" : "MEDIUM" ,
"transition_length" : 0.1 ,
"additional_instructions" : "Prefer zooms when the speaker changes topics."
}
}
}
}
Fields:
Field Type Notes frequencystring Smart zoom frequency. transition_lengthnumber Transition length. additional_instructionsstring Additional prompt guidance.
add_outro
Controls end card and outro music.
{
"nodeConfigs" : {
"add_outro" : {
"end_card_option" : {
"url" : "public-end-card-image-url" ,
"duration" : 5 ,
"secondsBeforeEnd" : 2
},
"outro_music_option" : {
"url" : "public-outro-music-url" ,
"name" : "Outro music" ,
"secondStart" : 0 ,
"duration" : 5 ,
"secondsBeforeEnd" : 2 ,
"volume" : 0.25
}
}
}
}
Fields:
Field Type Notes end_card_option.urlstring Public end card image URL. end_card_option.durationnumber End card duration in seconds. end_card_option.secondsBeforeEndnumber When the end card starts relative to clip end. outro_music_option.urlstring Public audio URL. outro_music_option.namestring Display name. outro_music_option.secondStartnumber Audio start offset in seconds. outro_music_option.durationnumber Audio duration in seconds. outro_music_option.secondsBeforeEndnumber When outro music starts relative to clip end. outro_music_option.volumenumber Volume multiplier.
add_audiogram
Controls audiogram display.
{
"nodeConfigs" : {
"add_audiogram" : {
"template" : "farnam" ,
"audiogram_config" : {
"frontend" : true ,
"source" : "custom" ,
"orientation" : "vertical" ,
"audiogramY" : 50 ,
"audiogramColor" : "#000000" ,
"backgroundType" : "color" ,
"backgroundColor" : "#000000" ,
"backgroundImageUrl" : "" ,
"textColor" : "#FFFFFF" ,
"centerText" : true ,
"blackBarEnabled" : true ,
"subtextEnabled" : false ,
"fontWeight" : "700"
}
}
}
}
Fields:
Field Type Notes templatestring Audiogram template/source. audiogram_config.frontendboolean Keeps audiogram rendering in frontend metadata mode. audiogram_config.sourcestring Template source. audiogram_config.orientationstring horizontal or vertical.audiogram_config.audiogramYnumber Audiogram vertical position. audiogram_config.audiogramColorstring Waveform color. audiogram_config.backgroundTypestring Background mode. audiogram_config.backgroundColorstring Background color. audiogram_config.backgroundImageUrlstring Optional background image URL. audiogram_config.textColorstring Text color. audiogram_config.centerTextboolean Centers title text. audiogram_config.blackBarEnabledboolean Enables black bar style. audiogram_config.subtextEnabledboolean Enables subtext. audiogram_config.fontWeightstring Font weight.
remove_watermark
Controls watermark removal.
{
"nodeConfigs" : {
"remove_watermark" : {
"remove_watermark_config" : {
"enabled" : true
}
}
}
}
Fields:
Field Type Notes enabledboolean Enables or disables watermark removal.
add_brainrot
Controls Brainrot split-screen style.
{
"nodeConfigs" : {
"add_brainrot" : {
"brainrot_config" : {
"category" : "minecraft" ,
"cropPosition" : "bottom" ,
"verticalY" : 50 ,
"videoUrl" : "public-background-video-url"
}
}
}
}
Fields:
Field Type Notes categorystring Brainrot category. cropPositionstring Background crop placement. randomVideoUrlstring Optional randomly selected source URL. verticalYnumber Vertical placement. videoUrlstring Public background video URL.
Controls media overlays.
{
"nodeConfigs" : {
"media_overlay" : {
"media_overlay_config" : {
"mediaUrl" : "public-overlay-media-url" ,
"opacity" : 1 ,
"scale" : 0.3 ,
"xPosition" : 50 ,
"yPosition" : 50
}
}
}
}
Fields:
Field Type Notes mediaUrlstring Public image or video URL. opacitynumber Overlay opacity. scalenumber Overlay scale. xPositionnumber Horizontal position. yPositionnumber Vertical position.
remove_curse_words
Controls curse word handling.
{
"nodeConfigs" : {
"remove_curse_words" : {
"remove_curse_words_config" : {
"enabled" : true ,
"mode" : "silence" ,
"words" : [ "damn" , "hell" ]
}
}
}
}
Fields:
Field Type Notes enabledboolean Enables curse word handling. modestring silence, beep, or remove.wordsstring[] Words to silence, beep, or remove.
Legacy Flat Fields
These flat trigger fields still work and are converted into node configs internally:
Flat field Equivalent node override minLengthTargetfind_clips.min_lengthmaxLengthTargetfind_clips.max_lengthmusicUrladd_music.background_music_option.urlbroll: trueadd_broll.enabledbroll: { ... }Merged into add_broll removeFillerWordsfiller_words.filler_words_config.enabledremoveStutteredWordsfiller_words.filler_words_config.stutteredWordsEnabledremoveSilencesfiller_words.filler_words_config.silencesEnabledsubtitles: { ... }Merged into add_subtitles subtitleConfigadd_subtitles.subtitle_config and add_subtitles.subtitle_config.speakerStyles["0"]watermarkUrladd_watermark.watermark_config.urltitleConfigadd_title_overlay.title_configoutroImageUrladd_outro.end_card_option.urloutroMusicUrladd_music.outro_music_option.url
Trigger Template Use node config overrides when triggering a workflow template