Uploading Audio Files
Learn how to securely upload audio files to VoiceByAuribus API.
Overview
VoiceByAuribus uses a secure two-step upload process with pre-signed URLs. This ensures your audio files are uploaded directly to secure storage without passing through our servers.
Supported Formats
- WAV (Recommended): Uncompressed, highest quality
- MP3: Compressed, good for smaller files
- FLAC: Lossless compression
- MPEG: General audio format
Upload Process
Step 1: Request Upload URL
Request a secure pre-signed URL from the API:
curl -X POST https://api.auribus.io/api/v1/audio-files \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"file_name": "my-audio.wav",
"mime_type": "audio/wav"
}'
Response:
{
"success": true,
"data": {
"id": "660e8400-e29b-41d4-a716-446655440001",
"file_name": "my-audio.wav",
"mime_type": "audio/wav",
"upload_status": "awaiting_upload",
"upload_url": "https://s3.amazonaws.com/bucket/audio-files/.../file.wav?X-Amz-Algorithm=...",
"upload_url_expires_at": "2025-01-15T11:05:00Z",
"created_at": "2025-01-15T10:35:00Z"
}
}
The upload URL expires after 30 minutes. Complete the upload before it expires.
Step 2: Upload File to Storage
Upload your audio file directly to the pre-signed URL:
curl -X PUT "UPLOAD_URL_FROM_STEP_1" \
-H "Content-Type: audio/wav" \
--upload-file my-audio.wav
Step 3: Check Processing Status
Once uploaded, the system automatically processes your audio file to optimize it for conversions. You can check the status:
curl -X GET https://api.auribus.io/api/v1/audio-files/660e8400-e29b-41d4-a716-446655440001 \
-H "Authorization: Bearer YOUR_TOKEN"
Response:
{
"success": true,
"data": {
"id": "660e8400-e29b-41d4-a716-446655440001",
"file_name": "my-audio.wav",
"mime_type": "audio/wav",
"upload_status": "uploaded",
"is_processed": true,
"created_at": "2025-01-15T10:35:00Z",
"updated_at": "2025-01-15T10:36:00Z"
}
}
Audio File Status
Your audio file will have one of the following upload statuses:
| Status | Description |
|---|---|
awaiting_upload | File record created, waiting for client to upload to storage |
uploaded | File successfully uploaded to storage |
failed | Upload failed or file verification failed |
Additionally, the is_processed field indicates whether the audio file has been preprocessed and is ready for voice conversion.
Best Practices
- File Size: Keep individual files under 100MB for optimal performance
- Format: Use WAV format for highest quality results
- Naming: Use descriptive filenames to easily identify your files
- Error Handling: Always check the HTTP status code and handle errors appropriately
- Webhooks: Configure webhooks to receive notifications when conversions complete instead of polling