Nodes/KIE.ai Nodes Next/Replace Music Section · V5.5
ComfyUI Node

Replace Music Section · V5.5

'tailored to your taste' — and discontinued

By felipederosilva·Created 2 months ago·Updated 3 days ago· 3
Replace Music Section · V5.5
    • audio
    • url
    • all_urls_json
    • task_id
    • raw_json
    • credits_consumed
    • credits_left
    ◄promptA calm and relaxing piano track.►
    ◄tagsJazz►
    ◄titleRelaxing Piano►
    ◄infill_start_s10.50►
    ◄infill_end_s20.75►
    ◄full_lyrics[Verse 1]\nOriginal lyrics content\n[Chorus]\nModified lyrics for this section\n[Verse 2]\nMore original lyrics►
    ◄task_id2fac****9f72►
    ◄audio_ide231****-****-****-****-****8cadc7dc►
    ◄negative_tagsRock►
    ◄lyrics[Chorus]\nModified lyrics for this section►
    ◄variety1►
    ◄vocal_genderm►
    ◄style_weight0.65►
    ◄weirdness_constraint0.65►
    ◄audio_weight0.65►
    ◄persona_idpersona_123►
    ◄persona_modelstyle_persona►
    ◄upload_urlhttps://example.com/audio.mp3►
    ◄timeout_seconds1200►
    ◄callback_url►

    KIE's one-line description of this provider version is "a dedicated model tailored to your unique taste", which is marketing for: it does personas well. The catch is the two words next to it in the same note - deprecated. So read this as a compatibility node, not a destination. If you want taste-matching section replacement today, it happens on the V6 family.

    What it is

    KIE_Next_V5_5_746e60fb rewrites a time window inside a track you already generated, using Suno V5.5 through KIE.ai. Like everything in this folder it's a generated node: the KIE Next pack reads KIE's catalog and provider docs and creates one ComfyUI node per operation/version, so the version lives in the class name rather than a widget.

    Its practical value is continuity. A track generated on V5.5 has a specific vocal character and mix, and replacing a section on a different version can sound like an edit. Staying on the same version is how you keep a repair invisible.

    How it works

    Infill, on the provider's side. You name the source track, give it a window, describe the new section and hand over the corrected lyric sheet; the model re-renders that stretch in the context of the audio surrounding it and returns a whole track. Not a stem, not a patch.

    The pack wraps the transport: build the documented request, submit, poll until timeout_seconds (default 1200), download the first result URL into a ComfyUI AUDIO, and show credits spent plus the live balance on the node. Suno's models aren't open weights, so this is a remote render by definition.

    The inputs that matter

    Source identity: task_id for the parent generation and audio_id for the individual track. Both are optional in the schema and both are what the provider actually needs; the tooltips spell out those roles. Wire task_id from your generator node and copy audio_id out of its raw_json.

    Window: infill_start_s and infill_end_s in seconds, two decimals, start < end, at least ten seconds wide. Non-negotiable, and the pack checks it locally before uploading.

    Lyrics: full_lyrics is required and must be the complete song as it should read after the replacement. lyrics is optional and holds only the replaced segment. Required prompt, tags, title are the description, style tags and title - with the usual warning that KIE's prompt tooltip says "the lyrics after replacement", which is a slip in their docs rather than an instruction.

    Personas: persona_id takes an ID from KIE's Generate Persona / Generate Voice endpoints, and persona_model says which kind it is - style_persona for style personas, voice_persona for Suno Voice IDs. KIE's own tooltip lists persona support for V5, V5_5, V6, V6_MINI and V6_WILD (with V5 and V5.5 flagged discontinued), which is why this node is the interesting one in the deprecated stack.

    Shaping dials: variety 0–4 (0 = strictly the same style, 4 = may differ very significantly), style_weight, weirdness_constraint, audio_weight each 0–1 at 0.65 default, negative_tags defaulting to Rock, and vocal_gender (m/f) which nudges rather than guarantees.

    Outputs

    audio goes to Save Audio / Preview Audio, or to KIE • Assemble Video + Music if the song is scoring picture. The node returns a fresh task_id, so a further window can chain from it. url is the remote file, all_urls_json the list, raw_json the raw response, credits_consumed and credits_left the receipt. It isn't an output node, so nothing executes until the audio is consumed.

    Installing it

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

    comfy node install kie-ai-nodes-next
    

    Manual:

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

    Restart, then Settings → KIE.ai Nodes Next → Connection and paste your KIE.ai key. The pack validates it before overwriting a working key and shows a masked fingerprint afterwards; nothing is written into the workflow. Env-var keys are unsupported by design.

    Dependencies: requests, Pillow, numpy, PyYAML. No weights, no VRAM floor.

    Where people get burned

    Reading "discontinued" as "broken". It still runs. It's just not where KIE points new work, so don't build a 2026 pipeline around it.

    Persona model mismatch. A voice ID with style_persona selected tends to produce a result that politely ignores the persona.

    Window under ten seconds, or a full_lyrics field that only holds the new part. Both are self-inflicted and both are cheap to avoid. Right-click → KIE Next · Check inputs & model controls reads the cached documented limits locally, so you can confirm a window is legal before spending a credit.

    CategoryKIE Next/Audio/Suno/Music Generation

    Inputs (20)

    NameTypeDefaultDescription
    promptSTRINGA calm and relaxing piano track.The lyrics after replacement. Required.
    tagsSTRINGJazzStyle tags for the music, such as jazz or electronic. Required.
    titleSTRINGRelaxing PianoThe title of the music. Required.
    infill_start_sFLOAT10.500–10000The point in time, in seconds, at which replacement starts, rounded to 2 decimal places. Required. Must be less than infill_end_s, and the difference between infill_end_s and infill_start_s must be at least 10 seconds.
    infill_end_sFLOAT20.750–10000The point in time, in seconds, at which replacement ends, rounded to 2 decimal places. Required. Must be greater than infill_start_s, and the difference between infill_end_s and infill_start_s must be at least 10 seconds.
    full_lyricsSTRING[Verse 1]\nOriginal lyrics content\n[Chorus]\nModified lyrics for this section\n[Verse 2]\nMore original lyricsThe complete modified lyrics, combining the modified and unmodified lyrics. Required. This parameter contains the complete lyrics text that will be used for the entire song after section replacement.
    task_idoptSTRING2fac****9f72The original task ID (parent task), used to identify the source music for section replacement.
    audio_idoptSTRINGe231****-****-****-****-****8cadc7dcThe unique identifier of the audio track to be replaced. This ID is returned in the callback data after music generation is completed.
    negative_tagsoptSTRINGRockMusic styles to exclude, used to prevent specific stylistic elements from appearing in the replacement section.
    lyricsoptSTRING[Chorus]\nModified lyrics for this sectionLyrics for the replaced segment. Optional. - V6, V6_MINI, and V6_WILD: Maximum 5000 characters.
    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
    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.650–1Adherence strength to specified style. Optional. Range 0–1, up to 2 decimal places.
    weirdness_constraintoptFLOAT0.650–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.
    persona_idoptSTRINGpersona_123Persona ID or Voice ID to apply to the generated music. Optional. Use this to apply a specific persona style to your music generation. To generate a Persona ID, use the [Generate Persona](https://docs.kie.ai/suno-api/generate-persona) endpoint to create a personalized music Persona based on generated music. To generate a Voice ID, use the [Generate Voice](https://docs.kie.ai/suno-api/suno-voice-generate) endpoint.
    persona_modeloptCOMBOstyle_personaPersona model. Optional. Use `style_persona` for Generate Persona IDs, or `voice_persona` for Suno Voice IDs. Default: `style_persona`. Available for V5 (Discontinued), V5_5 (Discontinued), V6, V6_MINI, and V6_WILD.
    upload_urloptSTRINGhttps://example.com/audio.mp3The URL of the custom audio uploaded by the user.
    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—