Configuration Reference
Overview
Section titled “Overview”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.
Full Reference
Section titled “Full Reference”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)Editor Settings
Section titled “Editor Settings”audio_crossfade
Section titled “audio_crossfade”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.
target_res
Section titled “target_res”Output resolution as [width, height]. Common values:
[1920, 1080]— 1080p (default)[3840, 2160]— 4K[1280, 720]— 720p (draft)
mix_source_audio
Section titled “mix_source_audio”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.0is as recorded.ducking_volume— how loud the music sits underneath.0.3= 30%. Set it to0to 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.
watermark_text
Section titled “watermark_text”Text overlaid on the rendered output. Set to an empty string to disable. The Demo tier forces a watermark regardless of this setting.
Generator Settings
Section titled “Generator Settings”batch_size
Section titled “batch_size”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.
clip_len_min / clip_len_max
Section titled “clip_len_min / clip_len_max”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.
scene_detection.embedding_threshold
Section titled “scene_detection.embedding_threshold”Cosine similarity below which two consecutive sampled frames are treated as a hard cut. Lower values detect fewer cuts. Default 0.75.
scene_detection.drift_threshold
Section titled “scene_detection.drift_threshold”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.
sample_fps
Section titled “sample_fps”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.
Path Settings
Section titled “Path Settings”music_dir
Section titled “music_dir”Default directory scanned for music files. Shown in Studio Mode’s Audio Bin tab.
output_root
Section titled “output_root”Where rendered videos and temporary chunks are saved. The chunks/ subdirectory is used for intermediate renders and can be safely deleted after rendering completes.
Jamendo Settings
Section titled “Jamendo Settings”client_id
Section titled “client_id”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.
Privacy Settings
Section titled “Privacy Settings”discreet_default
Section titled “discreet_default”When true, Onset Engine starts with Discreet Mode already enabled. Toggled from the GUI.
pin_hash
Section titled “pin_hash”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.
Overriding via GUI
Section titled “Overriding via GUI”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
Overriding these per project
Section titled “Overriding these per project”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 change | Where it lives in Studio Mode |
|---|---|
| Resolution and frame rate | Quality dropdown, Action Block |
| Output format (16:9, triptych, vertical, highlights) | Format dropdown, Action Block |
| Style preset | Style dropdown, Inspector |
| Pacing and narrative arc | Pacing / Narrative, Action Block |
| Custom driver | Clip Direction → browse for a .json, Inspector |
| Restrict the clip pool | Collection selector |
| Keep source order | 📅 Chronological Order checkbox |
| Intro card | 🎬 Title Card checkbox |
| Energy curve | Energy 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.