ComfyUI Node

ACE-Step v1.5 XL Base

The music node for people who actually want to steer the sampler

By Runware·Created 2 years ago·Updated about a month ago· 140
ACE-Step v1.5 XL Base
  • audioSettings
  • audio
positivePrompt
audio
negativePrompt
seed0
steps100
CFGScale10.00
strengthfalse
strength_value0.50
duration60.0
numberResults1
advancedFeaturesfalse
settings.bpmfalse
settings.bpm_value30
settings.cfgIntervalStart0.00
settings.cfgIntervalEnd1.00
settings.guidanceTypeapg
settings.keyScale
settings.lyrics
settings.repaintingStartfalse
settings.repaintingStart_value-300.00
settings.repaintingEndfalse
settings.repaintingEnd_value0.00
settings.timeSignature(default)
settings.vocalLanguageen
ttlfalse
ttl_value60
outputFormatMP3
advanced_json

ACE-Step v1.5 XL Base is the bigger sibling of the plain ACE-Step node in this pack, and the difference is in the name: "XL" and the extra scheduler controls. Where the base node hides its diffusion internals, this one hands you the sampler interval and a modular-scheduler escape hatch via JSON. It's the same music-generation family - prompt, lyrics, key, BPM, time signature - but built for people who've decided the defaults aren't good enough and want knobs to turn.

The model itself is from the ACE-Step project (the family behind the 3.5B checkpoint that impressed people in 2025 for being roughly 15x faster than LLM-based music generators). The v1.5 XL tier is the API's bigger-capacity offering, so as with everything in this pack there are no weights on your disk - you're renting a cloud generation.

What you set

positivePrompt is required. Everything from the base node carries over: settings.lyrics, settings.keyScale, settings.bpm, settings.timeSignature, settings.vocalLanguage, settings.guidanceType (apg/cfg), steps (100), CFGScale (10), duration (30–300s), plus the audio + repaintingStart/repaintingEnd editing path and strength.

The XL-specific extras:

  • settings.cfgIntervalStart / settings.cfgIntervalEnd - where in the denoising schedule guidance kicks in and stops, as a fraction (0.0 = first step, 1.0 = last). Shortening the interval is a legit trick to avoid overcooked high-frequency detail at the end of a track.
  • advancedFeatures - a gated toggle whose advanced_json accepts JSON for advancedFeatures.modularScheduler. That's the power-user path: a modular scheduler lets you mix scheduler behavior across the diffusion schedule. If you don't know what you'd put there, leave it off - the field exists precisely so power users can shove custom config in without a node update.

Everything else is shared with the base node: outputFormat MP3/WAV/FLAC/OGG, ttl, and the output audio (AUDIO dict, waveform + sample rate) → Save Audio.

Installing

This is one node in the Runware/ComfyUI-Runware pack.

ComfyUI Manager: search Runware, install, restart.

Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/Runware/ComfyUI-Runware
pip install -r ComfyUI-Runware/requirements.txt

No models to download (runware-sdk, pillow, soundfile). API key from runware.ai/api-keys, set in Settings or as RUNWARE_API_KEY.

Where people get burned

The trap here is over-tuning. With cfgInterval and modular scheduler exposed, it's tempting to treat music generation like a K-sampler and burn $10 chasing a perfect track. Start with the defaults, change one thing at a time, and treat advanced_json as a last resort - malformed JSON gets merged into the request and can fail the whole run. And the same ground rule as the base node: structured lyrics beat prose every time.

CategoryRunware/Audio/runware

Inputs (29)

NameTypeDefaultDescription
positivePromptSTRINGText prompt describing elements to include in the generated output.
audioSettingsoptRUNWARE_AUDIOSETTINGS
audiooptSTRINGAudio input (UUID or URL).
negativePromptoptSTRINGPrompt to guide what to exclude from generation. Ignored when guidance is disabled (CFGScale ≤ 1).
seedoptINT00–2147483647Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range.
stepsoptINT1001–300Total number of denoising steps. Higher values generally produce more detailed results but take longer.
CFGScaleoptFLOAT10.001–30Guidance scale representing how closely the output will resemble the prompt. Higher values produce results more aligned with the prompt.
strengthoptBOOLEANfalseEnable to set strength. This setting has usage rules in this model, so it is off unless you enable it.
strength_valueoptFLOAT0.500–1Fraction of steps using the input source instead of generated output.
durationoptFLOAT60.030–300Length of the generated audio track in seconds.
numberResultsoptINT11–4Number of results to generate. Each result uses a different seed, producing variations of the same parameters.
advancedFeaturesoptBOOLEANfalseEnable to set advancedFeatures. Off uses the model's default.
settings.bpmoptBOOLEANfalseEnable to set settings.bpm. Off uses the model's default.
settings.bpm_valueoptINT3030–300Beats per minute. If not set, the model decides automatically.
settings.cfgIntervalStartoptFLOAT0.000–1Diffusion ratio where CFG begins (0.0 = first step).
settings.cfgIntervalEndoptFLOAT1.000–1Diffusion ratio where CFG ends (1.0 = last step).
settings.guidanceTypeoptCOMBOapgControls how guidance is applied during generation.
settings.keyScaleoptSTRINGMusical key and scale in '{Note}{Accidental} {Mode}' format (e.g. 'C major', 'F# minor', 'Bb major').
settings.lyricsoptSTRINGSong lyrics, typically formatted like a lyrics website.
settings.repaintingStartoptBOOLEANfalseEnable to set settings.repaintingStart. Off uses the model's default.
settings.repaintingStart_valueoptFLOAT-300.00-300–300Start time in seconds for repaint region. Requires input audio. Negative values prepend audio before the start.
settings.repaintingEndoptBOOLEANfalseEnable to set settings.repaintingEnd. Off uses the model's default.
settings.repaintingEnd_valueoptFLOAT0.000–300End time in seconds for repaint region. Requires input audio. Values beyond audio duration append new audio.
settings.timeSignatureoptCOMBO(default)Beats per measure. If not set, the model decides automatically.
settings.vocalLanguageoptCOMBOenISO 639-1 language code for vocals. `unknown` for instrumental or auto detection.
ttloptBOOLEANfalseEnable to set ttl. Off uses the model's default.
ttl_valueoptINT60Time-to-live (TTL) in seconds for generated content. Only applies when `outputType` is `URL`.
outputFormatoptCOMBOMP3File format for the generated audio.
advanced_jsonoptSTRINGOptional JSON merged into the request. For: advancedFeatures.modularScheduler

Outputs (1)

NameTypeDescription
audioAUDIO