Webhook doesnt correctly parse a binary file

my webhook does not catch Binary files that my OpenWebUI instance creates

Describe the problem/error/question

I want to use n8n as proxy between OpenWebUI’s STT engine and my local one but the webhook node that receives data from OpenWebUI does not parse binary file correctly. i have tried multiple differend field names (data, file, body.data, body.file and so on..) but none work.

What is the error message (if any)?

Please share your workflow

Share the output returned by the last node

Information on your n8n setup

  • n8n version: Version 1.120.4
  • Database (default: SQLite): Postgres
  • n8n EXECUTIONS_PROCESS setting (default: own, main):
  • Running n8n via (Docker, npm, n8n cloud, desktop app): Docker
  • Operating system: Plesk

update: i have realized that the “Raw Body” setting also does not return body’s binary file

hello @prxlac

check that the mime-type is correct.

Seems n8n is trying to parse the file instead of saving it as a binary file.

Hi,

Where can i check the mime-type, since there’s no mention of it in the header? I only get:“

“accept”: “/”, ”

Out of curiosity, could you share the request + the binary file ?
I would like to try to reproduce here.

How can i send it to you to reproduce? Since it does not send over/parse the binary at all… Though, when using tarampampam/webhook-tester, it succesfully parses a .bin file which i can play in a miedia player and mime-type is visible in the body: “

--29fbf6a3c2f8f1981985eeef7156c663
Content-Disposition: form-data; name="model"

gpt-4o-mini-transcribe
--29fbf6a3c2f8f1981985eeef7156c663
Content-Disposition: form-data; name="file"; filename="b43b5863-d04c-436a-8a99-f08b8e00c437.mp3"

ID3#TSSELavf59.27.100

I tested it using a request in Postman:

curl --location 'https://localhost/webhook-test/audio/transcript' \
  --header 'Authorization: Bearer hello' \
  --header 'accept: */*' \
  --form 'model="Large-2"' \
  --form '=@"/Users/toto/Music/sample.mp3"'

With a sample file (sample.mp3), it works on my side.
Could you try running the same test from Postman?

To attach a file in Postman: [screenshot or instructions if needed]

This will help determine whether the issue is coming from the receiver (the webhook) or the sender (the WebUI).

In your WebUI, do you have something like:

data = {"model": model, "file": audio_bytes}

or like this?

files = {"file": (...)}

Let me know what you find!

Since i dont have Postman, here’s what im able to catch with my webhook tester setup:

So my guess is that OpenWebUI doesn’t event send out corrent “accept” attribute…

And unfortunately I can’t send the .bin file here, but if i play it in a media player it plays normally

Are there other file types that work well?

Can you send it through swiss transfert / wetransfer ?

Also, is “binary” a clickable menu ?
That would tell n8n to explore it as binary, and not as text.

here is the binary, and here is the binary tab on webhook tester:

Hi all,

IMO I think attaching the OpenWebUI Function here can add some context if you’re using it send the Post request, or how you are actually integrating n8n with OpenWebUI STT ?

Hello,

thanks for the file, it works well with a postman request.
I agree with @mohamed3nan , i believe the sender could cause this issue.