curl --request POST \
--url https://toapis.com/v1/uploads/audios \
--header 'Authorization: Bearer <token>' \
--form 'file=@/path/to/your/audio.mp3'
import requests
with open('audio.mp3', 'rb') as f:
response = requests.post(
"https://toapis.com/v1/uploads/audios",
headers={
"Authorization": "Bearer your-ToAPIs-key"
},
files={
"file": f
}
)
result = response.json()
audio_url = result['data']['url']
print(f"Audio URL: {audio_url}")
(async () => {
const fileInput = document.createElement('input');
fileInput.type = 'file';
fileInput.accept = 'audio/mpeg,audio/wav,audio/mp4';
fileInput.click();
await new Promise(resolve => fileInput.onchange = resolve);
const formData = new FormData();
formData.append('file', fileInput.files[0]);
const uploadResponse = await fetch('https://toapis.com/v1/uploads/audios', {
method: 'POST',
headers: {
'Authorization': 'Bearer your-ToAPIs-key'
},
body: formData
});
const uploadResult = await uploadResponse.json();
console.log('Upload result:', uploadResult);
})();
{
"success": true,
"message": "",
"data": {
"id": "upload_abc12345",
"url": "https://files.toapis.com/uploads/123/audios/1737568800_abc12345.mp3",
"mime_type": "audio/mpeg",
"size": 1892345
}
}
{
"success": false,
"message": "Unsupported or invalid audio file. Allowed: MP3, WAV, M4A"
}
{
"success": false,
"message": "Audio too large. Maximum size is 50MB"
}
File Uploads
Upload Audio
Upload audio files to get URLs for use in audio-related APIs
POST
/
v1
/
uploads
/
audios
curl --request POST \
--url https://toapis.com/v1/uploads/audios \
--header 'Authorization: Bearer <token>' \
--form 'file=@/path/to/your/audio.mp3'
import requests
with open('audio.mp3', 'rb') as f:
response = requests.post(
"https://toapis.com/v1/uploads/audios",
headers={
"Authorization": "Bearer your-ToAPIs-key"
},
files={
"file": f
}
)
result = response.json()
audio_url = result['data']['url']
print(f"Audio URL: {audio_url}")
(async () => {
const fileInput = document.createElement('input');
fileInput.type = 'file';
fileInput.accept = 'audio/mpeg,audio/wav,audio/mp4';
fileInput.click();
await new Promise(resolve => fileInput.onchange = resolve);
const formData = new FormData();
formData.append('file', fileInput.files[0]);
const uploadResponse = await fetch('https://toapis.com/v1/uploads/audios', {
method: 'POST',
headers: {
'Authorization': 'Bearer your-ToAPIs-key'
},
body: formData
});
const uploadResult = await uploadResponse.json();
console.log('Upload result:', uploadResult);
})();
{
"success": true,
"message": "",
"data": {
"id": "upload_abc12345",
"url": "https://files.toapis.com/uploads/123/audios/1737568800_abc12345.mp3",
"mime_type": "audio/mpeg",
"size": 1892345
}
}
{
"success": false,
"message": "Unsupported or invalid audio file. Allowed: MP3, WAV, M4A"
}
{
"success": false,
"message": "Audio too large. Maximum size is 50MB"
}
Note for users in mainland China: Please use
https://toapis.cn as the API endpoint (Base URL). Replace https://toapis.com with https://toapis.cn in the examples in this document.The docs Playground does not support file uploads: Please use the cURL, Python, or JavaScript code examples below for testing.
Why Upload Audio First?
- Unified input flow - Upload local audio once and reuse the returned public URL
- Less repeated transfer - The same uploaded audio can be reused in multiple requests
Authorizations
string
required
Use Bearer Token for authenticationGet your API Key: Visit API Key Management
Authorization: Bearer YOUR_API_KEY
Body
file
required
Audio fileSupported formats:
- MP3 (.mp3)
- WAV (.wav)
- M4A (.m4a)
- Maximum file size: 50MB
string
Upload purpose (optional)Default:
generationResponse
boolean
Whether the request succeeded
object
curl --request POST \
--url https://toapis.com/v1/uploads/audios \
--header 'Authorization: Bearer <token>' \
--form 'file=@/path/to/your/audio.mp3'
import requests
with open('audio.mp3', 'rb') as f:
response = requests.post(
"https://toapis.com/v1/uploads/audios",
headers={
"Authorization": "Bearer your-ToAPIs-key"
},
files={
"file": f
}
)
result = response.json()
audio_url = result['data']['url']
print(f"Audio URL: {audio_url}")
(async () => {
const fileInput = document.createElement('input');
fileInput.type = 'file';
fileInput.accept = 'audio/mpeg,audio/wav,audio/mp4';
fileInput.click();
await new Promise(resolve => fileInput.onchange = resolve);
const formData = new FormData();
formData.append('file', fileInput.files[0]);
const uploadResponse = await fetch('https://toapis.com/v1/uploads/audios', {
method: 'POST',
headers: {
'Authorization': 'Bearer your-ToAPIs-key'
},
body: formData
});
const uploadResult = await uploadResponse.json();
console.log('Upload result:', uploadResult);
})();
{
"success": true,
"message": "",
"data": {
"id": "upload_abc12345",
"url": "https://files.toapis.com/uploads/123/audios/1737568800_abc12345.mp3",
"mime_type": "audio/mpeg",
"size": 1892345
}
}
{
"success": false,
"message": "Unsupported or invalid audio file. Allowed: MP3, WAV, M4A"
}
{
"success": false,
"message": "Audio too large. Maximum size is 50MB"
}