ComfyUI Node

Mirelo SFX 1.6

Sound effects from a prompt, because you shouldn't have to record a door

By Runware·Created 2 years ago·Updated about a month ago· 140
Mirelo SFX 1.6
  • audioSettings
  • audio
video
audio
positivePrompt
negativePromptmusic
seed0
steps25
CFGScale4.50
duration0.00
numberResults1
settings.ambiancefalse
settings.doubleOutputfalse
settings.repaintingStartfalse
settings.repaintingStart_value0.00
ttlfalse
ttl_value60
outputFormatMP3

Every video you generate is silent until you do something about it, and the something is usually a trip to a sound library or a foley session. Mirelo SFX 1.6 is the shortcut: a hosted text-to-sound-effects model. Type "rain on a tin roof, distant thunder" and it generates the audio track. This node wraps it in a ComfyUI socket that returns a native AUDIO type - so it's the missing soundtrack piece for a video workflow, and it slots in right next to the video nodes that produce the footage it scores.

Here's the honest framing: it's a niche tool for a very specific pain. If you're doing AI video, the two hardest problems after the visuals are (a) finding/creating the right sound and (b) making it loop or line up. Mirelo is aimed at (a), and it's genuinely good at it because it's a sound-effects model, not a music model - it understands "creaking door" and "crowd murmur" and "shallow breathing" in a way a text-to-music model won't.

Inputs that matter

There are no required inputs - you can run it with just a prompt. The important ones:

  • positivePrompt - what you want the sound to be. Be concrete about the material and the action: "wooden chair scraping on tile" beats "chair sound."
  • negativePrompt - defaults to music, and this is the setting to respect. The model's first instinct is musicality; if you want pure foley, leave the negative prompt alone so it steers away from melody.
  • duration - seconds, 0 to 60. Zero means "you decide"; otherwise this is your loop-length knob.
  • settings.ambiance - produce a seamlessly loopable output. This is the unsung hero for background ambience: switch it on and the clip wraps around without a seam. Pair with settings.doubleOutput to concatenate the loop with itself twice for a longer bed.
  • video / audio - UUID or URL inputs, for when the effect should sync with existing media (sound a clip, or re-sound an existing track). The audioSettings socket (from the Runware Audio Settings builder) handles bitrate/channels/sample rate.
  • CFGScale - default 4.5 (0–10), and steps default 25 (1–30). These are real diffusion knobs on an audio model, and unlike the image nodes they're exposed directly, not behind an enable-toggle.
  • settings.repaintingStart - inpaint-style editing: repaintingStart_value sets the offset in seconds where the model regenerates from, so you can patch a bad section instead of redoing the whole track.

How it works

The node sends mirelo:[email protected] as an audioInference task through the Runware SDK. The audio output comes back as a native AUDIO socket (the pack uses soundfile/torchaudio to decode), which wires into core audio consumers or the video nodes' audio inputs - that's the whole trick for adding sound to a generated clip without any external tooling.

Install and gotchas

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

Restart; API key via Settings → "Runware API key", RUNWARE_API_KEY, or runware auth login. Paid per run, minimum top-up.

The gotcha that bites people: expecting full compositions. This is SFX, not a score. Prompts for "a sad orchestral piece" will disappoint you - it's a foley and ambience tool. Also, if you leave duration at 0 you may get a shorter clip than your video needs; set it explicitly once you know your loop length. And remember the negativePrompt: music default is load-bearing - "fix" it to empty and suddenly every effect comes back with a melody over it.

CategoryRunware/Audio/mirelo

Inputs (17)

NameTypeDefaultDescription
audioSettingsoptRUNWARE_AUDIOSETTINGS
videooptSTRINGVideo input (UUID or URL).
audiooptSTRINGAudio input (UUID or URL).
positivePromptoptSTRINGText prompt describing elements to include in the generated output.
negativePromptoptSTRINGmusicPrompt to guide what to exclude from generation. Ignored when guidance is disabled (CFGScale ≤ 1).
seedoptINT00–2147483647Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range.
stepsoptINT251–30Total number of denoising steps. Higher values generally produce more detailed results but take longer.
CFGScaleoptFLOAT4.500–10Guidance scale representing how closely the output will resemble the prompt. Higher values produce results more aligned with the prompt.
durationoptFLOAT0.000–60Length of the generated audio track in seconds.
numberResultsoptINT11–4Number of results to generate. Each result uses a different seed, producing variations of the same parameters.
settings.ambianceoptBOOLEANfalseProduce a seamlessly loopable output.
settings.doubleOutputoptBOOLEANfalseConcatenate the loop with itself twice.
settings.repaintingStartoptBOOLEANfalseEnable to set settings.repaintingStart. Off uses the model's default.
settings.repaintingStart_valueoptFLOAT0.00Region start offset, in seconds, that activates inpaint mode.
ttloptBOOLEANfalseEnable to set ttl. Off uses the model's default.
ttl_valueoptINT60Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`.
outputFormatoptCOMBOMP3File format for the generated audio.

Outputs (1)

NameTypeDescription
audioAUDIO