Skip to main content

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​

ParameterTypeRequiredDescription
fileFileYesAudio file to upload
nameStringYesName for the media file
descriptionStringNoOptional description
tagsString[]NoTags 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​

FormatExtensionSample RateBit Depth
WAV.wav8kHz, 16kHz, 44.1kHz, 48kHz8-bit, 16-bit
MP3.mp344.1kHz, 48kHz128kbps-320kbps
ULAW.ulaw8kHz8-bit
ALAW.alaw8kHz8-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​

  1. File Quality: Use high-quality audio files for best results
  2. Format Selection: WAV or MP3 recommended for general use
  3. Naming: Use descriptive names for easy identification
  4. Tags: Organize files with relevant tags for bulk operations
  5. 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"
}'