Nodes/KIE.ai Nodes Next/Add Instrumental to Music · V4.5ALL
ComfyUI Node

Add Instrumental to Music · V4.5ALL

The 'ALL' suffix doesn't add an audio input

By felipederosilva·Created 2 months ago·Updated 3 days ago· 3
Add Instrumental to Music · V4.5ALL
    • audio
    • url
    • all_urls_json
    • task_id
    • raw_json
    • credits_consumed
    • credits_left
    ◄promptsint►
    ◄sound_loopfalse►
    ◄sound_tempo166►
    ◄sound_keyAny►
    ◄grab_lyricsfalse►
    ◄timeout_seconds1200►
    ◄callback_url►

    Suno's provider versions get suffixes that mean nothing to the schema. V4_5ALL is the same request shape as V4_5 and V4, with a different model version string pinned inside: prompt, sound_loop, sound_tempo, sound_key, grab_lyrics. So this node will not take your music track and "add an instrumental" - there's no audio socket on it at all. It generates a described sound, and that's it.

    What it is

    KIE_Next_V4_5ALL_4a56eec1 is one of the twelve-ish nodes the KIE Next pack builds for Suno through KIE.ai. The pack generates a node per Market operation and per documented provider version, so each version pin is its own class with its own hashed name - the model version isn't a widget you can change, it's baked in. Same inputs as the V4 and V4.5 siblings, different routing.

    KIE's own description of this endpoint is a sounds task: create a sound from a prompt, with looping, tempo, pitch and lyric-capture options, aimed at background music and ambience. The version note on that same page now recommends V6, V6_MINI or V6_WILD, so V4.5ALL is a legacy pin - pick it for reproducibility, not for quality.

    How it works

    Standard pack transport: assemble the documented request, submit to KIE, poll until timeout_seconds (default 1200), download the first result URL into a ComfyUI AUDIO, then show credits spent and remaining on the node. No local model - Suno is closed, and that's precisely why a node like this exists in a pack that otherwise assumes you have weights on disk.

    In a full graph, this is the piece that ends a silent render. Video → KIE • Assemble Video + Music → KIE • Save Video, with this node feeding the audio socket. That assembly node joins up to four VIDEO takes with hard cuts, fits one music track, ducks it under detected dialogue, and pads or loop-crossfades short music to fit - which is a much better endgame than generating a three-minute loop.

    The inputs that matter

    prompt - required, max 500 characters. Source plus texture plus space: "close-mic'd keyboard clicks and low room hum, office, no music". The pack's default is sint, straight out of KIE's example. Change it.

    sound_loop - the useful one. On for anything repeating; a seamless wrap is what makes a 20-second bed sit under a two-minute clip without a join you can hear.

    sound_tempo (1–300 BPM) and sound_key (Any plus 24 named keys) - leave alone for ambience, set deliberately when the sound must agree with an existing track. Any is the default for a reason.

    grab_lyrics - asks for lyric subtitles post-completion. On a generated sound effect this rarely earns its keep.

    Outputs

    audio goes to Save Audio / Preview Audio or to the assembler. url is a live-but-temporary provider link, all_urls_json has every URL the task returned, task_id is the handle for KIE • Reuse Completed Image/Video/Audio (same result, no second charge), raw_json for debugging, credits_consumed and credits_left for the receipt.

    One gotcha that applies to every generation node in this pack: it isn't an output node. If nothing downstream consumes the audio, the node never executes and you'll think the API failed.

    Installing it

    ComfyUI Manager → search "KIE.ai Nodes Next", or:

    comfy node install kie-ai-nodes-next
    

    Manual install:

    cd ComfyUI/custom_nodes
    git clone https://github.com/felipederosilva/ComfyUI-KIE-Nodes-Next
    pip install -r requirements.txt
    

    Restart ComfyUI, then Settings → KIE.ai Nodes Next → Connection and paste your KIE.ai key. The pack validates it against KIE before overwriting a saved key and shows a masked fingerprint when it's stored; the raw key stays out of your workflows. Environment variables are deliberately unsupported.

    requests, Pillow, numpy, PyYAML are the whole dependency list - no weights, no VRAM.

    Where people get burned

    The suffix, and the label. Between "ALL" and "Add Instrumental to Music" you'd reasonably expect a node that ingests a track; the schema says otherwise. Check the input list before you build the graph around it.

    The 500-character cap catches people who paste a paragraph. The pack checks documented limits locally before upload, so you get a readable error without spending credits - and right-click → KIE Next · Check inputs & model controls will show you the cached documented fields and limits without submitting anything at all.

    And if the sound comes back right but the mix sounds wrong, that's the assembler's ducking, not this node: the ducking is level-based, not speech recognition, so it will happily pull music down for a truck horn.

    CategoryKIE Next/Audio/Suno/Music Generation

    Inputs (7)

    NameTypeDefaultDescription
    promptSTRINGsintDescription of the sound (max 500 characters).
    sound_loopoptBOOLEANfalseWhether the generated sound loops seamlessly.
    sound_tempooptINT1661–300Tempo in BPM (1–300). Omit for automatic tempo.
    sound_keyoptCOMBOAnyMusical key. Default "Any" (automatic).
    grab_lyricsoptBOOLEANfalseWhether 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—