Browse ModelsWavespeed AIAce Step Audio Outpaint

Ace Step Audio Outpaint

Ace Step Audio Outpaint

Playground

Try it on WavespeedAI!

ACE-Step Audio Outpaint generates seamless start or end extensions that match the original, ideal for intros, outros and longer tracks. Ready-to-use REST inference API, best performance, no coldstarts, affordable pricing.

Features

ACE-Step Audio Outpaint

Extend your audio tracks seamlessly with AI-powered music generation. Upload any audio clip and let the model generate new content before or after it — perfectly matching the style, rhythm, and mood of your original track.

Why It Sounds Great

  • Style-aware generation: Uses tag-based guidance to match genres like lofi, hiphop, trap, drum and bass, and more.
  • Seamless transitions: Generated audio blends naturally with your original track without abrupt cuts or mismatched beats.
  • Bidirectional extension: Extend audio at the beginning, end, or both directions simultaneously.
  • Lyrics support: Optionally provide lyrics to guide vocal generation in extended sections.
  • Reproducible results: Use the seed parameter to recreate exact outputs or explore variations.

Parameters

ParameterRequiredDescription
audioYesSource audio file (upload or public URL).
tagsYesComma-separated style tags to guide generation (e.g., “lofi, hiphop, chill, trap”).
extend_before_durationNoSeconds to generate before the original audio. Default: 0.
extend_after_durationNoSeconds to generate after the original audio. Default: 30.
lyricsNoOptional lyrics to guide vocal generation in extended sections.
seedNoRandom seed for reproducibility. Use -1 for random.

How to Use

  1. Upload your audio — drag and drop or paste a public URL.
  2. Add style tags — describe the genre and mood (e.g., “lofi, hiphop, chill”).
  3. Set extension duration:
    • Use extend_after_duration to add time at the end.
    • Use extend_before_duration to add time at the beginning.
  4. Add lyrics (optional) — provide text if you want vocals in the extended section.
  5. Set seed (optional) — use -1 for random, or a specific number for reproducible results.
  6. Run — click the button and wait for generation.
  7. Download — preview and save your extended audio.

Pricing

Per-second billing based on total output duration.

MetricCost
Per second$0.0002

Billing Formula

Total cost = (original audio duration + extend_before_duration + extend_after_duration) × $0.0002

Examples

OriginalExtend BeforeExtend AfterTotal DurationTotal Cost
60s0s30s90s$0.018
90s10s30s130s$0.026
120s0s60s180s$0.036
180s30s30s240s$0.048

Best Use Cases

  • Music Production — Extend loops, intros, or outros for full-length tracks.
  • Content Creation — Generate longer background music for videos and podcasts.
  • DJ & Remix Work — Create extended mixes or seamless transitions between tracks.
  • Game & Media Audio — Produce adaptive music that can loop or extend dynamically.
  • Songwriting — Explore new directions by extending existing ideas with AI assistance.

Pro Tips for Best Results

  • Use descriptive, specific tags — “lofi, hiphop, jazzy, chill, piano” works better than just “music”.
  • For consistent style, keep the original audio and extension durations balanced.
  • Experiment with different seeds to find the perfect variation.
  • When using lyrics, match the syllable count and rhythm to the expected musical phrasing.
  • Start with shorter extensions (15-30s) to test the style match before generating longer segments.

Notes

  • If using a URL, ensure it is publicly accessible. A preview player in the interface confirms successful loading.
  • Processing time scales with total output duration.
  • For best results, use clean source audio with consistent tempo and style.

Authentication

For authentication details, please refer to the Authentication Guide.

API Endpoints

Submit Task & Query Result


# Submit the task
curl --location --request POST "https://api.wavespeed.ai/api/v3/wavespeed-ai/ace-step/audio-outpaint" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}" \
--data-raw '{
    "extend_before_duration": 0,
    "extend_after_duration": 30,
    "lyrics": "",
    "seed": -1
}'

# Get the result
curl --location --request GET "https://api.wavespeed.ai/api/v3/predictions/${requestId}/result" \
--header "Authorization: Bearer ${WAVESPEED_API_KEY}"

Parameters

Task Submission Parameters

Request Parameters

ParameterTypeRequiredDefaultRangeDescription
audiostringYes--Audio file to transcribe. Provide an HTTPS URL or upload a file (MP3, WAV, FLAC up to 60 minutes).
tagsstringYes--Comma-separated list of genre tags to control the style.
extend_before_durationnumberNo-0 ~ 240Duration to extend from the start in seconds.
extend_after_durationnumberNo300 ~ 240Duration to extend from the end in seconds.
lyricsstringNo--Vocal content for generation. Use [inst] or [instrumental] for no vocals.
seedintegerNo-1-1 ~ 2147483647The random seed for reproducibility.

Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
data.idstringUnique identifier for the prediction, Task Id
data.modelstringModel ID used for the prediction
data.outputsarrayArray of URLs to the generated content (empty when status is not completed)
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.has_nsfw_contentsarrayArray of boolean values indicating NSFW detection for each output
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds

Result Request Parameters

ParameterTypeRequiredDefaultDescription
idstringYes-Task ID

Result Response Parameters

ParameterTypeDescription
codeintegerHTTP status code (e.g., 200 for success)
messagestringStatus message (e.g., “success”)
dataobjectThe prediction data object containing all details
data.idstringUnique identifier for the prediction, the ID of the prediction to get
data.modelstringModel ID used for the prediction
data.outputsstringArray of URLs to the generated content (empty when status is not completed).
data.urlsobjectObject containing related API endpoints
data.urls.getstringURL to retrieve the prediction result
data.statusstringStatus of the task: created, processing, completed, or failed
data.created_atstringISO timestamp of when the request was created (e.g., “2023-04-01T12:34:56.789Z”)
data.errorstringError message (empty if no error occurred)
data.timingsobjectObject containing timing details
data.timings.inferenceintegerInference time in milliseconds
© 2025 WaveSpeedAI. All rights reserved.