API Reference
API Reference / Endpoints / Music

Generate isolated tracks

/v1/music/tracks

Generate isolated tracks or stems-style outputs from a prior song or upload.

POST/v1/music/tracks
Auth: API keyBilling: Consumes 1 API callBehavior: AsyncScopes: audio:generate
POSTAsyncjsonaudio:generate

When to use it

Use this when you need a derivative track workflow instead of a full song output.

Behavior on success

Returns 202 Accepted with a request_id. Poll the status endpoint or use webhooks.

Integration shape

Authorization model
audio:generate
Request format
json
Polling pattern
Poll status if the route returns processing.

Request

FieldTypeRequiredDescription
generate_typestringYesTrack generation mode such as vocals, drums, bass, guitar, keyboard, strings, synth, or fx.
song_idstringOptionalExisting song id.
upload_audio_idstringOptionalExisting upload id. Supply one source identifier total.

Example request

POST /v1/music/tracks
const response = await fetch('https://prod-backup-backend.wubble.ai/v1/music/tracks', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.WUBBLE_API_KEY}`,
    'Idempotency-Key': crypto.randomUUID(),
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
  "generate_type": "drums",
  "song_id": "song_123"
}),
});

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

Example response

Response shapejson
{
  "success": true,
  "data": {
    "request_id": "<uuid>",
    "status": "processing",
    "estimated_seconds": 80
  }
}

Implementation notes

Provide exactly one of song_id or upload_audio_id.
Accepted generate_type values are route-validated instrument groups such as vocals, drums, bass, guitar, keyboard, strings, synth, and fx.

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?