API Reference / Endpoints / Music
Upload source audio
/v1/music/uploadsUpload a large audio file for downstream music operations.
POST
/v1/music/uploadsAuth: API keyBilling: FreeBehavior: SyncScopes: audio:generate
POSTSyncmultipartaudio:generate
When to use it
Use this when later music flows need a source file and you do not already have an upload id.
Behavior on success
Returns a completed payload on the normal success path.
Integration shape
Authorization model
audio:generate
Request format
multipart
Polling pattern
No polling required on the normal success path.
Request
| Field | Type | Required | Description |
|---|---|---|---|
file | file | Yes | Multipart audio file. |
purpose | string | Optional | Optional label such as `vocal` or `reference`. |
Example request
POST /v1/music/uploads
const form = new FormData();
form.append('file', fileInput.files[0]);
form.append('purpose', 'reference');
const response = await fetch('https://prod-backup-backend.wubble.ai/v1/music/uploads', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.WUBBLE_API_KEY}`,
},
body: form,
});
const payload = await response.json();
console.log(payload);Example response
Response shapejson
{
"success": true,
"data": {
"request_id": "<uuid>",
"status": "completed",
"upload_audio_id": "upl_123",
"bytes": 1245000,
"filename": "source-audio.wav",
"content_type": "audio/wav"
}
}Implementation notes
This upload itself is not a generation job and does not consume API calls in the new allowance model.
Production guidance
Pair this route with idempotency on POST requests and either request polling or webhooks whenever the response is asynchronous.