Best answer

Failed to create a transcription in OpenAI (GPT-3, DALL·E, Whisper): The app returned "Invalid file format.

Userlevel 1


I want to create a zap that transcribes slack voice messages to text via OpenAI's Whisper.

I can extract the link to a voice message from the slack message with the fields url_private or url_private_download (both links end with .mp4) but I still receive OpenAI’s feedback: 

Failed to create a transcription in OpenAI (GPT-3, DALL·E, Whisper)
The app returned "Invalid file format. Supported formats: ['m4a', 'mp3', 'webm', 'mp4', 'mpga', 'wav', 'mpeg']".


Here is my exact setup: 

  1. Trigger: New Message Posted to Channel in Slack channel

  2. Filter: Only continue if the text contains .mp4

  3. OpenAI: From the slack message, I take the input field url_private (ending with .mp4) and ask to transcribe it

  4. → I receive the above error


Anyone else who had this problem and found a solution?


Best answer by Troy Tessalone 11 May 2023, 17:42

View original

5 replies

Userlevel 7
Badge +14

Hi @Tim_wienboeker 

Good question.

Please post detailed screenshots with how your Zap steps are configured along with the encountered error in order for us to have full context, thanks.

Userlevel 7
Badge +14


This is likely why...



Authentication is required to retrieve file URLs.

The url_private property points to a URL to the file contents. Editable-mode files will also have a url_private_download parameter, which includes headers to force a browser download. Both url_private and url_private_download require an authorization header of the form:

Authorization: Bearer A_VALID_TOKEN

In this case, A_VALID_TOKEN is representative of a real OAuth token, bearing at least the files:read scope. Learn more about OAuth Scopes.

Fields providing URLs that require this form of authentication include:

  • url_private
  • url_private_download
  • thumb_64
  • thumb_80
  • thumb_160
  • thumb_360
  • thumb_480
  • thumb_720
  • thumb_960
  • thumb_1024

Please note that the url and url_download parameters have been deprecated. Please use url_private and url_private_download instead.


Userlevel 7
Badge +14


You can try using this Slack action:


Userlevel 7
Badge +14


Actually, try using a “File” data point from the Slack step.

Search for “exists but not shown”.

This is a temp file that is available for you.

NOTE: There may be more than 1 file on a Slack message, in that case you would have to use the Looping app to iterate thru each.


Userlevel 1

Thanks a lot @Troy Tessalone - it worked!