Skill detail

scenario-ace-step

Creates and edits music with ACE-Step models on Scenario via MCP: text-to-music with vocals, instrumentals, covers, repaint, add layer, complete track, and stem extraction.

MatchDirectRecommended for Music Generation
Sourcescenario-labs/​skillsExternal source
Reported installs238Popularity signal only

Inspect before use

Read the source instructions and check the requirements before you install this skill.

Saved source preview

SKILL.md

The saved excerpt is a snapshot from when this skill was listed. The external source remains the complete and most current version.

---
name: scenario-ace-step
description: "Use when creating or editing music with ACE-Step models on Scenario via MCP: text-to-music songs with sung vocals from a lyric sheet, instrumental tracks, covering or restyling an existing song, repainting one section in place, changing sung lyrics, adding an instrument layer, completing a partial recording into a full arrangement, extracting stems, or choosing between Turbo and Quality lanes. Keywords: ACE-Step 1.5, cover strength, repaint, Vocal2BGM, stem separation, karaoke, BPM."
license: MIT
---

# Scenario ACE-Step Music

## Overview

ACE-Step 1.5, a music production family on Scenario, splits every mode into its own model: Text to Music, Cover, and Repaint each in a Turbo and a Quality lane, plus a full-quality edit trio (Add Layer, Complete Track, Stem Extract), nine members at authoring time. Discover them with `search`, pick the member by mode name, and treat `model_schema_get` as the contract.

Connection and the core loop: see the `scenario` skill in this repo; model-agnostic audio work: the `scenario-audio` skill. If a sibling skill named here is missing from your available skills, ask the user to install it (`npx skills add scenario-labs/skills --skill <name>`); unattended, proceed from tool schemas and flag the gap.

## Quick reference

| Mode           | Key inputs                                     | Behavior                                                                                                       |
| -------------- | ---------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| Text to Music  | `prompt` or `lyrics` (either suffices)         | full song; `duration` 10 to 600 s (empty lets the model pick), `bpm`, `keyscale`                               |
| Cover          | `srcAudio` (+ `referenceAudio`)                | restyles a song, or re-sings it with new `lyrics`; `audioCoverStrength` sets how much of the original survives |
| Repaint        | `srcAudio` + window                            | regenerates `repaintingStart` to `repaintingEnd` in place, length preserved                                    |
| Add Layer      | `srcAudio` + `trackName` + `prompt`            | adds one stem matched to key, tempo, and groove, optionally windowed                                           |
| Complete Track | `srcAudio` + `completeTrackClasses` + `prompt` | arranges stems around a partial recording (Vocal2BGM)                                                          |
| Stem Extract   | `srcAudio` + `trackName`                       | isolates one stem from a mix                                                                                   |

Numbers are at authoring time: read caps off `model_schema_get`. Stem fields take one of twelve fixed values (vocals, backing_vocals, drums, bass, guitar, keyboard, percussion, strings, synth, fx, brass, woodwinds), never free text. `srcAudio` is a single audio asset: `upload_asset` first, or reuse a generated asset id. Across members: `numOutputs` (1 to 4) multiplies cost, `thinking` (default true, absent on Stem Extract) runs a planning pass, `vocalLanguage`, where present, defaults to auto-detect. `guidanceScale` exists on the edit trio alone, `audioCoverStrength` on Cover alone, and `repaintingEnd: -1` runs to the end of the track.

## Lane choice

Turbo and Quality siblings take the same parameters, except `audioFormat` (mp3, wav, flac), at authoring time on Repaint Turbo alone. No member of the family exposed a `seed`, so two repaints of the same window are two takes, and the singer can change between them. Repaint regenerates the window; do not assume it preserves the source voice. Batch with `numOutputs` and pick, rather than re-running for a match, and read the next section before repainting to fix a sung line. The asymmetry runs the other way on some section composers in other families, which take a `seed` a
Read the full source on GitHub (opens external page)
Context

Related work