ComfyUI Node

ACE-Step v1.5 XL Turbo

Full songs from a text prompt, fast

By Runware·Created 2 years ago·Updated about a month ago· 140
ACE-Step v1.5 XL Turbo
  • audioSettings
  • audio
positivePrompt
audio
seed0
steps8
strengthfalse
strength_value0.50
duration60.0
numberResults1
advancedFeaturesfalse
settings.bpmfalse
settings.bpm_value30
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

Music generation in ComfyUI used to mean dragging in a half-maintained local audio stack. Runware_ace_step_v1_5_xl_turbo skips all of it: it's ACE-Step, a music-generation model, running as one node that takes a text prompt and returns an AUDIO object. Describe the track - genre, tempo, mood, instrumentation - and get 30 to 300 seconds of actual music back. This is the "Turbo" variant (runware:[email protected]), distilled for speed at 8 denoising steps.

The "XL" and "Turbo" in the name are doing real work. ACE-Step's XL tier is the higher-fidelity line, and Turbo is its speed-distilled form - the classic trade where you swap a little refinement for a lot of latency. For a model that's already generating 60+ seconds of audio, that's not a cosmetic difference; Turbo is the one you reach for when you're iterating on a track concept and don't want to wait minutes per draft.

How it works

audioInference task with the turbo AIR. The node sends your prompt and settings up, Runware's GPUs run the denoising, and the returned audio file is decoded back into a ComfyUI AUDIO object (waveform tensor + sample rate) - decodable via soundfile, with torchaudio as fallback. You can generate from scratch, or feed audio (a URL or UUID) and use the repaint controls to regenerate a section of an existing track.

The inputs that matter

  • positivePrompt (required) - this is a music model, so "upbeat synthwave, 120 BPM, retro bassline" is a real prompt. Describe genre, instruments, and vibe like you'd brief a producer.
  • duration - 30 to 300 seconds, default 60. The single biggest cost lever - more seconds, more compute.
  • steps - 8 default. It's Turbo; it expects to run few steps. Crank it up and you mostly buy time, not quality.
  • settings.lyrics - paste lyrics formatted like a lyrics site and the model will try to sing them.
  • settings.vocalLanguage - ISO 639-1 code; unknown for instrumental or auto-detect.
  • settings.keyScale / settings.bpm / settings.timeSignature - musicality controls: "C major", beats per minute, beats per measure. Leave unset and the model decides.
  • settings.repaintingStart / settings.repaintingEnd - the inpainting of the audio world; requires input audio, and lets you regenerate a slice of a 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). Note: audio output needs the soundfile package (it's in the pack's requirements.txt) - install it if you see decode warnings.

Where people get burned

  • Turbo is a draft generator. 8 steps is fast and it sounds like it. If a track matters, the pack's Runware_ace_step_v1_5_xl_sft is the full-quality sibling at 100 steps - use Turbo to find the idea, SFT to finish it.
  • Cost scales with duration. A 5-minute track is a real bill. Run a 30-second draft to validate the concept first.
  • The audio input is a string, not a socket. You feed it a URL or UUID - use the pack's upload node to get a UUID for a local file you want to repaint.
  • Lyrics aren't magic. The model follows lyric formatting loosely; treating it like a text-to-speech node will disappoint.

ACE-Step Turbo is the fastest way to hear whether a song idea works. It's a composer's scratch pad with a wire in and a wire out.

CategoryRunware/Audio/runware

Inputs (24)

NameTypeDefaultDescription
positivePromptSTRINGText prompt describing elements to include in the generated output.
audioSettingsoptRUNWARE_AUDIOSETTINGS
audiooptSTRINGAudio input (UUID or URL).
seedoptINT00–2147483647Random seed for reproducible generation. When not provided, a random seed is generated in the unsigned 32-bit range.
stepsoptINT81–20Total number of denoising steps. Higher values generally produce more detailed results but take longer.
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.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