Skip to main content
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 typeFrontend-configurable fields
find_clipsmin_length, max_length, model_key, prompt
convert_to_verticalaspect_ratio, style, zoom, y_offset, gaussian_blur, centerVertical, split_view, force_split_view, ignore_content_tiles
add_brollprompt, broll_frequency, allowed_methods, enable_ai_broll, use_broll_library, library_folder_ids
add_subtitlessubtitle_config
add_musicbackground_music_option, background_music_options
add_watermarkwatermark_config
apply_brandingstyle, watermark_config, outro_music_url, outro_card_url, overlay_url, title_config
add_title_overlaytitle_config, titleConfig
filler_wordsfiller_words_config
smart_zoomsmart_zoom_config
add_outroend_card_option, outro_music_option
add_audiogramtemplate, audiogram_config
remove_watermarkremove_watermark_config
add_brainrotbrainrot_config
media_overlaymedia_overlay_config
remove_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:
FieldTypeNotes
min_lengthnumberMinimum target clip length in seconds.
max_lengthnumberMaximum target clip length in seconds.
model_keystringconversational or multimodal.
promptstringReplaces 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:
FieldTypeNotes
aspect_ratiostringUsually 9:16 for vertical output.
stylestringstyle_one, style_two, style_three, style_four, style_none, or adaptive.
zoomnumberZoom amount used by supported styles.
y_offsetnumberVertical offset used by supported styles.
gaussian_blurbooleanEnables blurred background for supported styles.
centerVerticalbooleanCenters the vertical crop when supported.
split_viewbooleanEnables split view when reframing.
force_split_viewbooleanForces split view for adaptive reframing.
ignore_content_tilesbooleanIgnores 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:
FieldTypeNotes
promptstringCustom guidance for B-roll selection.
broll_frequencystringlow, medium, or high.
allowed_methodsstring[]Any of google_images, youtube, getty.
enable_ai_brollbooleanEnables AI-generated B-roll.
use_broll_librarybooleanUses 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:
FieldTypeNotes
subtitle_configobjectAdvanced 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:
FieldTypeNotes
background_music_optionobjectLegacy single-song option.
background_music_optionsobject[]Multiple music options. The workflow can select per clip.
Music option fields:
FieldTypeNotes
idstringTrack ID.
namestringDisplay name.
urlstringPublic audio URL.
thumbnailUrlstringOptional thumbnail URL.
durationnumberTrack duration in seconds.
volumenumberVolume 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:
FieldTypeNotes
watermark_config.enabledbooleanEnables or disables the watermark.
watermark_config.urlstringPublic image URL.
watermark_config.positionnumberPosition value used by the renderer.
watermark_config.sizenumberWatermark size.
watermark_config.paddingnumberEdge padding.
watermark_config.opacitynumberOpacity, 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:
FieldTypeNotes
stylestringBranding style name.
watermark_configobjectWatermark config to apply.
outro_music_urlstringPublic outro music URL.
outro_card_urlstringPublic outro card image URL.
overlay_urlstringPublic overlay media URL.
title_configobjectTitle 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:
FieldType
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:
FieldTypeNotes
enabledbooleanEnables filler word removal.
fromVideobooleanDetects filler words from the video.
minRepetitionsnumberRepetition threshold.
stutteredFromVideobooleanDetects stuttered words from video.
stutteredWordsEnabledbooleanEnables stuttered word removal.
silencesEnabledbooleanEnables silence removal.
minSilenceDurationnumberMinimum 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:
FieldTypeNotes
frequencystringSmart zoom frequency.
transition_lengthnumberTransition length.
additional_instructionsstringAdditional 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:
FieldTypeNotes
end_card_option.urlstringPublic end card image URL.
end_card_option.durationnumberEnd card duration in seconds.
end_card_option.secondsBeforeEndnumberWhen the end card starts relative to clip end.
outro_music_option.urlstringPublic audio URL.
outro_music_option.namestringDisplay name.
outro_music_option.secondStartnumberAudio start offset in seconds.
outro_music_option.durationnumberAudio duration in seconds.
outro_music_option.secondsBeforeEndnumberWhen outro music starts relative to clip end.
outro_music_option.volumenumberVolume 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:
FieldTypeNotes
templatestringAudiogram template/source.
audiogram_config.frontendbooleanKeeps audiogram rendering in frontend metadata mode.
audiogram_config.sourcestringTemplate source.
audiogram_config.orientationstringhorizontal or vertical.
audiogram_config.audiogramYnumberAudiogram vertical position.
audiogram_config.audiogramColorstringWaveform color.
audiogram_config.backgroundTypestringBackground mode.
audiogram_config.backgroundColorstringBackground color.
audiogram_config.backgroundImageUrlstringOptional background image URL.
audiogram_config.textColorstringText color.
audiogram_config.centerTextbooleanCenters title text.
audiogram_config.blackBarEnabledbooleanEnables black bar style.
audiogram_config.subtextEnabledbooleanEnables subtext.
audiogram_config.fontWeightstringFont weight.

remove_watermark

Controls watermark removal.
{
  "nodeConfigs": {
    "remove_watermark": {
      "remove_watermark_config": {
        "enabled": true
      }
    }
  }
}
Fields:
FieldTypeNotes
enabledbooleanEnables 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:
FieldTypeNotes
categorystringBrainrot category.
cropPositionstringBackground crop placement.
randomVideoUrlstringOptional randomly selected source URL.
verticalYnumberVertical placement.
videoUrlstringPublic background video URL.

media_overlay

Controls media overlays.
{
  "nodeConfigs": {
    "media_overlay": {
      "media_overlay_config": {
        "mediaUrl": "public-overlay-media-url",
        "opacity": 1,
        "scale": 0.3,
        "xPosition": 50,
        "yPosition": 50
      }
    }
  }
}
Fields:
FieldTypeNotes
mediaUrlstringPublic image or video URL.
opacitynumberOverlay opacity.
scalenumberOverlay scale.
xPositionnumberHorizontal position.
yPositionnumberVertical position.

remove_curse_words

Controls curse word handling.
{
  "nodeConfigs": {
    "remove_curse_words": {
      "remove_curse_words_config": {
        "enabled": true,
        "mode": "silence",
        "words": ["damn", "hell"]
      }
    }
  }
}
Fields:
FieldTypeNotes
enabledbooleanEnables curse word handling.
modestringsilence, 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 fieldEquivalent node override
minLengthTargetfind_clips.min_length
maxLengthTargetfind_clips.max_length
musicUrladd_music.background_music_option.url
broll: trueadd_broll.enabled
broll: { ... }Merged into add_broll
removeFillerWordsfiller_words.filler_words_config.enabled
removeStutteredWordsfiller_words.filler_words_config.stutteredWordsEnabled
removeSilencesfiller_words.filler_words_config.silencesEnabled
subtitles: { ... }Merged into add_subtitles
subtitleConfigadd_subtitles.subtitle_config and add_subtitles.subtitle_config.speakerStyles["0"]
watermarkUrladd_watermark.watermark_config.url
titleConfigadd_title_overlay.title_config
outroImageUrladd_outro.end_card_option.url
outroMusicUrladd_music.outro_music_option.url

Trigger Template

Use node config overrides when triggering a workflow template