ace/ace-step
Ace Step by ace - generate music, sound effects, and audio from text descriptions with AI. Create original compositions, ambient sounds, and audio content for any creative project.
Example output — click Run to generate your own
Send your first request
OpenAI-compatible endpoint with unified authentication and usage tracking.
https://api.sandbase.ai/v1/runace/ace-stepInput Schema
14 parameters · 0 required · 14 optional
| Parameter | Type | Required | Description |
|---|---|---|---|
seed | integer | Optional | Random seed for reproducibility. If not provided, a random seed will be used. |
tags | string | Optional | Comma-separated list of genre tags to control the style of the generated audio. |
lyrics | string | Optional | Lyrics to be sung in the audio. If not provided or if [inst] or [instrumental] is the content of this field, no lyrics will be sung. Use control structures like [verse], [chorus] and [bridge] to control the structure of the song. · Default: "" |
duration | integer | Optional | The duration of the generated audio in seconds. · Min: 5 · Max: 240 · Default: 60 |
scheduler | string | Optional | Scheduler to use for the generation process. · Options: euler, heun · Default: "euler" eulerheun |
guidance_type | string | Optional | Type of CFG to use for the generation process. · Options: cfg, apg, cfg_star · Default: "apg" cfgapgcfg_star |
guidance_scale | number | Optional | Guidance scale for the generation. · Min: 0 · Max: 200 · Default: 15 |
number_of_steps | integer | Optional | Number of steps to generate the audio. · Min: 3 · Max: 60 · Default: 27 |
granularity_scale | integer | Optional | Granularity scale for the generation process. Higher values can reduce artifacts. · Min: -100 · Max: 100 · Default: 10 |
guidance_interval | number | Optional | Guidance interval for the generation. 0.5 means only apply guidance in the middle steps (0.25 * infer_steps to 0.75 * infer_steps) · Min: 0 · Max: 1 · Default: 0.5 |
tag_guidance_scale | number | Optional | Tag guidance scale for the generation. · Min: 0 · Max: 10 · Default: 5 |
lyric_guidance_scale | number | Optional | Lyric guidance scale for the generation. · Min: 0 · Max: 10 · Default: 1.5 |
minimum_guidance_scale | number | Optional | Minimum guidance scale for the generation after the decay. · Min: 0 · Max: 200 · Default: 3 |
guidance_interval_decay | number | Optional | Guidance interval decay for the generation. Guidance scale will decay from guidance_scale to min_guidance_scale in the interval. 0.0 means no decay. · Min: 0 · Max: 1 · Default: 0 |
Output Schema
| Field | Type | Description |
|---|---|---|
id | string | Unique identifier for the generation task |
status | string | Task status: pending, running, completed, failed, timeout |
model | string | Model used for the generation |
outputs | array | Array of output items |
outputs[].url | string | URL of the generated artifact |
outputs[].content_type | string | MIME type (e.g. image/png, video/mp4) |
error | object | null | Error details if failed, null on success |
error.type | string | Machine-readable error type code |
error.message | string | Human-readable error description |
Async Workflow
This model uses asynchronous execution. Submit a request and poll for the result.
- Submit — POST to /v1/run, receive an
id - Poll — GET /v1/run/{id} until status is
completed,failed, ortimeout - Retrieve — Read
outputsfrom the completed response
Code Examples
Ready-to-run snippets
# Step 1: Submit
curl -X POST https://api.sandbase.ai/v1/run \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"model": "ace/ace-step",
"tags": "lofi, hiphop, drum and bass, trap, chill",
"lyrics": "",
"duration": 60,
"scheduler": "euler",
"guidance_type": "apg",
"guidance_scale": 15,
"number_of_steps": 27,
"granularity_scale": 10,
"guidance_interval": 0.5,
"tag_guidance_scale": 5,
"lyric_guidance_scale": 1.5,
"minimum_guidance_scale": 3,
"guidance_interval_decay": 0,
"prompt": "a beautiful sunset over mountains"
}'
# Step 2: Poll result (replace <id>)
curl https://api.sandbase.ai/v1/run/<id> \
-H "Authorization: Bearer YOUR_API_KEY"API README
ACE-Step
ACE-Step generates complete music from tags and optional lyrics, combining composition, arrangement, vocals, and production into one text-guided audio workflow. It is designed for rapid song ideation across genres, moods, instrumentation, and vocal concepts rather than simple speech synthesis.
The route exposes duration, seed, scheduler, inference steps, and separate guidance controls for tags and lyrics. These controls let creators move between broad exploration and more deliberate reproduction while generating clips from five seconds up to four minutes.
Highlights
Full-song generation. Creates arranged music from style tags with optional lyrics and vocal content.
Long-form audio. Supports durations from 5 to 240 seconds for sketches, sections, or complete tracks.
Independent lyric and style guidance. Separate controls tune how strongly the output follows lyrical content and musical tags.
Reproducible generation. Seeds, schedulers, step counts, and guidance settings support controlled iteration.
Pricing
| Billing unit | Price |
|---|---|
| Per generated second | $0.0002 |
When to Use
| ✅ Good fit | ❌ Consider alternatives |
|---|---|
| The model's named workflow matches the source material and intended output | A different input modality or model route is required |
| A managed asynchronous result is suitable for the production pipeline | A synchronous, interactive editor is essential |
| The documented controls cover the required duration, framing, or format | The project needs controls outside this endpoint's schema |
| Creative iteration benefits from a repeatable request structure | Exact deterministic pixels, frames, geometry, or samples are mandatory |
| A finished downloadable media asset is the desired deliverable | Editable source layers or a native project file are required |
Prompt Guide
For music generation, state the intended result first, then add the subject or source treatment, progression, style, and delivery constraints. Keep one creative variable per phrase, use the documented field names for controls, and change one setting at a time when comparing results.
{
"duration": 60
}
Technical Specs
| Spec | Value |
|---|---|
| Model ID | ace/ace-step |
| Inputs | duration, granularity_scale, guidance_interval, guidance_interval_decay, guidance_scale, guidance_type, lyric_guidance_scale, lyrics, minimum_guidance_scale, number_of_steps, scheduler, seed, tag_guidance_scale, tags |
| Required inputs | None |
| Output fields | content_type, url |
| Execution | Async (submit, then poll for result) |
Related Models
ace/ace-step/audio-inpaint— Compare a nearby route in the same local model family.ace/ace-step/audio-outpaint— Compare a nearby route in the same local model family.ace/ace-step/audio-to-audio— Compare a nearby route in the same local model family.

