Use of binary image almost impossible

Describe the problem/error/question

Hello !
I have been trying for several days to set up a Workflow to automatically post on social networks. I have very painstakingly succeeded for X but I really don’t understand how to use binaries.

I want to pass images through the nodes but I find it incredibly counter-intuitive.

I systematically get the following error on the node that sends the image:

“This operation expects the node’s input data to contain a binary file ‘Upload_de_la_photo’, but none was found [item 0]

Make sure that the previous node outputs a binary file”

Firstly, I really don’t understand this sentence “Make sure that the previous node outputs a binary file”. It is strictly impossible to use data from a node that is not directly located before it?

When I select my node in error, in “input” I can see a drop-down menu that allows me to select the first node of my workflow and drag and drop information from this first node. But n8n never seems to detect them.

I have tried using intermediate nodes in Python code to try to make one of the previous nodes output the binary. I have also tried to connect my first node to the faulty node in order to transmit the binary to it, but nothing happens.

Thank you in advance for your help

What is the error message (if any)?

This operation expects the node’s input data to contain a binary file ‘Upload_de_la_photo’, but none was found [item 0]

Make sure that the previous node outputs a binary file

Please share your workflow

Share the output returned by the last node

{
“errorMessage”: “This operation expects the node’s input data to contain a binary file ‘Upload_de_la_photo’, but none was found [item 0]”,
“errorDescription”: “Make sure that the previous node outputs a binary file”,
“errorDetails”: {},
“n8nDetails”: {
“nodeName”: “Post Image to Bluesky”,
“nodeType”: “n8n-nodes-base.httpRequest”,
“nodeVersion”: 4.2,
“itemIndex”: 0,
“time”: “07/03/2025 11:44:26”,
“n8nVersion”: “1.81.4 (Self Hosted)”,
“binaryDataMode”: “default”,
“stackTrace”: [
“NodeOperationError: This operation expects the node’s input data to contain a binary file ‘Upload_de_la_photo’, but none was found [item 0]”,
" at assertBinaryData (/usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/execution-engine/node-execution-context/utils/binary-helper-functions.js:46:15)“,
" at Object.assertBinaryData (/usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/execution-engine/node-execution-context/execute-context.js:32:107)”,
" at ExecuteContext.execute (/usr/local/lib/node_modules/n8n/node_modules/n8n-nodes-base/dist/nodes/HttpRequest/V3/HttpRequestV3.node.js:234:61)“,
" at WorkflowExecute.runNode (/usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/execution-engine/workflow-execute.js:660:42)”,
" at /usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/execution-engine/workflow-execute.js:891:62",
" at /usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/execution-engine/workflow-execute.js:1224:20"
]
}
}

Information on your n8n setup

  • n8n version: 1.81.4
  • Database : SQLite
  • n8n EXECUTIONS_PROCESS setting (default: own, main): undefined in docker-compose
  • Running n8n via : Docker
  • Operating system: Ubuntu 24.04.1

One mistake I see in your workflow is the double branch on the lower part.

Leave only one branch, starting on the “Define credentials” node.

After trying that, please take a screenshot of the error happening.

Sometimes you can’t use expressions to refer to binary fields. You have to use just the raw name.

1 Like

Thank you for your help.

I have removed the double branche

I have also tried this but same error

I also used the raw name instead of an expression, the result is the same.

Hey @Universe-Photo-Archi,

I was able to do it like this:

.

I’ve used the Chat trigger to upload the file, but you can easily replace that.
Try to use the same logic with the Merge node, so the binary file arrives to the Upload file node.

You can see the post on this test account I’ve created:

:point_right: If my reply answers your question, please remember to mark it as a solution.

2 Likes

I still don’t understand why my workflow wasn’t working.

But your solution works!

Thank you so much !

1 Like

Because almost all nodes can’t work with multiple inputs. If you connect more than one input to regular node (like HTTP Request), then it means the n8n will run a separate execution for each of the inputs.

E.g. you have two inputs, then the node will be executed twice for each one. And for each separate execution it will be important how the node will access all the nodes data in-between (mostly it will break due to the path issue).

To handle multiple inputs, you should merge them into one input. That’s why you need the Merge node

1 Like

Thank you for your explanation Barn4k !

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.