Skip to content

Configuration Reference

Global settings are stored in config.yaml at the root of your Onset Engine installation. These values serve as defaults — most can be overridden per project in Studio Mode.

editor:
audio_crossfade: 2.0 # Crossfade between consecutive TRACKS in a playlist (seconds)
ducking_volume: 0.3 # Music level while your clips' audio is mixed in (0.0–1.0)
fade_in_dur: 1.0 # Fade-in duration at video start (seconds)
fade_out_dur: 2.0 # Fade-out duration at video end (seconds)
fps: 30.0 # Output frame rate
mix_source_audio: false # Mix original clip audio with the music track
outro_padding: 2.0 # Padding after last clip before fade-out (seconds)
source_audio_threshold: 0.005 # Volume threshold for source audio detection
source_volume: 1.5 # Volume multiplier for source audio when mixed
target_res: # Output resolution [width, height]
- 1920
- 1080
watermark_text: "" # Watermark text overlay (leave empty for none)
generator:
batch_size: 64 # Number of frames processed per CLIP batch
clip_len_max: 5.0 # Maximum clip duration during ingest (seconds)
clip_len_min: 2.0 # Minimum clip duration during ingest (seconds)
clip_model: ViT-L-14 # CLIP model architecture
clip_pretrained: laion2b_s32b_b82k # CLIP pretrained weights
sample_fps: 4.0 # Frame sampling rate during CLIP analysis
scene_detection:
embedding_threshold: 0.75 # Similarity below which consecutive frames are a hard cut
drift_threshold: 0.92 # End a clip early once content drifts this far from its
# first frame. 0 disables.
privacy:
discreet_default: false # Start with Discreet Mode enabled
pin_hash: "" # SHA-256 of the startup PIN (managed via the GUI)
paths:
music_dir: ./music # Default directory for music files
output_root: ./output_clips # Default directory for rendered output
jamendo:
client_id: "" # Your Jamendo API key (free at developer.jamendo.com)

Crossfade between consecutive tracks, used only when you supply more than one — separate several paths with ; or , in Audio Input. It has no effect on a single track, and nothing to do with your clips’ own audio. In the app this is Crossfade Between Tracks, beside the Audio Input field. Set to 0 for hard cuts between songs.

Output frame rate. Use 30.0 for standard quality or 60.0 for smooth motion. Higher FPS doubles render time and file size.

Output resolution as [width, height]. Common values:

  • [1920, 1080] — 1080p (default)
  • [3840, 2160] — 4K
  • [1280, 720] — 720p (draft)

When true, the original audio from your source clips is mixed with the music track.

Both levels are constant for the whole render: the music holds at ducking_volume, your clips’ audio at source_volume. Earlier versions dropped the music only while they judged your clips’ audio to be “active”, which made the music pump up and down on continuous footage — that is gone.

  • source_volume — level of your clips’ own audio. 1.0 is as recorded.
  • ducking_volume — how loud the music sits underneath. 0.3 = 30%. Set it to 0 to mute the music entirely.

The mix is peak-limited, so raising either value cannot distort the render. In the app these are Source Volume and Music Level, under Source Audio Mixing on the Advanced tab.

Text overlaid on the rendered output. Set to an empty string to disable. The Demo tier forces a watermark regardless of this setting.

Number of frames sent to the CLIP model per inference batch. Higher values use more VRAM but process faster. Reduce to 32 if you hit OOM errors during ingest.

Controls the minimum and maximum clip duration during scene detection. Shorter ranges produce more, shorter clips — better for fast-paced edits. Longer ranges preserve more continuous footage.

Cosine similarity below which two consecutive sampled frames are treated as a hard cut. Lower values detect fewer cuts. Default 0.75.

Ends a clip early once its content has drifted this far from the clip’s opening frame, so a single clip doesn’t span a change in the action. Only ever shortens a clip, so static footage keeps its normal length distribution while moving footage is cut on the change. Set 0 to disable. Default 0.92.

See Physical vs Virtual Ingest for what this does in practice.

How many frames per second are sampled for CLIP analysis. Higher values analyze more frames but increase ingest time. The default of 4.0 provides good coverage for most content.

Default directory scanned for music files. Shown in Studio Mode’s Audio Bin tab.

Where rendered videos and temporary chunks are saved. The chunks/ subdirectory is used for intermediate renders and can be safely deleted after rendering completes.

Your Jamendo API key for free music discovery. Register at developer.jamendo.com (free, 2 minutes). Can also be set via the Jamendo panel or Global Preferences in the GUI.

When true, Onset Engine starts with Discreet Mode already enabled. Toggled from the GUI.

SHA-256 hash of the startup PIN. Empty means no PIN is set. Managed through the GUI — clear this value manually if you’ve forgotten the PIN.

Most config values can be overridden in Studio Mode:

  • ⚙️ Global Preferences modal for output root, music dir, and watermark
  • Inspector panel for quality tier, FPS, and resolution
  • Per-project job files store project-specific overrides

Everything in config.yaml is a default. Nothing here is the last word — the settings you choose in Studio Mode win for that project, and they are saved with it, so two projects can disagree without you editing this file at all.

What you want to changeWhere it lives in Studio Mode
Resolution and frame rateQuality dropdown, Action Block
Output format (16:9, triptych, vertical, highlights)Format dropdown, Action Block
Style presetStyle dropdown, Inspector
Pacing and narrative arcPacing / Narrative, Action Block
Custom driverClip Direction → browse for a .json, Inspector
Restrict the clip poolCollection selector
Keep source order📅 Chronological Order checkbox
Intro card🎬 Title Card checkbox
Energy curveEnergy curve picker — see External Energy Curves
Output paths, music folder, watermark⚙️ Preferences

Edit config.yaml when you want to change the default for every new project, or to reach a setting with no control in the interface — ingest sensitivity and scene-detection thresholds being the main ones.