Reference · Tools

Claude File Upload

Upload files to Anthropic for use with Claude.

Action (binary) AI v1 Binary data

Claude File Upload sends a binary file from your workflow to Anthropic's Files API and returns the file's ID, name, MIME type, size, and creation time. That file ID can then be passed to Claude Chat, Vision, Structured Output, Thinking, or Citations nodes — so a PDF or image is uploaded once and referenced across multiple Claude calls in the same workflow.

Node type
Action (binary)
Parameters
5
Outputs
Output, Error
Credentials
Anthropic

Claude File Upload

Upload files to Anthropic for use with Claude.

Overview

Claude File Upload uses the Anthropic Files API (POST /v1/files) to upload files for use with Claude models. It takes a file from binary data on the incoming item and uploads it as multipart/form-data. The upload response is returned with the file’s id, filename, mime type, size and creation time. That file ID can then be used by the other Claude nodes — Chat, Thinking, Structured Output, Vision and Citations all accept an Anthropic file ID — so a file is uploaded once and referenced many times.

Category: AI
Tool Name: claude_file_upload
Version: 1

Appearance: Icon: anthropic | Color: #d4a574

Node Type

Action (Binary) — handles file/binary data operations

Input / Output

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

This tool requires Anthropic credentials. See the Credentials Guide for setup instructions.

Parameters

ParameterTypeRequiredDefaultDescription
Binary Property NamestringNodataThe name of the binary property containing the file to upload. Names are case-sensitive — see the upstream node’s Binary Data panel for the exact names to use. Supports expressions.
PurposeoptionsNoassistantsLegacy label for the uploaded file. NOT sent to Anthropic — their Files API takes no purpose field; a file’s role is set at use time by the content block that references it. Kept for backward compatibility only.
Options: assistants (a file for use with Claude assistants and conversations), vision (an image file for Claude vision analysis)
OptionscollectionNo{}Output settings.
— Response Field NamestringNofileThe output field name where the file upload response will be stored.
Include InputbooleanNofalseWhether to include the original input item fields in the output alongside the upload response.
Max ConcurrencynumberNo5Maximum number of items to process concurrently.

Output Data

One upload per input item, and one output item per input item. The full upload response lands on the field named by Response Field Name (file by default), and the file ID is also lifted onto fileId for convenience. Binary data on the input item is forwarded unchanged, so the original bytes stay available downstream. With Include Input on, the original item fields are merged in alongside the result.

{
  "file": {
    "id": "file_011...",
    "filename": "contract.pdf",
    "mime_type": "application/pdf",
    "size_bytes": 184320,
    "created_at": "2026-01-01T00:00:00Z"
  },
  "fileId": "file_011..."
}
  • file is the upload response exactly as Anthropic returned it.
  • fileId is the same value as file.id, promoted to the top level because that is what the downstream Claude nodes ask for. Every node that accepts an Anthropic file ID also falls back to reading fileId from the item, so a File Upload node wired straight into a Claude Chat, Thinking, Structured Output, Vision or Citations node needs no expression at all.
  • How Claude treats the file is decided where it is used, not here: set Attachment Type on the consuming node (or pick the matching Image Source / Document Source mode) to say whether it should be read as a document or as an image.

Reference the result downstream by expression, e.g. {{ $json.fileId }}.

Usage Examples

  • Upload an image for Claude vision analysis
  • Upload a document for use with Claude assistants
  • Upload a PDF for Claude to analyze
  • Upload a code file for Claude to review
  • Upload files in bulk for batch conversation processing

Example Configuration

Minimal — upload the file on the standard data property:

{
  "type": "claude_file_upload",
  "parameters": {
    "binaryPropertyName": "data",
    "purpose": "assistants"
  }
}

Upload an image from a custom binary property:

{
  "type": "claude_file_upload",
  "parameters": {
    "binaryPropertyName": "screenshot",
    "purpose": "vision"
  }
}

Keep the original item fields and name the output field:

{
  "type": "claude_file_upload",
  "parameters": {
    "binaryPropertyName": "contractPdf",
    "purpose": "assistants",
    "includeInput": true,
    "maxConcurrency": 3,
    "options": {
      "responseFieldName": "uploadedContract"
    }
  }
}

Error Handling

ModeBehavior
stopHalts workflow on first error
continueSkips failed items, passes successful ones through
errorPortRoutes failed items to Error output port

Tips

Claude File Upload sends binary files to the Anthropic Files API via multipart/form-data, registering them for use with Claude models. The node’s Purpose parameter is a backward-compatibility relic and is not transmitted — Anthropic infers a file’s role from the content block that references it later. Use this tool when a workflow requires attaching images, documents, or other files to Claude API calls before initiating a file-based conversation. It outputs the Anthropic file object (id, filename, mime_type, size_bytes, created_at) plus a top-level fileId, which downstream Claude nodes consume via {{ $json.fileId }}.

Frequently asked questions

What does this node actually return, and how do I use the file ID downstream?

The node outputs the full Anthropic file object — id, filename, mime_type, size_bytes, and created_at — plus a convenience top-level field called fileId. In any downstream Claude node that accepts a file reference, use {{ $json.fileId }} to pass it. You do not need to re-upload the file for each Claude call.

What is the Purpose parameter for, and do I need to set it?

Purpose is a backward-compatibility field and is not actually sent to Anthropic. Anthropic infers a file's role from the content block that references it later, so you can leave Purpose at its default. It has no effect on the upload or how Claude uses the file.

Which Claude nodes can consume the file ID this node produces?

The file ID returned by Claude File Upload is accepted by the Claude Chat, Thinking, Structured Output, Vision, and Citations nodes. Upload the file once at the start of your workflow, then reference {{ $json.fileId }} in whichever of those nodes need it — there is no need to repeat the upload.

What credentials do I need to configure?

The node requires an Anthropic credential (type: anthropic), which is your Anthropic API key. The same credential type is shared with the other Claude nodes in BusyBot, so if you have already connected an Anthropic account for Claude Chat or Vision, you can select the same credential here.

What kinds of files can I upload, and where does the binary data come from?

The node reads binary data from the incoming workflow item, so any file that a preceding node provides as binary — images, PDFs, documents — can be uploaded. The file is sent to Anthropic as multipart/form-data. The MIME type and filename are taken from the binary data itself; you do not set them manually in this node.

Build with the Claude File Upload node

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Anthropic credentials first.

Open BusyBot

Last updated . Spotted something wrong? Tell us.