Help with converting Telegram audio messages to text using Whisper via Groq

Hello everybody,

I am encountering an issue in my flow while trying to convert Telegram audio messages to text using Whisper via Groq. Below are the details of the flow I’ve set up:

  1. I retrieve the file_path of the audio message using Telegram’s API.
  2. I download the audio file using an HTTP GET request with the URL: https://api.telegram.org/file/bot<TOKEN>/<file_path>.
  3. I attempt to send the downloaded file to the Whisper model via Groq to convert the audio into text.

The issue occurs when I pass the downloaded file to the Whisper model. It returns an error stating that the file is either not in Base64 format or is invalid. I also tried converting the file to Base64 using a code step, but the flow fails with a generic “Run failed” message without clear details.

Additional Details:

  • I am using the self-hosted version of Activepieces.
  • I confirmed that the downloaded file can be played manually and is in a valid format (.ogg or .mp3).
  • I tried converting the file to Base64 within Activepieces, but the conversion doesn’t seem to work correctly.
  • I also attempted to send the file without encoding it to Base64, but it wasn’t processed correctly by Whisper via Groq.

What I need:

  • Guidance on how to convert a downloaded file (binary) to Base64 within Activepieces, if possible.
  • Validation on whether Activepieces can handle binary files in this way or if I need an alternative approach.
  • Assistance in understanding the “Run failed” error message and how to resolve it.

Thank you very much for your support, and I am happy to provide any additional information needed to resolve this issue.

Best regards,