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

Add Instrumental to Music · V4.5PLUS

Your vocal take gets a band

By felipederosilva·Created 2 months ago·Updated 13 days ago· 4
Add Instrumental to Music · V4.5PLUS
    • 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►

    This is the smallest and most specific node in the Suno set: you have a vocal - a dry take, an a cappella stem, a rough melody - and you want backing behind it. Give it the audio and a description of what should be playing, and Suno's V4.5PLUS model builds the arrangement around what's already there.

    Where it earns its place: vocal-first workflows. If you've separated stems, or recorded a hook yourself, this is how you get an arrangement without opening a DAW or hunting loops. Where it doesn't: replacing music that's already there. The source should read as a vocal with room around it, not a finished mix the model has to fight through.

    How it works

    A remote call, like every node in this pack. The request goes to KIE.ai under the transport model ai-music-api/add-instrumental with V4_5PLUS as the version, then the node waits, polling until the job resolves or timeout_seconds (default 1200 seconds) runs out. The arrangement comes back decoded as a standard ComfyUI AUDIO object, decodable by ComfyUI's own torchaudio/PyAV - nothing was loaded onto your GPU to make it.

    The four required fields

    upload_url - a public URL to the source audio, not a file path. The provider fetches it, so localhost links and local paths fail. The pack's upload utility nodes under KIE Next / Utility are the intended way to place a track somewhere reachable.

    tags - this is your style instruction, and the naming is the giveaway that this endpoint isn't the same shape as Generate Music: there's no style field here, there's tags, and the docs' example is relaxing, piano, soothing. Comma-separated descriptors work better than prose.

    title and negative_tags are both required - one is cosmetic (it ends up in filenames and player UIs), the other is your exclusion list, and the docs' own example is heavy metal, fast drums. Be specific about what the arrangement should not do.

    Optional, and mostly seasoning: vocal_gender (a probability nudge, per the docs), lyrics, variety (0–4, default 1 - higher means more stylistic spread between takes), and the 0–1 style_weight, weirdness_constraint and audio_weight dials. Leave them alone until something is wrong.

    Outputs

    audio is the arranged track - feed it to SaveAudio or straight into your video pipeline. all_urls_json keeps every URL the response returned, which matters because these calls return multiple takes and audio is only the first; the rest are one text-display node away. url, task_id and raw_json are the debugging trio, and raw_json is the only way to see exactly what the provider was sent. credits_consumed and credits_left close out the cost picture and both render on the node face after a run.

    Installing

    ComfyUI Manager → search ComfyUI-KIE-Nodes-Next ("KIE.ai Nodes Next"). Manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/felipederosilva/ComfyUI-KIE-Nodes-Next
    

    Restart ComfyUI, then paste your key once in Settings → KIE.ai Nodes Next → Connection → Paste / replace KIE.ai API key. The pack validates it against KIE before saving, keeps it in Comfy's user config rather than in the workflow, and shows a masked fingerprint. For server installs, KIE_API_KEY in the environment takes priority. Dependencies: requests, Pillow, numpy, PyYAML. No checkpoints, no CUDA, no model downloads.

    Honest notes

    V4.5PLUS is the only version this node exposes, and KIE's parameter docs tag it (Discontinued) alongside V4, V4.5, V4.5ALL, V5 and V5.5 - the live family is now V6/V6_MINI/V6_WILD. It works because the API page still documents it; when that changes, the node goes quiet.

    Garbage in, arrangement out. A source with hiss, clipping or a backing track bleeding into the vocal will get a backing built on top of it. Clean input here is worth more than any amount of style_weight fiddling.

    The vocal isn't yours to control. You don't get a lever for how far forward the new backing sits in the mix, or for which instruments land where. If you need that control, this node gives you a starting point and a DAW finishes the job.

    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—