video_audio_bed
Mix looped background music under voice audio with sidechain ducking and loudness normalization; output duration matches the voice source.
Instructions
Mix a looped music bed under a voice source with ducking and loudness normalization.
The voice drives sidechain ducking and loudness normalization. A deterministic AudioBedReceipt is returned, and output duration stays locked to the voice source.
Args: voice_source: Video/audio whose existing audio (voice/dialog) drives ducking and sets output duration. music_path: Background music or ambience to mix underneath; looped when shorter than the voice. output_path: Absolute path for the rendered output file. loop: Loop the music bed when it is shorter than the voice. Default True. loop_crossfade: Crossfade seconds between loop iterations. Default 1.5. fade_in: Output fade-in seconds. Default 0.0. fade_out: Output fade-out seconds. Default 2.2. target_lufs: Loudness normalization target in LUFS. Default -16.0. duck_threshold: Sidechain level above which ducking engages. Default 0.02. duck_ratio: Compression ratio applied while voice plays. Default 5.0. duck_attack: Duck attack in milliseconds. Default 25.0. duck_release: Duck release in milliseconds. Default 450.0. music_volume: Base music level before ducking. Default 1.0. save_receipt: Optional absolute path to write the AudioBedReceipt JSON.
Returns: Dict with success status, output_path, output_duration, ducking_engaged, warnings, elapsed_ms, and the structured receipt.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| loop | No | ||
| fade_in | No | ||
| fade_out | No | ||
| duck_ratio | No | ||
| music_path | Yes | ||
| duck_attack | No | ||
| output_path | Yes | ||
| target_lufs | No | ||
| duck_release | No | ||
| music_volume | No | ||
| save_receipt | No | ||
| voice_source | Yes | ||
| duck_threshold | No | ||
| loop_crossfade | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||