Nodes/KIE.ai Nodes Next/Generate sounds · V6
ComfyUI Node

Generate sounds · V6

Sound effects and loops on the live tier

By felipederosilva·Created about a month ago·Updated a day ago· 3
Generate sounds · V6
    • audio
    • url
    • all_urls_json
    • task_id
    • raw_json
    • credits_consumed
    • credits_left
    ◄promptsint►
    ◄sound_looptrue►
    ◄sound_tempo166►
    ◄sound_keyD#m►
    ◄grab_lyricstrue►
    ◄timeout_seconds1200►
    ◄callback_url►

    "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 to D#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.

    CategoryKIE Next/Audio/Suno

    Inputs (7)

    NameTypeDefaultDescription
    promptSTRINGsintSound task type limit: 500 characters
    sound_loopoptBOOLEANtrueIs it a cycle?
    sound_tempooptINT1661–300Do not broadcast.
    sound_keyoptCOMBOD#m24 options: D#m, Cm, C#m, Dm, Em, Fm, +18
    grab_lyricsoptBOOLEANtrueWhether to capture the lyrics subtitles Will the interface be called after completion to obtain the lyrics subtitles?
    timeout_secondsoptINT120030–7200—
    callback_urloptSTRINGOptional KIE callback URL. Leave empty for normal ComfyUI use.

    Outputs (7)

    NameTypeDescription
    audioAUDIO—
    urlSTRING—
    all_urls_jsonSTRING—
    task_idSTRING—
    raw_jsonSTRING—
    credits_consumedFLOAT—
    credits_leftFLOAT—