Blip Speech October 26, 2026 13:23 Updated Introduction How does it work? Activation Implementation Type validation Get the audio JSON URL Transcription Protected media IntroductionBlip Speech is our voice provider and allows you to add voice recognition capabilities to your Smart Contact by transcribing audio. For example: You have a Smart Contact with a flow ready to interact with customers autonomously, but when it receives an audio message on WhatsApp, you need to tell the customer that they must interact via text. Blip Speech allows you to add a block to your flow to transcribe the audio received from the customer, so you can interact with them entirely by voice! How does it work?Blip Speech is a Blip command, making it easier to integrate Blip's proprietary transcription technology into the Smart Contact.The integration allows you to: Easily integrate the technology into the conversational flow; Automatically transcribe audio in Brazilian Portuguese; Transcribe audio in English, Spanish, and French. ActivationAfter activating and connecting the integration on the AI Providers screen, it must be configured in the bot flow.Please be aware that confirming the use of Blip Speech may result in a charge. Check the pricing table through the link in the modal and review the costs. We are developing a screen that will display consumption information; it will be available soon. ImplementationBefore implementing Blip Speech in the conversational flow, you need to complete a few steps in the conversational flow. Type validationThe first step is to validate the type of message received by the bot. In other words, allow the message to be transcribed only if its type is audio. Get the audio JSON URLIn an input action in the block where the transcription will be performed, simply enter the input variable corresponding to the variable of the audio message sent by the user, as shown in the image below:In the same action, click SCRIPT and get the URL using the JavaScript code below:function run(input){ input = JSON.parse(input) return input['uri'] }Finally, add a return variable that will contain the URL ready to be transcribed in the next step. TranscriptionTo perform the transcription, you must process a command as an input action.The command must be completed as shown in the image below. The response variable can have any name you choose. In the example below, the variable returned with the transcription is transcriptionResult. By clicking Resources, you will enter the JSON containing the information needed to communicate correctly with Blip Speech. They are: url: Variable corresponding to the URL of the audio sent; guid: Variable with a unique alphanumeric identifier; contactId: Variable containing the identity of the contact/user who sent the audio to the bot (we recommend using the standard variable {{contact.identity}}) maxDuration: Maximum length of an audio file to be transcribed, in seconds. If a maxDuration value is not provided, it will default to 600 seconds. language: The language of the audio files to be transcribed. If it is not provided, its value will default to “auto,” which causes the transcription system to automatically detect the language of the audio sent before performing the transcription. As a result, you will have a JSON like this:{ "url":"{{urlAudio}}", "guid":"{{random.guid}}", "contactId":"{{contact.identity}}",, "maxDuration":240, "language":"pt" }By following the steps above, at the end of this flow you will have a variable containing the transcription of the audio sent, allowing you to continue handling your conversational flow.Alternatively, you can download this flow by clicking here and import it into your Smart Contact builder. Protected mediaAttention to Private Media (Protected Files): If your bot has the "Protected files" option selected in its settings, the files sent will be protected and will require an authentication token to be viewed. In these cases, you must indicate to Blip Speech that the URL needs to be authenticated.To do this, concatenate the parameter ?isprivate=true to the end of the link provided in the url variable.{ "url":"{{urlAudio}}?isprivate=true", "guid":"{{random.guid}}", "contactId":"{{contact.identity}}", "maxDuration":240, "language":"pt" }Need more help? Explore our content on the Blip Academy or Blip Community, watch tutorials on our YouTube channel or get your questions answered through our support channel 😃 Related articles Recording and Sending Audio Carousel Templates How to Configure and Send WhatsApp Active Messages in Blip Desk How to send email by the chatbot through Builder How to Use Variables in Blip Desk Canned Responses