Upload Media
Upload audio files to the Audian platform for use in calls, voicemails, and other communication services.
Endpoint​
POST https://api.audian.com:8443/v2/media/upload
Request​
Headers​
Content-Type: multipart/form-data
X-Auth-Token: YOUR_API_KEY
Parameters​
| Parameter | Type | Required | Description |
|---|---|---|---|
file | File | Yes | Audio file to upload |
name | String | Yes | Name for the media file |
description | String | No | Optional description |
tags | String[] | No | Tags for organizing media |
Examples​
Upload Audio File​
curl -X POST https://api.audian.com:8443/v2/media/upload \
-H "X-Auth-Token: YOUR_API_KEY" \
-F "file=@/path/to/audio.wav" \
-F "name=welcome-greeting" \
-F "description=Welcome message for IVR" \
-F "tags=ivr,greeting"
JavaScript/Node.js​
const FormData = require('form-data');
const fs = require('fs');
const axios = require('axios');
const uploadMedia = async () => {
const form = new FormData();
form.append('file', fs.createReadStream('/path/to/audio.wav'));
form.append('name', 'welcome-greeting');
form.append('description', 'Welcome message for IVR');
form.append('tags', JSON.stringify(['ivr', 'greeting']));
try {
const response = await axios.post(
'https://api.audian.com:8443/v2/media/upload',
form,
{
headers: {
...form.getHeaders(),
'Authorization': 'Bearer YOUR_API_KEY'
}
}
);
console.log('Media uploaded:', response.data);
} catch (error) {
console.error('Upload failed:', error);
}
};
uploadMedia();
Python​
import requests
def upload_media(api_key, file_path, name, description=None, tags=None):
url = 'https://api.audian.com:8443/v2/media/upload'
headers = {
'X-Auth-Token': api_key
}
files = {
'file': open(file_path, 'rb'),
'name': (None, name),
}
if description:
files['description'] = (None, description)
if tags:
files['tags'] = (None, ','.join(tags))
response = requests.post(url, headers=headers, files=files)
return response.json()
# Usage
result = upload_media(
api_key='YOUR_API_KEY',
file_path='/path/to/audio.wav',
name='welcome-greeting',
description='Welcome message for IVR',
tags=['ivr', 'greeting']
)
print(result)
Response​
Success (200)​
{
"id": "media_abc123def456",
"name": "welcome-greeting",
"description": "Welcome message for IVR",
"url": "https://api.audian.com:8443/v2/media/media_abc123def456",
"duration": 4.5,
"format": "wav",
"size": 72000,
"tags": ["ivr", "greeting"],
"created_at": "2024-02-04T10:30:00Z",
"updated_at": "2024-02-04T10:30:00Z"
}
Error (400)​
{
"error": "invalid_file_format",
"message": "File format not supported. Supported formats: WAV, MP3, ULAW, ALAW"
}
Supported File Formats​
| Format | Extension | Sample Rate | Bit Depth |
|---|---|---|---|
| WAV | .wav | 8kHz, 16kHz, 44.1kHz, 48kHz | 8-bit, 16-bit |
| MP3 | .mp3 | 44.1kHz, 48kHz | 128kbps-320kbps |
| ULAW | .ulaw | 8kHz | 8-bit |
| ALAW | .alaw | 8kHz | 8-bit |
File Size Limits​
- Maximum file size: 50MB per file
- Recommended for real-time playback: < 10MB
- Batch upload limit: 100 files per request
Best Practices​
- File Quality: Use high-quality audio files for best results
- Format Selection: WAV or MP3 recommended for general use
- Naming: Use descriptive names for easy identification
- Tags: Organize files with relevant tags for bulk operations
- Cleanup: Remove unused media files to manage storage
Retrieving Uploaded Media​
Once uploaded, you can reference media files by their ID in other API calls:
# Use the media ID in calls, voicemails, or other services
curl -X POST https://api.audian.com:8443/v2/calls/make \
-H "X-Auth-Token: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "+1234567890",
"media_id": "media_abc123def456"
}'