Nodes/KIE.ai Nodes Next/Add Instrumental to Music · V6
ComfyUI Node

Add Instrumental to Music · V6

Backing tracks on the live tier

By felipederosilva·Created about a month ago·Updated about 22 hours ago· 3
Add Instrumental to Music · V6
    • 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►

    Hand it a song, describe the style, get an instrumental back. This is Suno's "Add Instrumental to Music" endpoint on V6, the current tier - the sibling of the V5 and V5.5 versions, and the one to use for new work now that KIE's docs mark the older tiers discontinued.

    Be clear about what it does, because the name misleads. This is not stem separation. It doesn't split your file into vocal and instrumental halves. It takes your source audio as a reference and generates an instrumental performance guided by it, steered by your tags, negative_tags and style_weight. Sometimes that beats separation - a real mix, no watery artifacts. Sometimes it's worse - the arrangement drifts from what you wrote. If you want the actual instrumental of a track you own, use a separation tool first, it's local and free. Come here when you want a re-performed backing in a style you choose.

    Worth noting the local economics: ACE-Step makes instrumental music for free on modest hardware. Instrumental is the part of the job where local already wins. Reach for this node when the backing needs to match an existing song's character, or when you want the result to sit in the same family as other Suno output.

    How it works

    The pack generates its node classes from KIE's official API documentation at startup, one per documented model version, so V6 is baked in - no model dropdown. The node assembles the documented request body, submits it to KIE's task endpoint (envelope model ai-music-api/add-instrumental, inner model V6), polls KIE's record-info endpoint every couple of seconds with backoff until the task succeeds, then downloads the resulting mp3 and returns a native ComfyUI AUDIO. Failed tasks raise with the task id and the provider's message.

    The inputs that matter

    Four are required, and the naming is a trap for anyone coming from its siblings - this endpoint calls the style field tags:

    • upload_url - the source audio, as a publicly reachable URL. The docs: source audio plus title, negative_tags and tags is enough to generate. Upload-family limit: under 8 minutes.
    • title - required; appears in the player and the filename.
    • tags - what to include, e.g. relaxing, piano, soothing.
    • negative_tags - what to avoid, e.g. heavy metal, fast drums.

    Optional: vocal_gender (schema-complete, practically pointless when the target is instrumental), style_weight (0–1, default 0.61 - how hard the tags pull), weirdness_constraint (default 0.72), audio_weight (how much the source audio counts), lyrics (optional; the source is enough on its own), variety (0–4, per the docs' own ladder from "strictly the same" to "unreasonably varied"), timeout_seconds (1200) and callback_url (leave empty).

    Outputs: audio - wire it into Save Audio or anything downstream - plus url, all_urls_json, task_id, raw_json, credits_consumed and credits_left.

    Getting your song in

    upload_url is a string widget, not an AUDIO socket, so a native audio cable won't attach. Add KIE • Upload Audio from KIE Next/Utility/Media, connect your AUDIO to it, then right-click upload_url on this node, choose Convert widget to input, and wire the URL string across. Two nodes, once, and the chain runs unattended after that.

    Installing

    ComfyUI Manager, search "KIE Nodes Next". The README describes the registry listing as prepared rather than published, so if Manager comes up empty:

    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 set the key once under Settings → KIE.ai Nodes Next → Connection. It's validated before overwriting a working key, only a masked fingerprint is shown, and KIE_API_KEY takes priority for headless installs. That's the whole setup - four small Python packages, no torch, no checkpoints, no VRAM.

    Where people get burned

    • Hunting for a style field. It's tags on this endpoint. Same job; the docs are just inconsistent across the family.
    • Expecting stem separation. It generates; it doesn't isolate.
    • Local paths as upload_url. KIE needs to fetch it. Upload first.
    • No key configured throws an explicit error naming the settings page - always the first check.
    • Mixed-release installs are refused at import. If the pack's version and its generated-node build disagree, delete ComfyUI-KIE-Nodes-Next and reinstall.
    • Credits, every attempt. credits_consumed and credits_left print on the node so iterating is visible rather than surprising.

    Spend your tuning effort on tags before style_weight. Concrete tags - lead instrument, genre, mood, a tempo word - move the result far more than nudging the adherence dial with a vague list.

    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—