Nodes/KIE.ai Nodes Next/Upload And Cover Audio · V4.5
ComfyUI Node

Upload And Cover Audio · V4.5

The middle sibling nobody reaches for

By felipederosilva·Created about a month ago·Updated a day ago· 3
Upload And Cover Audio · V4.5
    • audio
    • url
    • all_urls_json
    • task_id
    • raw_json
    • credits_consumed
    • credits_left
    ◄upload_urlhttps://storage.example.com/upload►
    ◄promptA calm and relaxing piano track with soft melodies►
    ◄instrumentaltrue►
    ◄styleClassical►
    ◄titlePeaceful Piano Meditation►
    ◄negative_tagsHeavy Metal, Upbeat Drums►
    ◄vocal_genderm►
    ◄style_weight0.65►
    ◄weirdness_constraint0.65►
    ◄audio_weight0.65►
    ◄persona_idpersona_123►
    ◄persona_modelstyle_persona►
    ◄lyrics[Verse] Keep the melody flowing Into a gentle bridge [Chorus] Let the piano rise and fall►
    ◄variety1►
    ◄duration20►
    ◄timeout_seconds1200►
    ◄callback_url►

    This is the cover-audio endpoint from the Suno API, pinned to the V4.5 model version. Feed it a track, get a new production of that track back.

    Here's the honest framing: on KIE's own documentation, V4.5 is listed as discontinued, and the same cover endpoint exists in your node menu across V4, V5, V6, V6_MINI and V6_WILD flavours. V4.5 sits in the middle of that range with the worst of both worlds - no quality advantage over the current versions, no compatibility advantage over plain V4. Treat this node as the thing you use when a workflow you inherited is already wired to it, not as a starting point.

    What a cover actually does

    It's not remastering and it's not a stem split. The model takes the melodic and rhythmic content of your source and rebuilds the whole production around it - new instrumentation, new mix, new vocals if you ask for them. For a graph, the interesting consequence is that a cover keeps your timing while changing everything else, which is how you get a rough demo idea into a listenable arrangement without writing it twice.

    Inputs

    upload_url is required: a URL string to the source audio, eight minutes max per the tooltip. It is not an audio socket, so wire KIE • Upload Audio in front of it and send its url output here - that node WAV-encodes a ComfyUI AUDIO object and hosts it, which is exactly the format this field needs.

    prompt holds the lyrics for the cover, and instrumental (on by default) decides whether there are vocals at all. KIE's instructions are explicit that prompt, lyrics and vocal_gender should not be passed when instrumental is on. Because ComfyUI ships every visible widget value to the node, the example lyric text sitting in the box counts as "passed" - clear it out rather than trusting the mode flag to ignore it.

    The optionals: style (here you get KIE's 1000-character ceiling, unlike V4's 200), title (80 characters, and it becomes the filename), negative_tags, vocal_gender, style_weight, weirdness_constraint, audio_weight, lyrics (takes priority over prompt), variety (0–4, where 0 is "exactly this style" and 4 is "unreasonably varied"), and persona_id with persona_model to sing in a saved persona or cloned voice. The duration widget is present but KIE documents it as valid only on V5.5 and newer, so on V4.5 it doesn't do anything. timeout_seconds and callback_url are the standard wait and webhook fields.

    One wiring note: the pack maps this node onto KIE's documented ai-music-api/upload-and-cover-audio transport while keeping V4_5 as the provider version inside the request, so you don't have to fight the API about which model name goes where. That mapping is a fix the author shipped after earlier versions sent the provider version in the wrong slot.

    Outputs

    audio (native, wire it into a core Save Audio or audio preview), url, all_urls_json, task_id, raw_json, and credits_consumed with credits_left for the receipt. The node also prints credits spent and your live balance on itself after a successful run, which is the fastest way to notice that your cover experiments are costing more than you assumed.

    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
    

    Or let ComfyUI Manager do it - search KIE.ai Nodes Next - and restart either way. Then paste your API key once under Settings → KIE.ai Nodes Next → Connection; the pack validates it before saving, then shows a masked fingerprint and a CONNECTED status with your balance. Dependencies are only requests, Pillow, numpy, PyYAML. Nothing runs locally, so there's no VRAM story here - just a per-call bill.

    The version advice, one more time

    Covers are a vocals-and-production job, which is precisely where the cloud still beats local music models, so paying for a generation makes sense. Paying for a discontinued generation doesn't. If this node is in your graph because you cloned someone's workflow, switch it to the V6 cover node and keep everything else identical - the inputs are the same shape and the output is simply better.

    CategoryKIE Next/Audio/Suno/Music Generation

    Inputs (17)

    NameTypeDefaultDescription
    upload_urlSTRINGhttps://storage.example.com/uploadThe URL of the source audio file to cover. Required. Source audio (`upload_url`) is enough to generate. Ensure the uploaded audio does not exceed 8 minutes in length.
    promptSTRINGA calm and relaxing piano track with soft melodiesLyrics for the covered audio. 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. - Not required. Source audio (`upload_url`) is enough to generate. - Do not pass this parameter when `instrumental` is `true`.
    instrumentalBOOLEANtrueDetermines if the audio should be instrumental (no lyrics). - If `true`: generate instrumental music (no vocals). Do not pass `lyrics`, `prompt`, or `vocal_gender`. - If `false`: use `lyrics` as lyrics (fall back to `prompt` if `lyrics` is not provided).
    styleoptSTRINGClassicalThe music style or genre for the audio. Optional. - Not required. Source audio (`upload_url`) is enough to generate. - Character limits by model: - **V4**(Discontinued): Maximum 200 characters - **V4_5 & V4_5PLUS**(Discontinued): Maximum 1000 characters - **V4_5ALL**(Discontinued): Maximum 1000 characters - **V5_5 & V5**(Discontinued): Maximum 1000 characters - **V6, V6_MINI, and V6_WILD**: Maximum 1000 characters
    titleoptSTRINGPeaceful Piano MeditationThe title of the generated music track. Optional. - Maximum 80 characters. - Displayed in player interfaces and filenames.
    negative_tagsoptSTRINGHeavy Metal, Upbeat DrumsMusic styles or traits to exclude from the generated audio. - Optional. Use to avoid specific styles. Example: "Heavy Metal, Upbeat Drums"
    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. Do not pass this parameter when `instrumental` is `true`.
    style_weightoptFLOAT0.650–1Strength of adherence to the specified style. Optional. Range 0–1, up to 2 decimal places.
    weirdness_constraintoptFLOAT0.650–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.
    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_personaThe persona model is only available for models version 5 and 5.5.
    lyricsoptSTRING[Verse] Keep the melody flowing Into a gentle bridge [Chorus] Let the piano rise and fallLyrics for the covered audio. 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. - Not required. Source audio (`upload_url`) is enough to generate. - Do not pass this parameter when `instrumental` is `true`.
    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
    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—