ComfyUI Node

ACE-Step v1.5 XL SFT

The full-quality ACE-Step, for the take that matters

By Runware·Created 2 years ago·Updated about a month ago· 140
ACE-Step v1.5 XL SFT
  • 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

If you've looked at Runware_ace_step_v1_5_xl_turbo and wondered what the non-turbo version does, this is it. Runware_ace_step_v1_5_xl_sft is ACE-Step's full-quality XL tier - SFT stands for the supervised fine-tuning that made it the careful, high-fidelity version - and the number that tells the whole story is steps: 100 by default against Turbo's 8. Same music-generation family, same AUDIO output, but a completely different trade: you're buying minutes of cloud compute per draft in exchange for the polished take.

The way to think about these two nodes is draft versus master. Turbo finds the idea in seconds. SFT takes the idea and actually renders it - more denoising steps, more refinement, real vocal and arrangement quality. If you're scoring a video, making a jingle, or turning a lyrics sheet into something presentable, this is the node you finish with. Turbo is the one you start with.

How it works

audioInference with the runware:[email protected] AIR. Prompt, optional input audio, and the musicality settings go up; the generated track decodes back into a ComfyUI AUDIO object. SFT's extra control surface reflects the longer diffusion run: CFGScale defaults to 10 (real guidance, unlike Turbo's fast path), there's negativePrompt, and the advanced group adds settings.guidanceType (apg vs cfg) plus settings.cfgIntervalStart/cfgIntervalEnd - the diffusion-ratio window where guidance applies, for fine control over how much of the track the prompt shapes.

The inputs that matter

  • positivePrompt (required) - the brief: genre, tempo, mood, instrumentation.
  • steps - 100 default, up to 300. This is your cost dial as much as a quality dial; 100 is a strong default, not a floor.
  • CFGScale - 10 default. Lower for a freer interpretation, higher to clamp to the prompt.
  • duration - 30 to 300 seconds, default 60. The biggest cost lever after steps.
  • settings.lyrics - lyrics formatted like a lyrics site; SFT is where they actually land.
  • settings.vocalLanguage - ISO 639-1 code; unknown for instrumental.
  • settings.repaintingStart / repaintingEnd - regenerate a slice of an existing audio input instead of the whole track.

Installing it

Install the 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

Key from runware.ai/api-keys → ComfyUI Settings → Runware API key (or RUNWARE_API_KEY). Keep soundfile installed for clean audio decode.

Where people get burned

  • The bill is the product. 100+ steps of music generation is one of the more expensive calls in this pack. Do not iterate here - iterate on Turbo, then render the winner with SFT.
  • Long durations plus high steps compound. A 300-second, 300-step run is a "go make tea" wait and a notable charge.
  • Guidance settings are advanced for a reason. cfgIntervalStart/End and guidanceType will confuse more than help until you've heard the defaults; the tooltips describe exactly what they do, so treat them as tunable once you know the sound you want.
  • Same audio string-input caveat. To repaint a local file, upload it via the pack's upload node and feed the UUID.

ACE-Step XL SFT is the "record it properly" node in the audio pair. Use Turbo to find the song, use SFT to release it.

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