API Reference
API Reference / Endpoints / Music

Analyze and separate stems

/v1/music/analyze/stems

Run stem separation from a source audio URL.

POST/v1/music/analyze/stems
Auth: API keyBilling: Consumes 1 API callBehavior: SyncScopes: audio:generate
POSTSyncjsonaudio:generate

When to use it

Use this when you need isolated stems or a downloadable zip for remix, education, or production workflows.

Behavior on success

Returns a completed payload on the normal success path.

Integration shape

Authorization model
audio:generate
Request format
json
Polling pattern
No polling required on the normal success path.

Request

FieldTypeRequiredDescription
urlstringYesPublic source audio URL.
modelstringOptionalOptional model id.

Example request

POST /v1/music/analyze/stems
const response = await fetch('https://prod-backup-backend.wubble.ai/v1/music/analyze/stems', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.WUBBLE_API_KEY}`,
    'Idempotency-Key': crypto.randomUUID(),
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
  "url": "https://example.com/audio/full-mix.mp3"
}),
});

const payload = await response.json();
console.log(payload);

Example response

Response shapejson
{
  "success": true,
  "data": {
    "request_id": "<uuid>",
    "status": "completed",
    "zip_url": "https://cdn.wubble.ai/stems/output.zip"
  }
}

Implementation notes

This route may complete synchronously when the provider returns a finished artifact quickly.

Production guidance

Pair this route with idempotency on POST requests and either request polling or webhooks whenever the response is asynchronous.
Was this page helpful?