Nodes/ComfyUI-SendToEagle-w-Metadata/Send to Eagle With Metadata
ComfyUI Node

Send to Eagle With Metadata

Save your render, keep the recipe, and file it in Eagle in one node

By watarika·Created 2 years ago·Updated about a month ago· 10
Send to Eagle With Metadata
  • images
  • extra_metadata
  • filepath
  • filepath_count
  • image
file_format
lossless_webptrue
quality95
save_only_no_sendfalse
tag_pattern
custom_tag_pattern
memo
positive
negative

If you generate a lot of images and organize them in Eagle - the paid image manager that's basically a DAM for AI art and reference material - this is the node you've been missing. ComfyUI ships a Save Image node and Eagle has a local API, but nothing in between. This node is the bridge: it saves your render to disk with the full generation recipe embedded as PNGInfo, then files it straight into Eagle. No export, no drag-and-drop, no separate "move files" chore. Run the graph and the image is in Eagle before you've finished glancing at the preview.

How it works

The mechanism is worth understanding because it explains most of the troubleshooting. The pack hooks into node execution and, when this node runs, walks the graph back to the farthest-up KSampler that produced the image. From that sampler's inputs and the nodes executed before it, it assembles the recipe: positive and negative prompt, steps, sampler, CFG scale, seed, clip skip (only if you used a CLIP Set Last Layer node), image size, checkpoint name, every LoRA's name and strengths, embeddings, and batch info. It writes that as a standard parameters text chunk in the PNG - the same convention A1111 used and Civitai reads, so anything that understands PNGInfo understands this image. Then it saves the file and tells Eagle's local server (port 41595 by default) to pull it from ComfyUI's /api/view endpoint. That's why Eagle has to actually be running for sends to work.

Two things the simple node decides for you: sampler names are converted to Civitai notation (dpmpp_2m + karras becomes DPM++ 2M Karras), and model hashes are left out - hashing a multi-gig checkpoint is slow, so the extended node keeps that behind a switch. Filenames are yyyyMMdd-hhmmss_SSSSSS, with a batch index appended when your batch is two or more.

What you set

The only required input is images - wire your VAE Decode straight into it. The settings a beginner actually touches:

  • file_format - png, jpeg, or webp. PNG keeps the workflow embedded, so it's the safe default.
  • tag_pattern - what becomes Eagle tags. Positive prompt, Negative prompt tags every prompt token (negative tags get an n: prefix so they don't collide), or pick Custom and use custom_tag_pattern to decide exactly which metadata lines become tags.
  • memo - free text appended to Eagle's notes field, handy for "this one's for the client" context.
  • save_only_no_send - write to disk but skip Eagle, which is perfect for dry runs.

The optional positive/negative inputs override the workflow-extracted prompts when automatic detection fails or you want to relabel. Outputs are filepath (the full saved paths, as a list), filepath_count (how many), and image - the input passed through untouched so you can keep chaining nodes after it.

Install

Install is the standard dance:

cd <ComfyUI>/custom_nodes
git clone https://github.com/watarika/ComfyUI-SendToEagle-w-Metadata.git

Restart ComfyUI, or install via ComfyUI Manager (search "Send to Eagle"). Only dependency is piexif, and there are no model files to fetch.

Common issues

Where people get burned: nothing arrives in Eagle - the Eagle app must be open, since the node talks to http://localhost:41595 (set EAGLE_SERVER_URL and EAGLE_COMFYUI_URL if Eagle or ComfyUI live on another machine). If Eagle keeps asking for permission, set EAGLE_API_TOKEN from Eagle's Preferences → Developer Settings. JPEG gets saved with a .jpg extension so Eagle doesn't name it .jpeg.jpg. And webp with lossless on may silently drop the embedded workflow - the author's still chasing that one, so use lossy webp or png if you rely on workflow-in-image.

The filename scheme and the destination folder are locked down here by design. The moment you want per-model folders or readable file names, the Extended node in the same pack is the upgrade - same install, all the dials.

CategorySendToEagle

Inputs (11)

NameTypeDefaultDescription
imagesIMAGE
file_formatCOMBO3 options: png, jpeg, webp
lossless_webpBOOLEANtrue
qualityINT951–100
save_only_no_sendBOOLEANfalse
tag_patternCOMBO5 options: None, Positive prompt, Positive prompt, Negative prompt, Memo, Custom
custom_tag_patternSTRING
memooptSTRING
extra_metadataoptEXTRA_METADATA
positiveoptSTRING
negativeoptSTRING

Outputs (3)

NameTypeDescription
filepathSTRING
filepath_countINT
imageIMAGE