Generate sounds · V6
Sound effects and loops on the live tier
- audio
- url
- all_urls_json
- task_id
- raw_json
- credits_consumed
- credits_left
"Generate sounds" is the odd one out in the Suno family: it makes a sound, not a song. A riser, a whoosh, a machine hum, a four-bar loop - the kind of thing you drop under a video cut and never think about again. This node is that endpoint on V6, the live tier.
Don't confuse it with foley. MMAudio and HunyuanVideo-Foley take a video and produce sound that fits what's on screen; this node takes text and nothing else. If you want your generated clip to have sound matched to its motion, you want the video-conditioned tools. If you already know what you need - a low drone, a metallic clang, an ambient loop - text is faster and cheaper than installing a model for it.
And that's the honest trade here: this is an API call. Per call cost, prompt leaves your machine, nothing to download. For a handful of one-shots a project, that's a good deal. For a library of a thousand sounds, a local sound-design model pays for itself.
How it works
The pack generates its node classes from KIE's official API documentation at startup, one class per documented model version - so this class is pinned to V6 and there's no model selector. The node builds the documented request body, submits it to KIE's task endpoint (envelope model ai-music-api/sounds, inner model V6), polls KIE's record-info endpoint every couple of seconds (backing off toward 15) until the task reports success, then downloads the returned mp3 and hands it over as a native ComfyUI AUDIO. If the task fails, you get an exception with the task id and the provider's message - not an empty socket.
The inputs that matter
- prompt (required) - what the sound is. The docs and the tooltip both cap it at 500 characters, which is plenty for a sound description and not much for a poem.
- sound_loop - "is it a cycle?", on by default. Leave it on for anything you'll repeat under a clip.
- sound_tempo - 1 to 300, default 166. Give it the BPM of the edit you're dubbing into, or the loop will drift against whatever else is playing.
- sound_key - 24 options: twelve minor (
Cm…Bm) and twelve major (C…B), defaulting toD#m. Nobody sets this until they've had a loop fight a music bed; then they always set it. - grab_lyrics - the docs' phrasing: "whether to capture the lyrics subtitles", i.e. whether KIE is asked for lyric/subtitle text after completion. On a sound effect it's an odd field, but if you're generating something with a vocal chop it's the hook.
- timeout_seconds - default 1200, leave it. callback_url - empty for normal ComfyUI use.
Outputs: audio goes into Save Audio or any node that wants AUDIO. url and all_urls_json are your result links, task_id and raw_json are for debugging or downstream KIE nodes, and credits_consumed / credits_left are floats - the node prints them on itself after each run, and -1 just means the balance service didn't answer.
Installing
ComfyUI Manager, search "KIE Nodes Next"; the README still describes registry publication as prepared rather than live, so expect to clone it:
cd ComfyUI/custom_nodes
git clone https://github.com/felipederosilva/ComfyUI-KIE-Nodes-Next
pip install -r ComfyUI-KIE-Nodes-Next/requirements.txt
Restart, then paste your key once at Settings → KIE.ai Nodes Next → Connection. It's validated before it replaces a working key, only a masked fingerprint is displayed, and the key never ends up in your workflow JSON. Headless boxes can set KIE_API_KEY instead, which takes priority. Four small dependencies and no GPU model to load - cheap to have around.
Where people get burned
- "No KIE API key configured" - the node names the settings path in the error. Check it first.
- Ignoring tempo and key. A good sound that doesn't sit in the mix is a bad sound. Match your edit.
- A timeout isn't a cancellation. Polling stops at
timeout_seconds; KIE may still complete the task. Look at the credits before re-running. - Mixed-release installs are refused at startup. If the pack reports its version and the generated-node build disagreeing, delete the folder and reinstall rather than patching files.
- Version mismatch in a chain. If you're blending sounds from V5.5-era work, keep the tiers consistent - the sibling V5.5 node is a separate class for exactly that reason.
Practical workflow: turn sound_loop on, set the key and tempo to your project, and generate three or four candidates in one sitting. Sound design is a browsing problem, not a precision problem, and picking from four beats fiddling with one.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| prompt | STRING | sint | Sound task type limit: 500 characters |
| sound_loopopt | BOOLEAN | true | Is it a cycle? |
| sound_tempoopt | INT | 1661–300 | Do not broadcast. |
| sound_keyopt | COMBO | D#m | 24 options: D#m, Cm, C#m, Dm, Em, Fm, +18 |
| grab_lyricsopt | BOOLEAN | true | Whether to capture the lyrics subtitles Will the interface be called after completion to obtain the lyrics subtitles? |
| timeout_secondsopt | INT | 120030–7200 | — |
| callback_urlopt | STRING | Optional KIE callback URL. Leave empty for normal ComfyUI use. |
Outputs (7)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |
| url | STRING | — |
| all_urls_json | STRING | — |
| task_id | STRING | — |
| raw_json | STRING | — |
| credits_consumed | FLOAT | — |
| credits_left | FLOAT | — |