Nodes/ComfyUI HTTP - REST API Nodes/HTTP Form Data Concat
ComfyUI Node

HTTP Form Data Concat

When one form isn't big enough, merge two

By wawahuy·Created about a year ago·Updated 11 months ago· 14
HTTP Form Data Concat
  • form_data1
  • form_data2
  • form_data3
  • form_data4
  • form_data5
  • combined_form_data
overwrite_duplicatestrue

The pack's HTTP Form Data container caps out at ten items per node. Ten is a lot for most forms, but when you're building a workflow with a big, composable multipart payload - say, a shared "metadata fields" form plus a per-run "this image and its caption" form - you'll hit the wall. HTTP Form Data Concat is the escape hatch: it merges up to five form_data objects into one and hands back a single combined object.

How it works

One required input, form_data1 - the first (and, if you only need one more chunk, only) form. Four optional inputs, form_data2 through form_data5, all HTTP_FORM_DATA type. It merges the text fields into one data dict and the file fields into one files dict, preserving their split so the final object still works in HTTPPost's form-data mode.

One input actually does most of the work: overwrite_duplicates, default true. When two forms define the same field name, true means "last one wins." With it off, the node renames the collision to fieldname_1, fieldname_2, and so on so nothing is silently lost - useful when you're merging forms that happen to share a key like description but you want both values sent.

One output: combined_form_data (HTTP_FORM_DATA), ready to feed HTTPPost.

Why you'd bother

Composability. Build a reusable "auth tokens + common metadata" form once, concat it with a per-run form that carries the actual payload, and you've got a modular multipart setup instead of one giant node with twenty wires. It's also the workaround for HTTPFormData's ten-item limit, and it's the cleanest way to combine text-only forms (built with HTTP Form Data Item) with file forms (built with HTTP Form File/Image Item) that you assembled separately.

Install

ComfyUI Manager → search "ComfyUI-HTTP" → Install, restart. Manual:

cd ComfyUI/custom_nodes/
git clone https://github.com/wawahuy/ComfyUI-HTTP.git
cd ComfyUI-HTTP
pip install -r requirements.txt

No models, no extra dependencies beyond what the rest of the pack already pulls in.

Where people get burned

Merging doesn't deep-merge - a text field and a file field with the same name land in different buckets (data vs files), so a collision across types won't be caught by overwrite_duplicates. And remember the concat output is still subject to the same "missing file becomes a text error string" behavior that HTTPFormData has: if a file item's path is stale, the merged form will quietly carry the error as a value. Check paths before you merge, not after the API rejects the upload.

CategoryHTTP/Form Data

Inputs (6)

NameTypeDefaultDescription
form_data1HTTP_FORM_DATA
form_data2optHTTP_FORM_DATA
form_data3optHTTP_FORM_DATA
form_data4optHTTP_FORM_DATA
form_data5optHTTP_FORM_DATA
overwrite_duplicatesoptBOOLEANtrue

Outputs (1)

NameTypeDescription
combined_form_dataHTTP_FORM_DATA