Upload local files
Upload local or private media with a temporary signed URL, then submit it for audio separation.
Use file uploads when your media is local, private, or too inconvenient to host at a public URL.
1. Create an upload
curl -X POST https://audiolasso.dev/v1/files \
-H "Authorization: Bearer $AUDIOLASSO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"file_name": "song.wav",
"content_type": "audio/wav",
"file_size": 12345678,
"purpose": "audio.separate.input"
}'The response includes a temporary upload URL:
{
"file_id": "file_01jabc",
"upload_url": "https://...",
"upload_method": "PUT",
"headers": {
"content-type": "audio/wav"
},
"expires_at": "2026-04-25T09:00:00.000Z"
}2. Upload the bytes
curl -X PUT "$UPLOAD_URL" \
-H "content-type: audio/wav" \
--data-binary @song.wav3. Submit the file
curl -X POST https://audiolasso.dev/v1/queue/audio/separate \
-H "Authorization: Bearer $AUDIOLASSO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": {
"file_id": "file_01jabc",
"prompt": "isolate the lead vocal"
}
}'Retention
Uploads are temporary. Use the generated output URLs before their retention window ends.