Model Details
ACE-Step turns a short list of genre tags — and optional lyrics — into a complete, hosted music track. Describe the style you want with comma-separated tags (`tags`, e.g. "lofi, hiphop, chill" or "epic orchestral, cinematic"), add lyrics with `[verse]`/`[chorus]` markup to get a sung vocal track, or leave lyrics empty for a fully instrumental piece. Its strength is fast, controllable song generation: you set the duration in seconds and steer the result with genre tags rather than a long prose prompt, and the model returns a finished audio file ready to download.
## Best for - Generating complete songs with vocals from lyrics plus a genre/style description - Producing instrumental backing tracks, beats, and loops from genre tags alone - Background music beds for video, games, and podcasts in a specific style - Quickly auditioning musical ideas across genres before a full production session
## Choose another model when - You need spoken narration or voiceover rather than sung music — use a text-to-speech model - You want isolated one-off sound effects, foley, or ambience instead of a music track — use a text-to-audio sound-effects model - You need to extend, remix, or inpaint an existing audio clip — use an audio-to-audio model
## Tips - `tags` is the style control (not a prose prompt): pass comma-separated genres, moods, and instruments, e.g. "pop, acoustic, guitar" or "drum and bass, energetic, synth". - Leave `lyrics` empty (or set it to `[inst]`) for an instrumental track. For vocals, structure lyrics with section markers like `[verse]`, `[chorus]`, and `[bridge]`, one line per lyric line. - `duration` is in seconds (5–240, default 60). Longer durations cost proportionally more, since pricing is per second of generated audio.
## Advanced Configuration - `scheduler` (default `euler`): the diffusion sampler — `euler` or `heun`. `heun` can refine quality at the cost of speed. Configured via the API. - `guidance_type` (default `apg`): the guidance algorithm — `cfg`, `apg`, or `cfg_star`. `apg` (the default) generally gives the most stable results. Configured via the API. - `tag_guidance_scale` (default 5) and `lyric_guidance_scale` (default 1.5): how strongly generation adheres to the genre tags versus the lyrics. Raise to follow the input more strictly. Configured via the API.
To run via the ModelRunner JavaScript client: ```js import { modelrunner } from "@modelrunner/client";
const result = await modelrunner.subscribe("ace-studio/ace-step", { input: { tags: "lofi, hiphop, chill", lyrics: "[verse]\ncity lights and quiet streets\n[chorus]\nslow it down, feel the beat", duration: 60, }, }); ```
