Nodes/comfyui-budgetpixel/Sonilo Video Music (BudgetPixel)
ComfyUI Node

Sonilo Video Music (BudgetPixel)

Sonilo Video Music — a soundtrack that actually follows your footage

By budgetpixel-ai·Created about 17 hours ago·Updated about 12 hours ago· 3
Sonilo Video Music (BudgetPixel)
  • video
  • audio
  • video
formatmp3
prompt
force_rerunfalse

Sonilo Video Music is the node that scores your clip. Where the plain Sonilo Music node takes a text prompt and returns a track of an exact length, this one takes a video as its required input and composes a licensed soundtrack that follows the footage - its content, its pacing, its mood - sized exactly to the clip. Feed it up to six minutes of video and you get back an MP3 or WAV that fits the timeline without a single cut. That's the "AI composer who watched the movie" use case, and it's genuinely different from any text-to-music workflow.

Why you'd reach for it

Because syncing matters and text-to-music doesn't know what your footage looks like. A clip of a sunrise and a clip of a car chase want completely different music, and describing the difference in a prompt is a losing game compared to letting the model see the video. It's also the easiest legal checkmark in the pack: the output is licensed music, so you can use it without a copyright anxiety spiral. The optional prompt input gives you direction on top - "warm acoustic indie, builds gently, no vocals" - without taking over the mood-matching.

The inputs that matter

  • video - required. The footage to score (MP4/WebM, up to 360 seconds, 30MB remote-fetch cap). Its duration is measured server-side and is the billing basis.
  • prompt - optional direction (up to 2000 characters): genre, mood, instrumentation, business context.
  • format - mp3 or wav.

Outputs are the audio track plus the pack's standard (here, unused) video socket - for video-music the video output comes back empty; the audio is the payload. Needs 2025+ ComfyUI for the core AUDIO/VIDEO types.

What it costs

15 credits per second of the input video's measured duration, with a 10-second minimum. That's the important difference from the text-to-music node: you're billed on the input length, not a requested output length, because the output is automatically the same length as the clip. A 30-second clip is 450 credits, so this is a finish-the-project node, not an iterate-on-drafts node.

How it works

Standard pack mechanics with a video on the input side: the clip is uploaded (via the API's temp storage, since videos are passed by URL rather than inlined), a job is created, the node polls, and the composed audio downloads into the graph. Video-in jobs are slower than text-in jobs, so expect a real wait.

Install and key setup

ComfyUI Manager → BudgetPixel, or:

cd ComfyUI/custom_nodes
git clone https://github.com/budgetpixel-ai/comfyui-budgetpixel.git
pip install -r comfyui-budgetpixel/requirements.txt

Only requests. API key from a paid plan via BUDGETPIXEL_API_KEY or a budgetpixel.json in the pack folder; keys never live in workflow JSON.

Where people get burned

The input-duration billing is the trap - people expect text-to-music pricing and get a 15-credits-per-second bill scaled to their footage. Draft your video short before paying for a score. And the pack rules hold: force_rerun to defeat ComfyUI's cache (and trigger a new bill), paid plan required, and an interrupted graph stops the wait but not the server-side job.

CategoryBudgetPixel/Audio

Inputs (4)

NameTypeDefaultDescription
videoVIDEOThe input video (MP4/WebM, up to 360 seconds, 30 MB remote-fetch cap). A public video URL, an uploaded-file URL from POST /v1/uploads, a data URI, or raw base64. Its duration is measured server-side and is the billing basis.
formatoptCOMBOmp3Output audio format.
promptoptSTRINGOptional direction for the music (up to 2000 characters): genre, mood, instrumentation, business context — e.g. "warm acoustic indie, builds gently, no vocals".
force_rerunoptBOOLEANfalse

Outputs (2)

NameTypeDescription
audioAUDIO
videoVIDEO