Skip to main content

Music API

Generate songs, instrumentals, and BGM. 19 models including Suno V4.5.

Async API. Music generation is asynchronous. Submit a job and poll GET /v1/jobs/:id, or register a webhook with POST /v1/webhooks.

POST /v1/generations/music

Submit a music generation job. Supports text prompts, lyrics, genre tags, and instrumental mode.

Request body

FieldTypeRequiredDescription
modelstringYesModel key (e.g. "suno-generate", "mureka-v9", "mureka-bgm").
inputobjectYesThe fields below go inside input.
input.promptstringYesStyle and mood description of the track.
input.lyricsstringNoLyrics. Supports [Verse], [Chorus] section markers.
input.duration_secnumberNoTarget duration in seconds. Max varies by model; some models follow the lyric length instead.
confirmbooleanNoSet to false for cost estimate only. Default: true.

Response fields

FieldTypeDescription
idstringJob ID (job_ prefix).
statusstring"queued", "processing", "completed", or "failed".
urlstringCDN URL of the generated audio (MP3).
cost.credits_usedintegerActual cost charged, in microdollars.
cost.estimated_creditsintegerEstimated cost, in microdollars.
cost.currencystringAlways "microdollars".
metadata.durationnumberTrack duration in seconds.
metadata.titlestringAI-generated track title (if applicable).

Code examples

curl

curl -X POST https://api.fairstack.ai/v1/generations/music \
  -H "Authorization: Bearer $FAIRSTACK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "mureka-bgm",
    "input": {
      "prompt": "An upbeat jazz track with walking bass and brushed drums"
    }
  }'

Python

from fairstack import FairStack

client = FairStack(api_key="fs_live_YOUR_KEY")

# Submit async music generation
job = client.generate.music(
    model="mureka-bgm",
    prompt="An upbeat jazz track with walking bass and brushed drums"
)

# Poll for result
result = job.wait()
print(result.url)    # https://media.fairstack.ai/music/...
print(result.cost)   # $0.036

Node.js

import { FairStack } from "fairstack";

const client = new FairStack({ apiKey: "fs_live_YOUR_KEY" });

const job = await client.generate.music({
  model: "mureka-bgm",
  prompt: "An upbeat jazz track with walking bass and brushed drums",
});

const result = await job.wait();
console.log(result.url);   // https://media.fairstack.ai/music/...
console.log(result.cost);  // { credits_used: 36000, estimated_credits: 36000, currency: "microdollars" }

Completed response

{
  "id": "job_music_abc",
  "status": "completed",
  "url": "https://media.fairstack.ai/music/.../output.mp3",
  "model": "mureka-bgm",
  "modality": "music",
  "cost": {
    "credits_used": 36000,
    "estimated_credits": 36000,
    "currency": "microdollars"
  },
  "metadata": {
    "duration": 120,
    "sample_rate": 44100,
    "title": "Midnight Jazz Walk"
  }
}

Cost units. Every value inside cost is an integer in microdollars, as flagged by currency: "microdollars". The conversion is 1 USD = 1,000,000 microdollars. So credits_used: 30000 = $0.03, and the example above (36000) = $0.036. The field is named credits_used for backward compatibility with existing SDKs — always read it as microdollars and convert as needed.

Cost estimation

Set confirm: false to get the exact cost before generating.

curl -X POST https://api.fairstack.ai/v1/generations/music \
  -H "Authorization: Bearer $FAIRSTACK_API_KEY" \
  -d '{ "model": "mureka-bgm", "input": { "prompt": "test" }, "confirm": false }'

# Response: { "cost": { "credits_used": 0, "estimated_credits": 36000, "currency": "microdollars" } }

Lyrics mode

Pass lyrics with section markers for structured song generation:

{
  "model": "suno-generate",
  "input": {
    "prompt": "Indie pop, bright guitars, warm female vocal",
    "lyrics": "[Verse 1]\nWalking through the city lights\nEvery shadow feels just right\n\n[Chorus]\nWe are the dreamers tonight"
  }
}

Instrumental mode

For background music, film scores, and BGM, use an instrumental model such as Mureka BGM:

{
  "model": "mureka-bgm",
  "input": {
    "prompt": "Epic orchestral score for a fantasy film trailer"
  }
}

Quality tiers

TierExample ModelPriceMax DurationBest For
StandardSuno Generate Music$0.072/track120sContent creators, podcasts
PremiumMureka V9.5 (Song)$0.18/track480sProfessional tracks, full songs
Low-costMureka BGM$0.036/track60sBGM, prototyping, short clips

Next steps