Audio(URL) - Submit New Conversation

POST {{base_url}}/v1/process/audio/url

Submit New Audio File URL:

The Async Audio URL API takes in a url link of your audio to proccess it.

It can be utilized for any use case where you have access to recorded audio stored publicly as URL and want to extract insights and other conversational attributes supported by Symbl's Conversation API.

The URL provided must be a publicly available URL. Currently we do not any support any redirected links, shortened links (e.g. bit.ly), YouTube, Vimeo, or links from any audio/video platforms.

Learn More about Async Audio API.

Request Body

ParametersRequiredDescription
urlYesA valid URL string. The URL must be a publicly accessible URL.
customVocabularyNoContains a list of words and phrases that provide hints to the speech recognition task.
confidenceThresholdNoMinimum required confidence for the insight to be recognized. Value range from 0.0 to 1.0. The default value is 0.5.
detectPhrasesNoIt shows Actionable Phrases in each sentence of conversation. These sentences can be found using the Conversation's Messages API. It's a boolean value where the default value is false.
nameNoYour meeting name. Default name set to conversationId.
webhookUrlNoWebhook URL on which job updates to be sent. This should be post API.
entitiesNoInput custom entities which can be detected in your conversation using Entities' API. For example, check the sample code on right.
languageCodeNoWe accept different languages. Please check language Code as per your requirement.
enableSeparateRecognitionPerChannelNoEnables Speaker Separated Channel audio processing. Accepts true or false.
channelMetadataNoThis object parameter contains two variables speaker and channel to specify which speaker corresponds to which channel. This object only works when enableSeparateRecognitionPerChannel is set to true.

channelMetadata Object

{
  "channelMetadata": [
    {
      "channel": 1,
      "speaker": {
        "name": "Robert Bartheon",
        "email": "robertbartheon@gmail.com"
      }
    },
    {
      "channel": 2,
      "speaker": {
        "name": "Arya Stark",
        "email": "aryastark@gmail.com"
      }
    }
  ]
}

channelMetadata object has the following members:

FieldDescription
channelThis denotes the channel number in the audio file. Each channel will contain independent speaker's voice data.
speakerThis is the wrapper object which defines the speaker for this channel.

speaker has the following members:

FieldDescription
nameName of the speaker.
emailEmail address of the speaker.

Billing for a speaker separated channel audio file happens according to the number of channels present in the audio files. The duration for billing will be calculated according to the below formula:

totalDuration = duration_of_the_audio_file * total_number_of_channels

So if you send a 120-second file with 3 speaker separated channels, the total duration for billing would be 360 seconds or 6 minutes.

Webhook object

webhookUrl will be used to send the status of the job created for the uploaded audio URL. Every time the status of the job changes it will be notified on the webhookUrl.

FieldDescription
jobIdID to be used with Job API
statusCurrent status of the job. (Valid statuses - [ scheduled, in_progress, completed, failed ])

Response Object on Success

FieldDescription
conversationIdID to be used with Conversation API
jobIdID to be used with Job API

Request Params

KeyDatatypeRequiredDescription
enableAllTrackersboolean

Request Body

{"name"=>"Postman Default Meeting (Sales/Demo)", "url"=>"https://storage.googleapis.com/sales-intelligence-call-recordings/Realtor_Sales_Call_Youtube_12min.mp3", "confidenceThreshold"=>0.6, "timezoneOffset"=>0, "enableSpeakerDiarization"=>true, "diarizationSpeakerCount"=>2, "startTime"=>"2023-01-17T17:26:12", "features"=>{"featureList"=>["insights", "callScore"]}, "conversationType"=>"sales", "metadata"=>{"salesStage"=>"general", "prospectName"=>"Audio File LLC"}}

HEADERS

KeyDatatypeRequiredDescription
x-api-keystring
Content-Typestring