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 about a month ago·Updated a day ago· 3
Add Instrumental to Music · V4.5PLUS
    • audio
    • url
    • all_urls_json
    • task_id
    • raw_json
    • credits_consumed
    • credits_left
    ◄upload_urlhttps://example.com/music.mp3►
    ◄titleRelaxing Piano►
    ◄negative_tagsheavy metal, fast drums►
    ◄tagsrelaxing, piano, soothing►
    ◄vocal_genderm►
    ◄style_weight0.61►
    ◄weirdness_constraint0.72►
    ◄audio_weight0.65►
    ◄lyrics[Verse] Keep the melody flowing Into a gentle bridge [Chorus] Let the piano rise and fall►
    ◄variety1►
    ◄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 (12)

    NameTypeDefaultDescription
    upload_urlSTRINGhttps://example.com/music.mp3URL of the uploaded audio file. Required. Source audio (`upload_url`) is enough to generate once `title`, `negative_tags`, and `tags` are provided.
    titleSTRINGRelaxing PianoTitle of the generated music. Required. Will be displayed in the player interface and file name.
    negative_tagsSTRINGheavy metal, fast drumsMusic styles or characteristics to exclude from the generated audio. Required. Used to avoid specific unwanted music elements.
    tagsSTRINGrelaxing, piano, soothingMusic styles or tags to include in the generated music. Required. Defines the desired music style and characteristics.
    vocal_genderoptCOMBOmVocal gender preference. Optional. 'm' for male, 'f' for female. Based on practice, this parameter can only increase the probability but cannot guarantee adherence to male/female voice instructions.
    style_weightoptFLOAT0.610–1Adherence strength to specified style. Optional. Range 0–1, up to 2 decimal places.
    weirdness_constraintoptFLOAT0.720–1Controls experimental/creative deviation level. Optional. Range 0–1, up to 2 decimal places.
    audio_weightoptFLOAT0.650–1Relative weight of audio elements. Optional. Range 0–1, up to 2 decimal places.
    lyricsoptSTRING[Verse] Keep the melody flowing Into a gentle bridge [Chorus] Let the piano rise and fallLyrics for the generated audio. Optional. - V6, V6_MINI, and V6_WILD: Maximum 5000 characters. - Not required. Source audio (`upload_url`) is enough to generate once `title`, `negative_tags`, and `tags` are provided.
    varietyoptINT10–4Controls the diversity and stylistic variation of generated results. Optional. Integer range 0–4, default 1. - **`0`**: off (exact style) — fully off, strictly the same style - **`1`**: normal (balanced variety) — default, balances stability and diversity - **`2`**: high (distinct styles) — produces results with clearly different styles - **`3`**: extra (bold exploration) — higher variation, encourages bold exploration of different styles - **`4`**: max (unreasonably varied) — maximum diversity; results may differ in style very significantly
    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—