Skip to main content

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"
}
}
Important

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:

StatusDescription
awaiting_uploadFile record created, waiting for client to upload to storage
uploadedFile successfully uploaded to storage
failedUpload 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

  1. File Size: Keep individual files under 100MB for optimal performance
  2. Format: Use WAV format for highest quality results
  3. Naming: Use descriptive filenames to easily identify your files
  4. Error Handling: Always check the HTTP status code and handle errors appropriately
  5. Webhooks: Configure webhooks to receive notifications when conversions complete instead of polling

Next Steps