Audio Emotion API

Get Audio Details

Changed on

Retrieve all details for a specific audio directly from the database.

Returns a complete standardized response with all possible fields. Fields that don't exist in the database are returned as null.

Access Control:

  • Authenticated users can access their own audios
  • Admins can access all audios
  • Sample audios and shared audios are publicly accessible
get/v2/audios/{audio_id}

Request

  • Base URL
    https://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 2
      Authorization code: https://api.imentiv.ai/oauth/authorize
      Token URL: https://api.imentiv.ai/oauth/token scopes: media.read

Path parameters

audio_idstring required

The unique ID of the audio.

Response

Successful Response

languagesstring[]

Detected languages in stored dominant-first order; empty when unavailable. Short stretches may have line language marks without appearing in this list. This is an output summary, independent of the expected_languages input hint.

audio_durationnumber nullable

Audio duration in seconds

audio_model_idstring nullable

Model used for audio processing

audio_typestring

Declared recording type (not a file format): generic or contact_center_call. Absent on old documents is generic. Always a string; never null.

average_audio_emotionsobject nullable

Average audio emotions

bulk_upload_idstring nullable

Bulk upload batch ID

channelobject nullable

Worker-written per-speaker channel assignment (A1). Null until written. Visible to share-link readers of GET /v2/audios/{audio_id}, same as other analysis outputs on this model.

created_atstring nullable

Creation timestamp

updated_atstring nullable

ISO-8601 UTC timestamp of the last change to this audio. Compare it for inequality with the value you hold to tell whether your copy is stale; it carries no ordering guarantee. It covers this audio's own fields only, not data derived from other records such as frames or analytics.

csv_analysis_urlstring nullable

CSV analysis file URL

descriptionstring nullable

Audio description

emotionsobject nullable

Overall audio emotions

expected_languagesstring[]

The languages you said the audio may contain, as sent on upload or reprocess (Whisper codes, main language included). This is the INPUT you gave, not the languages detected in the speech. [] when none was given.

idstring nullable

Unique audio identifier

languagestring nullable

The audio's language as a BCP-47 tag made of a language, an optional script and an optional region (for example en or pt-BR), or null when none is recorded.

language_source'user' | 'detected' | 'unknown'

Where language came from: user when the upload sent one, detected when speech recognition filled it in, unknown otherwise (including when language is null). Always a string; never null.

llm_audio_policystring

Backend-stamped audio-LLM policy (off, transcript_only, allowed). Not client-writable. Absent is off. Always a string; never null.

media_sourcestring nullable

Source type: youtube, dropbox, public_url, file_upload

media_source_urlstring nullable

The URL the media was submitted with. For an upload this is a reference to the stored media, not guaranteed to be readable; use the media's playback-url endpoint to play it back.

multilingualboolean

Whether mixed-language transcription was requested for this audio. This is the INPUT you gave, not a detection result. false when it was not requested. When on, the lines that are not in the audio's main language are also translated into it once the audio completes (see auto_translation), billed as a translation on top of transcription.

parent_idstring nullable

Parent video ID if extracted from video

predefined_qaobject[] nullable

Predefined Q&A analysis

project_idstring nullable

Associated project ID. Empty/absent for library audio.

project_typestring nullable

Type of the associated project (sales_deal/...). Null for library audio.

psychologist_reviewstring nullable

Psychologist review content

psychologist_review_statusstring nullable

Psychologist review status

segment_audio_emotionsobject[] nullable

Segment-level audio emotions

segment_text_emotionsobject[] nullable

Segment-level text emotions

share_statusboolean nullable

Whether audio is shared

diarizationboolean nullable

Whether diarization is enabled (defaults to true if absent from the stored document)

has_transcriptboolean nullable

Whether a transcript exists (or is being produced): our ASR ran, OR one was supplied and applied. Drive the transcript UI off THIS, not transcription — an imported call has transcription=false and a real transcript, so that flag hides one that is right there.

text_speaker_id_overall_emotionsobject[] nullable

Speaker-level aggregated emotions

speakersobject[] nullable

Identified speakers

stanceobject nullable

Worker-written stance measurement (C1). Null until written, and null when audio_type is not contact_center_call. Share-link readers of GET /v2/audios/{audio_id} see it when present — same visibility as the other analysis outputs on this anonymously-readable endpoint.

statusstring nullable

Processing status

system_namestring nullable

System name that processed the audio

tags_mapobject nullable

Tags map for categorization

text_emotionboolean nullable

Whether text emotion analysis was enabled at upload time (defaults to true if absent from the stored document)

text_overall_emotionsobject nullable

Overall text emotions from transcript

text_idstring nullable

Associated text analysis ID

text_model_idstring nullable

Model used for text processing

titlestring nullable

Audio title

transcript_segmentsobject[] nullable

Transcript segments with emotions

transcriptionboolean nullable

Whether transcription/ASR was enabled at upload time (defaults to true if absent from the stored document)

ui_requestboolean nullable

Whether request came from UI

urlstring nullable

Stored audio URL. A reference to the stored media, not guaranteed to be readable: use GET /v2/audios/{audio_id}/playback-url to play it back.

user_idstring nullable

The user who created the item (the same value as created_by).

created_bystring nullable

The user who created the item. Never changes, including when the item is moved to a workspace.

video_idstring nullable

Associated video ID if extracted from video

text_word_countinteger nullable

Word count of transcript

youtube_urlstring nullable

YouTube URL if applicable

Example response

{
  "languages": [
    "en",
    "ja"
  ],
  "auto_translation": {
    "language": "en"
  },
  "updated_at": "2025-12-01T14:30:00.000000+00:00",
  "expected_languages": [
    "en",
    "ja"
  ],
  "multilingual": true
}

Changes

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status