Upload Audio
POST/v2/audios
Analyze emotions and speech patterns from audio content.
Submit audio from multiple sources and receive detailed emotion analysis, speaker identification, and transcription with emotional insights.
Input Sources:
- YouTube: Provide any YouTube video URL (audio will be extracted)
- Instagram: Instagram Reels and video posts (public content)
- Twitter/X: Twitter video posts and media content
- Facebook: Facebook video posts (public content)
- Cloud Storage: Dropbox, Google Drive, or other cloud service links
- Direct URL: Any publicly accessible audio or video link
- File Upload: Upload audio files directly from your device
Audio Extraction: Video files are supported for URLs only (YouTube, Instagram, Twitter, Facebook, Dropbox, direct links) - the audio track will be automatically extracted and analyzed. For file uploads, use audio formats only (MP3, WAV, AAC, M4A).
Analyze Specific Segments:
Focus on specific portions using start_millis and end_millis parameters.
This helps target key moments and optimize credit usage.
How It Works:
- Submit your audio and receive an immediate response with an audio ID
- Audio is queued for processing (typically completes within minutes)
- Optionally receive a webhook notification via
callback_urlwhen complete - Retrieve results using the audio ID
Supported Formats:
- File Upload: MP3, WAV, AAC, M4A
- Media URLs: MP3, WAV, AAC, M4A, MP4, AVI, MOV (audio extracted from video URLs)
Credit Usage:
Processing is billed at a base rate of 0.5 credits per second of analyzed
audio duration (Professional and Enterprise plans: 0.25 credits per second).
This base rate is discounted when speech-analysis stages are disabled —
turning off transcription, diarization, and/or text_emotion
lowers the per-second rate (skipping all three halves the speech cost). The
discounted rate is applied before the credit is computed on the floored
duration (rounded to whole seconds).
Extra Parameters:
- diarization (bool): Enable or disable speaker diarization for identifying different speakers in the audio. Default is True. Disabling it reduces the per-second credit cost.
- text_emotion (bool): Enable or disable transcript emotion analysis for the transcribed text. Default is True. Requires
transcription=True; iftranscriptionis False this is forced off. Disabling it reduces the per-second credit cost. Supplying atranscriptis the exception: the words already exist, sotext_emotionis honoured as you sent it. - transcription (bool): Enable or disable transcript / ASR generation. Default is True. When False, no transcript is produced and
text_emotionis forced off. Disabling it reduces the per-second credit cost. - language (str, optional): Language code for the audio (e.g., 'en'). If not provided, language will be auto-detected.
Bringing your own transcript:
Pass transcript (and optionally transcript_format) to skip our speech-to-text
entirely. Your speaker turns become the diarization and your speaker names are used
verbatim, so the analysis comes back attributed to real participants rather than
"Speaker 1" / "Speaker 2" — and you are not billed for the transcription stage.
A start_millis/end_millis trim is rejected: we would not have media your
timestamps line up with. A media_url source is accepted — the download runs
first and your transcript is applied once processing completes; that
response's status is queue. After that apply we deliver callback_url
(success or failure). A file or presigned upload applies in the same
request and reports processing. The response reports speaker_count so you
can see how many speakers we read out of what you sent.
Request
Responses
- 200
- 422
Successful Response
Validation Error