Audio
Generate music
Submit an instrumental or lyrics-based music request, receive two song variants, poll the durable task, and download private completed audio.
Create music
The API accepts the task quickly and generates audio in the background.
POST
/v1/music/generationsReturns HTTP 202
cURL
curl https://api.byta-ai.com/v1/music/generations \
-H "Authorization: Bearer $BYTA_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: launch-theme-001" \
-d '{
"model": "Byta-Music-1.1",
"mode": "instrumental",
"title": "Morning Circuit",
"description": "Bright electronic instrumental with a hopeful chorus",
"tags": "electronic, cinematic"
}'202 Accepted
{
"id": "music-task-12345678",
"taskId": "music-task-12345678",
"object": "music_generation",
"status": "submitted",
"creditsCharged": 80,
"statusUrl": "https://api.byta-ai.com/v1/music/generations/music-task-12345678"
}Parameters
modeloptionalstringAn enabled music model from GET /v1/models.
modeoptionalstringinstrumental or lyrics.
descriptionoptionalstringRequired for instrumental mode, up to 5,000 characters.
lyricsoptionalstringRequired for lyrics mode, up to 5,000 characters.
titleoptionalstringOptional title, up to 120 characters.
tagsoptionalstringOptional genre and style guidance.
negativeTagsoptionalstringOptional styles or traits to avoid.
Poll and download
Poll every 2–5 seconds until terminal is true. Successful clips include private url values.
GET
/v1/music/generations/{taskId}Returns progress, terminal state, and clips.
cURL · status
curl https://api.byta-ai.com/v1/music/generations/music-task-12345678 \
-H "Authorization: Bearer $BYTA_API_KEY"GET
/v1/music/generations/{taskId}/files/{fileId}Add
?download=1 for attachment disposition.Pricing
The charge is per request, not per song
Each successful music request is charged once at the selected model's request price and produces two song variants. There is no separate charge for each variant.
| Model | Credits per request | Output | Estimated generation |
|---|---|---|---|
Byta-Music-1.1 | 80 | 2 song variants | About 200 seconds |
Byta-Music-1.2 | 100 | 2 song variants | About 150 seconds |
Idempotency
Preserve the key when retrying
Send one unique
Idempotency-Key per logical request. Reusing it returns the existing task instead of submitting and charging duplicate work.