Extend Music · V6_WILD
When you want the continuation to surprise you
- audio
- url
- all_urls_json
- task_id
- raw_json
- credits_consumed
- credits_left
The short version
KIE_Next_V6_WILD_688eeb10 continues a Suno track by its audio_id, running the V6_WILD model - the version KIE pitches as pushing "creative boundaries for bolder, more distinctive musical expression." It's the same mechanism as its V6_MINI sibling, with a model that's more likely to take your track somewhere you didn't plan.
Two nodes in this pack look almost identical and are worth telling apart before you wire anything. Extend Music continues a track that lives on Suno's side by id. Upload And Extend Audio continues a file you upload by URL. Both exist because those are genuinely different starting points, not because the author got bored.
WILD is the right pick when the original was a springboard rather than a finished thing. Instrumentals, jams, a two-bar loop you want turned into a piece of music. For "extend my finished pop song by eight bars, don't embarrass me," you want one of the tamer versions.
Mechanism
The node builds the extend payload, hands it to KIE's task API, and then waits. Polling starts at 2.5 seconds and backs off toward 15 until the job resolves or timeout_seconds (default 1200, max 7200) expires. When the task reports success the audio is downloaded and decoded into ComfyUI's AUDIO dict. The V6_WILD version string rides inside the request payload while the outer envelope uses KIE's market name for the extend endpoint - the split that pre-v0.4.10 builds got wrong, so if submissions fail on model grounds, update and restart before hunting elsewhere.
No local model, no VRAM. Your ids and prompts go to KIE, and you pay in credits, which the node prints on itself once the run finishes.
Inputs
audio_id- required. Take it from a previous Suno generation's track entry, not its task id. That mix-up is the most common reason a run comes back as a provider-side failure.prompt- lyrics for the new material. Required widget, though the source id alone is technically enough.continue_at- where the extension begins, in seconds, default 60. It has to be inside the original track's length. Leaving a little room before the end gives the model something to blend with and hides the join.instrumental- optional, defaults to false, which is the opposite default to the Upload And Extend nodes. Flip it if you're extending an instrumental, and note that when it's true the docs say not to passlyrics,promptorvocal_gender.styleandnegative_tags- optional steering for the continuation. The docs suggest matching the original's style; with WILD I'd suggest matching it instyleand lettingweirdness_constraintdo the wandering instead.lyrics- explicit lyrics, which take priority overpromptas lyrics. Structure tags like[Verse]and[Chorus]are the expected shape.style_weight,weirdness_constraint,audio_weight- 0.65 each by default.audio_weightis your continuity control.variety- 0 to 4; the tooltip's own summary of 4 is "unreasonably varied," which is either a feature or a warning.vocal_gender,persona_id+persona_model- voice nudging and saved style/voice personas.
Outputs and what to do with them
audio is the extended track - native ComfyUI audio, so Save Audio, a mux node, or a downstream video pipeline all just work. url is the primary result URL and all_urls_json holds every URL the response contained; with multiple takes returned per request, reading the JSON is how you get at the alternate. task_id is the handle you'll want if you plan to chain a second extension. raw_json is the full payload for when something reads oddly, and credits_consumed / credits_left tell you what it cost.
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
Restart ComfyUI when it's done. The only dependencies are requests, Pillow, numpy and PyYAML; there are no weights, no model downloads, no VRAM budget. There's a Windows one-click installer in the repo's dist/ folder, and ComfyUI Manager support is the direction the project is heading (registry metadata ships under publisher felipeosilva), but the manual clone is what works today.
Then paste your KIE.ai key once in Settings → KIE.ai Nodes Next → Connection. The pack validates it against KIE before overwriting a working key, masks it to a fingerprint, and shows a connected status. Servers can use KIE_API_KEY instead, which takes priority.
Caveats
The honest one is that extension is the least seamless thing these models do - you're asking for a new section that continues a performance it never heard as a whole. Overlapping continue_at a few seconds before the end is the practical fix. Beyond that: a bad audio_id fails at the provider, timed-out jobs are usually still running upstream (poll task_id with KIE • Task Status before resubmitting), and raw_json is where the provider's stated reason lives when something gets rejected.
Inputs (17)
| Name | Type | Default | Description |
|---|---|---|---|
| audio_id | STRING | e231****-****-****-****-****8cadc7dc | Unique identifier of the audio track to extend. Required for all extension requests. |
| prompt | STRING | Extend the music with more relaxing notes and a gentle bridge section | Lyrics for the extended 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 (`audio_id`) is enough to generate. - Do not pass this parameter when `instrumental` is `true`. |
| styleopt | STRING | Classical | Music style specification for the extended audio. Optional. - Not required. Source audio (`audio_id`) 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 - Should typically align with the original audio's style for best results. |
| titleopt | STRING | Peaceful Piano Extended | Title for the extended music track. Optional. - Maximum 100 characters. - Displayed in player interfaces and filenames. |
| continue_atopt | FLOAT | 60.00-10000–10000 | The time point (in seconds) from which to start extending the music. - Value range: greater than 0 and less than the total duration of the generated audio. - Specifies the position in the original track where the extension should begin. |
| negative_tagsopt | STRING | Heavy Metal, Upbeat Drums | Music styles or traits to exclude from the extended audio. Optional. Use to avoid specific undesired characteristics. |
| vocal_genderopt | COMBO | m | Vocal gender preference. Optional. 'm' denotes a male voice, and 'f' denotes a female voice. In practice, this parameter only influences the probability and does not guarantee strict adherence to the gender instruction. This parameter is not required if `instrumental` is set to `true`. |
| style_weightopt | FLOAT | 0.650–1 | Strength of adherence to the specified style. Optional. Range 0–1, up to 2 decimal places. |
| weirdness_constraintopt | FLOAT | 0.650–1 | Controls experimental/creative deviation. Optional. Range 0–1, up to 2 decimal places. |
| audio_weightopt | FLOAT | 0.650–1 | Balance weight for audio features vs. other factors. Optional. Range 0–1, up to 2 decimal places. |
| persona_idopt | STRING | persona_123 | Persona 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_modelopt | COMBO | style_persona | The persona model is only applicable to the V5 (deactivated), V5.5 (deactivated), V6, V6_MINI, and V6_WILD models. |
| lyricsopt | STRING | [Verse] Keep the melody flowing Into a gentle bridge [Chorus] Let the piano rise and fall | Lyrics for the extended 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 (`audio_id`) is enough to generate. - Do not pass this parameter when `instrumental` is `true`. |
| varietyopt | INT | 10–4 | Controls 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 |
| instrumentalopt | BOOLEAN | false | Indicates whether it is an instrumental track. If true, passing the `lyrics`, `prompt`, and `vocal_gender` parameters is prohibited. |
| timeout_secondsopt | INT | 120030–7200 | — |
| callback_urlopt | STRING | Optional KIE callback URL. Leave empty for normal ComfyUI use. |
Outputs (7)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |
| url | STRING | — |
| all_urls_json | STRING | — |
| task_id | STRING | — |
| raw_json | STRING | — |
| credits_consumed | FLOAT | — |
| credits_left | FLOAT | — |