Write a style
November 14, 2026
Table of contents
Turn a few words such as “indie folk” into a full style description, the genre, instruments, vocals, mix and how the song builds, or invent one when style is empty. Use the result as style in POST /music. With model acemusic-v1 and your lyrics, it writes a production brief for those lyrics. It answers in about 5 to 15 seconds, and nothing is kept.
ACE-Step v1.5 XL takes a style of up to 512 characters, so shorten a long one for that model.
https://api.useapi.net/v1/acemusic/music/style
Request Headers
Authorization: Bearer {API token}
Content-Type: application/json
# Alternatively you can use multipart/form-data
# Content-Type: multipart/form-data
API tokenis required, see Setup useapi.net for details.
Request Body
{
"style": "indie folk"
}
styleis optional, the style to improve. Leave it out to have one invented.
Maximum length:1000characters.lyricsis optional, withmodelacemusic-v1only: the lyrics the style is for.
Maximum length:5000characters.modelis optional.acemusic-v1useslyrics. Other values change nothing.
Supported values:acemusic-v1,acemusic-v1.1,ace-step-1.5-xl.emailis optional, the account to use. Default: any healthy account.
Responses
-
{ "email": "[email protected]", "style": "Contemporary indie folk with an intimate, pastoral atmosphere. The arrangement centers on delicate, intricate fingerpicked steel-string acoustic guitar and warm upright bass, supported by subtle brushed snare and soft foot-stomps. Melodic cello lines and distant lap steel swells add emotional depth behind a close-mic'd, breathy lead vocal with raw, vulnerable delivery. Warm tape saturation and room ambience preserve an organic live feel. The piece opens sparsely with solo guitar, gathers momentum as lush group harmonies and gentle piano join during the choruses, and resolves to a quiet, unresolved acoustic decay." } -
{ "error": "Parameter style length exceeds 1000 characters", "code": 400 } -
Invalid API token.
{ "error": "useapi.net ⁝ Unauthorized", "code": 401 } -
596 Account Error
The account named by
emailis paused, or no account is healthy. Add it again with the current password.{ "error": "No healthy ACE Music account configured. Check GET /accounts", "code": 596 }
Model
{ // TypeScript, all fields are optional
email: string // the account that wrote it
style: string
}
Examples
-
curl -X POST "https://api.useapi.net/v1/acemusic/music/style" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer …" \ -d '{ "style": "dark techno" }' -
const token = "API token"; const response = await fetch("https://api.useapi.net/v1/acemusic/music/style", { method: "POST", headers: { "Content-Type": "application/json", "Authorization": `Bearer ${token}` }, body: JSON.stringify({ style: "dark techno" }) }); console.log((await response.json()).style); -
import requests token = "API token" response = requests.post( "https://api.useapi.net/v1/acemusic/music/style", headers={"Authorization": f"Bearer {token}"}, json={"style": "dark techno"} ) print(response.status_code, response.json())