Civitai Ace Step Audio
Full songs from a prompt — ACE-Step music generation, no GPU needed
- diffusion_model
- clip_model
- vae_model
- language_model
- loras
- api_config
- blob_audio
- blob_video
- workflow_id
- raw_json
You type a genre description and some lyrics, and the node returns a finished track. Civitai Ace Step Audio runs ACE-Step - the open-weights music model that's the community's local-Suno answer - on Civitai's cloud, with all the knobs the model actually has. No ACE-Step install, no 4GB VRAM requirement, no Sana autoencoder to babysit. Just Buzz.
What it is
A recipe node under Civitai/Audio that submits an aceStepAudio job to the orchestration API. It defaults to ACE-Step 1.5 turbo 2B, which is the version the KB notes dropped the VRAM floor under 4GB - and here you don't even need that. It returns the audio as a native AUDIO blob and, optionally, a VIDEO blob.
Inputs that matter
Required: music_description (the genre/style writeup - the tooltip's example is "Neo-Soul: A warm, organic neo-soul track..."), lyrics (structured with [Verse]/[Chorus]/[Bridge] markers), and seed for reproducible runs.
The useful optional dials:
duration(default 60s, up to 190),bpm(40–200, default 120),time_signature(2/3/4/6),key(34 choices, mirroring ComfyUI's ownTextEncodeAceStepAudio1.5keyscale),language(23 languages).instrumental_weight(default 0.85) vsvocal_weight(default 0.9) - how the model splits its effort. Worth knowing the KB's honest finding here: ACE-Step's instrumentals are the strong suit, vocals and lyrics are the weak suit.steps(default 8) andcfg(default 1.0) - and the tooltips carry the important caveat: turbo variants converge at 8 steps / CFG-off at 1.0, but non-turbo base/sft variants expect the full 50-step schedule and CFG around 4. If you swap in a non-turbo diffusion model override and leave steps at 8, you'll get garbage.diffusion_model,clip_model,vae_model,language_model- optional AIR overrides if you want something other than the defaults (turbo 2B UNet, qwen_4b_ace15 CLIP, ace_1.5_vae, qwen_0.6b_ace15 language model). Leave them alone unless you know why you're changing them.cover_json- supply cover-image config and the output becomes a WebM video with that image as the visual (that's what theblob_videooutput is for).loras- the fun one, because ACE-Step is trainable with LoRAs (artist-style LoRAs, just like checkpoints).
Outputs: blob_audio (AUDIO), blob_video (VIDEO, only populated when cover_json is set), workflow_id, raw_json.
Install & gotchas
Standard pack install - Manager (search Civitai Comfy Nodes), comfy node registry-install civitai-comfy-nodes, or git clone. Auth via env var / OAuth / Civitai Auth node.
The traps, in order:
- Steps/CFG must match the model variant. This is the biggest one. Turbo defaults (8 steps, CFG 1) are wrong for a non-turbo base model - the tooltips spell out the 50-step / CFG-4 schedule those need.
- Vocals are the weak suit. Set your expectations: the community's verdict on ACE-Step is "instrumentals genuinely compelling, lyrics genuinely garbage." If you need vocals that carry a song, the local model has the same flaw - it's the model, not the node.
- It's metered. Music jobs on the cloud cost Buzz, and long durations (up to 190s) cost more. The
workflow_id/raw_jsonoutputs exist so you can see the actual cost per run.
One honest note: ACE-Step already runs locally on a 4GB card, so the cloud version's appeal is narrower than for the big image models - it's for when you're on a machine without a card, want the XL/larger variants without the download, or want it wired into a bigger cloud workflow. If you have a half-decent GPU and generate music often, run it local and keep the Buzz.
Inputs (19)
| Name | Type | Default | Description |
|---|---|---|---|
| music_description | STRING | Music style/genre description (e.g., "Neo-Soul: A warm, organic neo-soul track...") | |
| lyrics | STRING | Structured lyrics with section markers like [Verse], [Chorus], [Bridge], etc. | |
| seed | INT | 00–4294967295 | Random seed for reproducible generation |
| durationopt | FLOAT | 60.001–190 | Duration in seconds (1-190) |
| bpmopt | INT | 12040–200 | Beats per minute (40-200) |
| time_signatureopt | COMBO | 4 | Time signature (e.g., "4" for 4/4 time) |
| languageopt | COMBO | en | Language code (e.g., "en", "zh", "ja", "ko") |
| keyopt | COMBO | C major | Musical key (e.g., "C major", "E minor"). Mirrors ComfyUI's TextEncodeAceStepAudio1.5 keyscale combo: 17 roots × {major, minor}. |
| instrumental_weightopt | FLOAT | 0.850–2147483647 | Weight for instrumental elements (0.0-1.0) |
| vocal_weightopt | FLOAT | 0.900–2147483647 | Weight for vocal elements (0.0-1.0) |
| diffusion_modelopt | CIVITAI_AIR | Optional diffusion model (unet) override. Defaults to ACE-Step 1.5 turbo 2B. | |
| cover_jsonopt | STRING | Cover image configuration for ACE Step audio output. When present, the output is a WebM video with this image as the visual. | |
| clip_modelopt | CIVITAI_AIR | Optional text encoder (CLIP) override. Defaults to qwen_4b_ace15. | |
| vae_modelopt | CIVITAI_AIR | Optional VAE override. Defaults to ace_1.5_vae. | |
| language_modelopt | CIVITAI_AIR | Optional language model override for audio code generation. Defaults to qwen_0.6b_ace15. | |
| stepsopt | INT | 81–200 | Number of sampling steps. Turbo variants converge at 8; non-turbo base / sft variants expect the full 50-step schedule. |
| cfgopt | FLOAT | 1.000–30 | Classifier-free guidance scale. Turbo variants run CFG-off at 1.0; non-turbo base / sft variants expect CFG on (around 4). |
| lorasopt | CIVITAI_LORAS | Optional LoRAs to apply. Each entry's strength is applied to both the diffusion model (UNET) and the dual CLIP via ComfyUI's LoraLoader. Compatibility with non-default base models is the caller's responsibility. | |
| api_configopt | CIVITAI_CONFIG | Optional Civitai Auth connection; defaults to CIVITAI_API_TOKEN or stored OAuth login. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| blob_audio | AUDIO | — |
| blob_video | VIDEO | — |
| workflow_id | STRING | — |
| raw_json | STRING | — |