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

Upload And Cover Audio · V4

Re-record someone else's song with Suno

By felipederosilva·Created about a month ago·Updated about 22 hours ago· 3
Upload And Cover Audio · V4
    • 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►

    Cover generation is the sleeper feature of the Suno API: hand it a track you already have, and it rebuilds it in Suno's production - same melodic idea, new everything else. Vocals, arrangement, mix, all regenerated. This node is that endpoint, pinned to the V4 model version.

    Worth saying plainly up front: this is one of a family of nodes. The pack splits every documented Suno version into its own node, so you'll also see V4.5, V5 and V6 variants of the same cover endpoint in your menu. V4 is what you're looking at here, and KIE's own docs mark V4 as discontinued - the tooltips in this node literally say "V4 (Discontinued): Maximum 200 characters" for style. It still works, and it's the cheapest of the family, but if you're starting fresh, the V6 nodes are where Suno's current quality lives.

    Why anyone uses the cloud for this

    Local music generation got real - ACE-Step runs on a 4GB card and instrumental output is genuinely close - but vocals are still the weak spot, and covers are mostly vocals. That's the honest argument for paying per generation here.

    How it works

    It submits a Market task to KIE, waits, and downloads the result as a native AUDIO object. Under the hood this pack does something important for Suno specifically: KIE's endpoint takes a provider version (V4) nested in the request body while the outer Market model is ai-music-api/upload-and-cover-audio. The pack handles that envelope mapping for you, which is the difference between a working node and a 400 you'd spend an evening on.

    Inputs

    upload_url is required and is a URL string to the source track, not an audio socket. KIE's tooltip caps it at eight minutes - trim longer material first. In practice you wire this from KIE • Upload Audio, which takes a native AUDIO and gives you a hosted URL; that node is the missing half of this one.

    prompt is required in the widget and is the lyrics for the cover - but read the tooltip before filling it in: it's only used as lyrics when you don't provide lyrics, and per KIE you should not pass it at all when instrumental is on.

    instrumental (default on) is the mode switch. On, you get no vocals and the prompt and lyrics are meant to be absent. Off, the text you supplied gets sung. One practical trap: this pack sends every widget it can see, with its default value, so if you leave the example lyric text sitting in prompt while instrumental is on, that text goes to the provider anyway. Clear the box rather than trusting the mode flag.

    Optional fields worth knowing: style (the genre steer, with that 200-character V4 ceiling), title (80 characters), negative_tags to push things out, vocal_gender (m or f - the tooltip is honest that this only nudges the odds), the three fine-tune weights style_weight, weirdness_constraint and audio_weight, lyrics, variety (0–4, default 1, where 0 is "stay exactly on style" and 4 is "surprise me"), and persona_id with persona_model for singing in a saved voice. duration also appears, but KIE documents it as valid only on V5.5 and later, so on V4 leave it alone.

    Outputs and install

    Outputs: audio (wire into a core Save Audio or preview), url, all_urls_json, task_id, raw_json, and the credit receipt pair credits_consumed / credits_left.

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

    Or install via ComfyUI Manager (search "KIE.ai Nodes Next") and restart. Then set your key once under Settings → KIE.ai Nodes Next → Connection; KIE_API_KEY covers headless installs. Every generation is metered, so use credits_left rather than discovering the balance mid-batch.

    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—