n8n-binary-and-data
Installation
SKILL.md
n8n Binary and Data
n8n handles two kinds of data: JSON (in $json) and binary (in $binary), flowing side-by-side. Binary has sharp edges around agent tools, storage, and display contexts (chat surfaces, message rendering).
For tabular storage (Data Tables), see the n8n-data-tables skill.
Non-negotiables
- Binary is in
$binary, not$json. Don't read file contents from$json. - Binary cannot cross the agent tool boundary in either direction. Tool parameters are JSON only (via
fromAi()), and tool results are JSON only. Pre-stage binary in storage and pass keys/URLs through JSON. The agent'spassthroughBinaryImages: truelets the LLM see uploaded images for vision, but it does NOT enable tools to receive them. Seereferences/AGENT_TOOL_BINARY.md.
Strong defaults
- Merge nodes keep binary in context. When a side computation strips binary, merge it back rather than re-fetching. See
references/MERGE_FOR_CONTEXT.md.
Binary basics
In n8n, each item has two slots: