Upload Audio
Changed onAnalyze 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_url when 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: Billed on success; the amount is recorded after the run and is not quoted on this request. Each audio is billed at least 5 credits. A 402 is returned before processing starts when admission is refused.
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; if transcription is False this is forced off. Disabling it reduces the per-second credit cost. Supplying a transcript is the exception: the words already exist, so text_emotion is honoured as you sent it.
- transcription (bool): Enable or disable transcript / ASR generation. Default is True. When False, no transcript is produced and text_emotion is 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.
- multilingual (bool): Opt-in mixed-language transcription. Default is False. Once the audio completes, the lines that are not in its main language are also translated into the main language and billed as a translation, on top of transcription; auto_translation on the audio reports it.
- expected_languages (str, optional): Comma-separated codes of the languages the audio may contain, the main one included (e.g., 'en,ja'), up to 5. Detection is restricted to them. If language is also sent it must be one of them. An invalid code is refused with 422 invalid_language before anything is charged.
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.
Recording type: Pass audio_type=contact_center_call to tag a support/sales call at upload. POST /v1/audios does not accept audio_type — tag afterwards with PUT /v1/audios/{id}/audio-type. A call uploaded as video starts generic; PUT the companion audio id after processing completes (POST /v2/videos does not take audio_type either).
Request
- Base URLhttps://api.imentiv.ai (the document declares no server; this is the origin it was published from)
- Auth
- API key in header X-API-Key
- or HTTP bearer
- or OAuth 2Authorization code: https://api.imentiv.ai/oauth/authorizeToken URL: https://api.imentiv.ai/oauth/token scopes: media.write
Request body multipart/form-data
Response
Successful Response
Changes
- info
added the new optional request property
- info
added the new optional request property
- info
- info
the endpoint scheme security
ApiKeyAuthwas added to the API - info
the endpoint scheme security
BearerAuthwas added to the API - info
the endpoint scheme security
OAuth2Delegatedwas added to the API
- info