Before you start
- Source video: A video containing an audio track and lasting no more than six minutes.
- Music prompt (optional): Optional soundtrack direction. The native prompt field is required but accepts an empty string for video-only guidance.
Start with your video; receive a mix and music file
Open Add music to a video with an audio-bearing video of at most six minutes. The result is a video combining original audio with generated music, plus a separate generated-music file. The saved leopard_rider.mp4 is an example selection, not evidence that your input is ready. Lowering original-audio gain does not remove the audio-track prerequisite.
Preparation lists the required tea-time-labs/sweet-tea-nodes node pack without a pinned version. Execution mode, platform support, hardware capacity and comparable run timing are not established. The preparation record's generic 1024×1024 workload does not establish a required input resolution; the retained interface gives no such resolution requirement.
The retained effects assessment flags node 703 for external data transfer and a provider-priced Sonilo call. That assessment is partial and its applicability is unverified; it does not characterize every node. Confirm provider access, data-sharing suitability and cost before running. This pack supplies neither provider setup details nor a price.
- Upload and select your video in Source video. Use a file containing audio and lasting no more than six minutes.
Look for: The selected video supplies both music-generation guidance and the original media for the mix.
How one video becomes two outputs
LoadVideo 705 sends its VIDEO output at slot 0 to SoniloVideoToMusic 703 (video) and GetVideoComponents 730 (video). Sonilo produces AUDIO at slot 0 using the video and optional text direction in prompt. Its schema recommends an empty prompt for video-only analysis; this is guidance, not a measured quality comparison. The interface default is empty, but the saved graph still contains Sense of absurdity, a leopard sprinting at full speed in the wilderness, silent film, comedy. Check the actual field rather than assuming the interface default has replaced the graph value.
Generated audio enters SaveAudioAdvanced 728 at audio, then its AUDIO output feeds music gain node 733. Original audio comes from node 730 slot 1 through gain node 732. AudioMerge 731 receives these branches at audio1 and audio2, respectively, with merge_method=add.
CreateVideo 729 receives the merged audio at audio, frames from node 730 slot 0 at images, and frame rate from slot 2 at fps. Its VIDEO output feeds SweetTeaPreviewVideo 708 at video. The live fps connection supplies the frame rate; the saved widget value 30 is not an independent active frame-rate setting. No frame-rate change is needed to balance audio.
The named outputs are Sweet Tea Preview Video (output:708), containing the combined audio, and SaveAudioAdvanced (output:728), containing generated music without original audio or the later music-gain adjustment. They are complementary products, not alternative versions of the same mix. This is audio generation and mixing with existing video frames, not evidence of newly generated video frames.
Sonilo currently ignores seed. The graph saves 0, while the hidden interface default is -1 despite a minimum of 0. Do not apply that conflicting interface default as a native input value or use either value as a repeatability technique.
- For video-only guidance, clear Music prompt to an empty string. If you want text direction instead, replace the saved example with your own soundtrack description.
Look for: The unrelated leopard example no longer supplies music direction.
Outputs: output:708, output:728
Balance the two tracks before addition
Both AudioAdjustVolume nodes save volume=1: +1 dB, not a multiplier of one. Their native integer range is -100 to +100 dB. Zero leaves a branch unchanged; negative values lower it and positive values raise it. Node 732 adjusts original audio; node 733 adjusts music. Their connections and interface bindings establish that distinction even though both nodes contain the same proxy-origin label in metadata.
For a first run, use the existing gain and export defaults, then listen to the video. Addition can raise the combined level; no universally safe gain is established. Lowering Music volume affects only the video mix, not the separately saved music. The merge node also offers mean, subtract and multiply, but this recipe uses add; ordinary level balancing does not require changing the merge operation.
The controls below are optional adaptations, not a required pair. They change only unconnected scalar gain inputs and leave the audio routing intact.
- Set original audio to neutral gain
- Changes node 732 from the saved +1 dB to 0 dB. The original track remains in the mix at its incoming level.
- Set music to neutral gain
- Changes node 733 from the saved +1 dB to 0 dB for the video mix only; the separate music export is unaffected.
- Try music at -6 dB
- Attenuates the generated-music branch for the video mix. The native tooltip describes -6 dB as approximately half the incoming level; this is an illustrative setting, not an executed or universally suitable mix.
Music masks important original audio.
The independently adjusted original-audio and music branches are added together.
Check: Music volume changes node 733; original audio uses node 732.
Lower Music volume below its current value and listen to output:708 again. Use the original-audio control if that branch also needs adjustment.
The combined soundtrack sounds overloaded.
Adding tracks can increase the combined level.
Check: Both branches start at +1 dB; neither default is neutral gain.
Choose export settings without changing generation
Video node 708 saves format=auto, codec=auto and crf=-1. Its bound interface controls offer containers auto, mp4, mkv, webm; codecs auto, h264, av1; and CRF from -1 to 63 in steps of 1. Keep the defaults for a first run. These settings affect video encoding, not Sonilo's soundtrack generation. The pack does not establish every supported container/codec pairing or the exact encoder behavior of -1.
CreateVideo 729 saves bit_depth=8. Its real schema also permits 10: the tooltip describes smoother gradients with less banding but possible player or downstream incompatibility. This is a hidden graph setting, not a listed interface control. Using source frames or selecting 10-bit output does not establish pixel-exact preservation of the source video.
Audio node 728 saves format=mp3, format.quality=V0 and filename_prefix=audio/Sonilo. Available export formats are flac, mp3 and opus. The supplied MP3 configuration offers V0, 128k and 320k; these choices are not established for the other dynamic format branches. If you change format, inspect that format's available settings rather than carrying MP3 quality values over by assumption. Export quality is not a music-generation quality control.
The filename prefix is a real native input, though not one of the listed interface fields. Its schema permits formatting tokens such as %date:yyyy-MM-dd%; no final generated filename is retained. The graph routes audio onward through node 728, but the pack does not establish that selecting an export format changes the in-memory audio used by the mix.
- Select 320k for an MP3 music export
- Use only while node 728 format is mp3, as in the saved configuration. Changes the separate music file's MP3 export setting, not the music-generation process.
The intended source video has no audio track.
The retained mix path extracts original audio and routes it through required audio inputs before merging.
Check: Reducing original gain does not supply a missing audio track; behavior for an audio-free source is not established.
Where this approach stops
- The retained instructions require a source video containing audio; an audio-free workflow is not established.
- Seed-based reproducible music generation is unavailable.
- No measured runtime, scoped GPU or RAM recommendation, or platform support is established.
- Using source frames does not establish pixel-exact preservation after video export.
