curl --request POST \
--url https://api.royalti.io/releases/{id}/tracks/{trackId}/media/file \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: multipart/form-data' \
--form file='@example-file'{
"success": true,
"data": {
"cloudId": "550e8400-e29b-41d4-a716-446655440000",
"cloudUrl": "https://storage.royalti.io/files/audio.mp3",
"type": "audio",
"name": "my-track.mp3",
"isLink": false,
"releasePath": "tenant123/releases/release456/tracks/track789/file.mp3",
"metadata": {
"duration": 213.5,
"bitrate": "320",
"sampleRate": "44100",
"channels": "2",
"codec": "mp3",
"fileSize": 1048576,
"mimeType": "audio/mpeg",
"processedAt": "2023-11-07T05:31:56Z",
"linkValidated": true
}
},
"message": "Media uploaded successfully"
}curl --request POST \
--url https://api.royalti.io/releases/{id}/tracks/{trackId}/media/file \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: multipart/form-data' \
--form file='@example-file'{
"success": true,
"data": {
"cloudId": "550e8400-e29b-41d4-a716-446655440000",
"cloudUrl": "https://storage.royalti.io/files/audio.mp3",
"type": "audio",
"name": "my-track.mp3",
"isLink": false,
"releasePath": "tenant123/releases/release456/tracks/track789/file.mp3",
"metadata": {
"duration": 213.5,
"bitrate": "320",
"sampleRate": "44100",
"channels": "2",
"codec": "mp3",
"fileSize": 1048576,
"mimeType": "audio/mpeg",
"processedAt": "2023-11-07T05:31:56Z",
"linkValidated": true
}
},
"message": "Media uploaded successfully"
}const response = await fetch('https://api.royalti.io/releases/example-id/tracks/example-id/media/file', {
method: 'POST',
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({})
});
const data = await response.json();
console.log(data);
JWT Authorization header using the Bearer scheme. Format: "Bearer {token}"
Single audio or video file