Nodes/KIE.ai Nodes Next/Generate Mashup Music · V6_WILD
ComfyUI Node

Generate Mashup Music · V6_WILD

Generate Mashup Music · V6_WILD is the one you use when the safe pairing is boring

By felipederosilva·Created about a month ago·Updated about 22 hours ago· 3
Generate Mashup Music · V6_WILD
    • audio
    • url
    • all_urls_json
    • task_id
    • raw_json
    • credits_consumed
    • credits_left
    ◄upload_url_list[ "https://example.com/audio1.mp3", "https://example.com/audio2.mp3" ]►
    ◄promptA calm and relaxing piano track with soft melodies►
    ◄styleJazz►
    ◄titleRelaxing Piano►
    ◄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►
    ◄persona_idpersona_123►
    ◄persona_modelstyle_persona►
    ◄duration20►
    ◄timeout_seconds1200►
    ◄callback_url►

    What it is

    KIE_Next_V6_WILD_a2051470 is the mashup node running KIE's V6_WILD Suno version - the one KIE's documentation says "pushes creative boundaries for bolder, more distinctive musical expression." In practice that means it takes the same two source tracks as its V6 and V6_MINI siblings and is more willing to wander when it fuses them. Sometimes that's a revelation. Sometimes the source material dissolves into something that shares a BPM with your inputs and nothing else.

    Its job in a wider graph is the same as the other mashup nodes: turn two existing uploads into a new track that a video workflow can score itself with, without paying a Suno subscription. Music generation in ComfyUI has been the API's strongest remaining case - local models like ACE-Step got genuinely good at instrumentals, but clean vocals and lyric phrasing are still where the hosted models pull ahead - and mashup is one of the few jobs where an audio reference beats a paragraph of description.

    How the mechanism works

    The node posts your payload to KIE's task API and then polls for it, itself, until the job completes. Polling starts at 2.5 seconds and backs off toward 15, and the whole thing is bounded by timeout_seconds (default 1200, max 7200). When the task reports success, the returned MP3 is fetched and decoded into ComfyUI's AUDIO dict. Nothing runs on your GPU; the cost lands on your KIE credit balance, which the node reports back on completion.

    Version handling is the detail worth knowing if you hit odd errors: V6_WILD is the provider version and it goes inside the request payload, while the outer KIE job envelope uses KIE's market name for the mashup API. Builds before v0.4.10 got that wrong and sent the version where the market name belonged - if mashup submissions fail on model grounds on an old install, update and restart before you debug anything else.

    The inputs

    • upload_url_list - a JSON array in a multiline text field: ["https://.../track-a.mp3", "https://.../track-b.mp3"]. Public URLs only; upstream uses the first two entries. For local files, run them through KIE • Upload Audio and paste the resulting URLs.
    • style - required, and I'd argue this is where "wild" gets tamed. Vague styles plus WILD gets you mush; specific ones ("trip-hop drums, Swahili vocals, tape saturation") give it somewhere to push.
    • title - required, labelling only.
    • prompt - how you describe the desired content. Leave lyrics blank and the prompt gets sung; that's a documentation quirk, not a bug.
    • duration - 10–360 seconds, default 20.
    • style_weight (0.61 default here), weirdness_constraint (0.72), audio_weight (0.65) - three dials aimed at the same question: how much of the sources survives. With WILD, dropping weirdness_constraint is the fastest way to find out how far it'll go.
    • variety - 0 to 4, from "same style, twice" to the tooltip's own "unreasonably varied."
    • vocal_gender - the honest description is "increases the probability," not "guarantees."
    • persona_id with persona_model - apply a saved Suno style or voice persona to the mashup if you have one.

    Outputs

    audio is the finished track as a native ComfyUI audio object. url is the primary result URL, all_urls_json contains every URL the provider returned, task_id is the job handle, raw_json is the full response, and credits_consumed / credits_left are reported in the node's on-canvas receipt.

    Read all_urls_json even if you're happy. Every Suno request here returns two tracks and audio only carries the first; the alternate take exists and sometimes it's better.

    Install

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

    Then restart. The only dependencies are requests, Pillow, numpy, PyYAML - no weights, no GPU requirements, nothing to download. Windows users have a one-click installer in the repo's dist/ folder. ComfyUI Manager support is the pack's stated direction (it ships registry metadata under publisher felipeosilva) but the manual clone is what always works today.

    Set the key once in Settings → KIE.ai Nodes Next → Connection. It's verified against KIE before it overwrites a saved key, and KIE_API_KEY in the environment takes precedence on headless boxes.

    Common issues

    Missing key. The error text is explicit and tells you where to paste it - no guesswork.

    A failed task after a long wait. Check raw_json; KIE returns a reason such as a sensitive-word rejection, which lyric-heavy prompts trip more often than you'd expect.

    Timeouts. Raise timeout_seconds rather than resubmitting blind, and remember the earlier task_id can be polled with KIE • Wait for Task - the job isn't necessarily dead just because your node stopped waiting.

    Unfetchable source URLs. KIE's servers, not your machine, have to be able to download those two files. Anything behind auth or on a private network fails.

    CategoryKIE Next/Audio/Suno/Music Generation

    Inputs (15)

    NameTypeDefaultDescription
    upload_url_listSTRING[ "https://example.com/audio1.mp3", "https://example.com/audio2.mp3" ]Array of audio file URLs to mashup. Provide 2 audio URLs. Upstream uses only the first 2. Each URL must be publicly accessible.
    promptSTRINGA calm and relaxing piano track with soft melodiesA description of the desired audio content. Optional. - Used as lyrics only when `lyrics` is not provided. If `lyrics` is present, `prompt` is not used as lyrics. - V6, V6_MINI, and V6_WILD: Maximum 5000 characters.
    styleSTRINGJazzMusic style specification for the generated audio. Required. - Character limits by model: - **V4** (Discontinued): Maximum 200 characters - **V4_5 & V4_5PLUS** (Discontinued): Maximum 1000 characters - **V4_5ALL** (Discontinued): Maximum 1000 characters - **V5 & V5_5** (Discontinued): Maximum 1000 characters - **V6, V6_MINI & V6_WILD**: Maximum 1000 characters - Common examples: Jazz, Classical, Electronic, Pop, Rock, Hip-hop, etc.
    titleSTRINGRelaxing PianoTitle for the generated music track. Required. - Character limits by model: - **V4** (Discontinued): Maximum 80 characters - **V4_5 & V4_5PLUS** (Discontinued): Maximum 100 characters - **V4_5ALL** (Discontinued): Maximum 80 characters - **V5 & V5_5** (Discontinued): Maximum 100 characters - **V6, V6_MINI & V6_WILD**: Maximum 100 characters - Will be displayed in player interfaces and filenames.
    vocal_genderoptCOMBOmVocal gender preference for the singing voice. Optional. Use 'm' for male and '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–1Strength of adherence to the specified style. Optional. Range 0–1, up to 2 decimal places.
    weirdness_constraintoptFLOAT0.720–1Controls experimental/creative deviation. Optional. Range 0–1, up to 2 decimal places.
    audio_weightoptFLOAT0.650–1Balance weight for audio features vs. other factors. 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 mashup. Optional. - Takes priority over `prompt` as lyrics. If omitted, `prompt` is used as lyrics when provided. - 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
    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.
    durationoptINT2010–360Audio duration in seconds. Optional. Range 10–360, default 20. Valid when `model` is ~~V5_5~~ (Discontinued), V6, V6_MINI, or V6_WILD.
    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—