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

Send to Eagle With Metadata (Extended)

Send to Eagle, but with a filing system

By watarika·Created 2 years ago·Updated about a month ago· 10
Send to Eagle With Metadata (Extended)
  • images
  • extra_metadata
  • filepath
  • filepath_count
  • image
filename_prefixComfyUI
sampler_selection_method
sampler_selection_node_id0
file_format
lossless_webptrue
quality95
save_workflow_jsonfalse
add_counter_to_filenametrue
civitai_samplertrue
calc_model_hashfalse
save_only_no_sendfalse
send_metadata_as_memotrue
tag_pattern
custom_tag_pattern
eagle_folder
memo
positive
negative

This is the Extended version of the pack's send node: the same save-with-PNGInfo-and-send-to-Eagle core as its little sibling, with the training wheels off. The plain "Send to Eagle With Metadata" node is great when you're fine dumping everything into Eagle's default folder with timestamp filenames. The moment you want per-model folders, hashes you can verify against Civitai, or file names that actually tell you what's inside, this is the one.

How it works

The core works identically - the pack hooks execution, walks the graph to a KSampler, assembles the full recipe (prompt, steps, sampler, CFG, seed, model, LoRAs, embeddings, batch info), writes it as a parameters PNGInfo chunk, saves the file, and hands it to Eagle's local API on port 41595. What differs is that every dial is exposed. The inputs that matter most:

The inputs that matter

  • filename_prefix - the big one. It supports placeholders like %seed%, %model%, %width%, %height%, %date:yyyyMMdd%, and truncated prompt chunks (%pprompt:30 chars%). Want a folder per model with a readable name? Try %model%/%date:yyyyMMdd%_%seed% - the pack creates the subdirectory for you.
  • sampler_selection_method - which KSampler the metadata is read from. Farthest (default) grabs the earliest one, Nearest the closest to this node, and By node ID lets you point at a specific KSampler via sampler_selection_node_id (the number in the node's top-right corner). Essential once a graph has multiple samplers and you want the recipe from the one that actually did the job.
  • eagle_folder - the destination folder in Eagle, by name or Folder ID. If it doesn't exist, the pack creates it. Handy, but watch your spelling - a typo silently makes a junk folder.
  • calc_model_hash - turns on hashing of the checkpoint, VAE, and LoRAs and adds them to the metadata, including the comma-joined Hashes line Civitai uses for verification. It's off by default because hashing multi-gig files is slow.
  • save_workflow_json - writes the workflow JSON next to the image (it does not get sent to Eagle).

Then the rest: add_counter_to_filename, civitai_sampler (the DPM++ 2M Karras-style name conversion), send_metadata_as_memo (mirror the full metadata into Eagle's notes field), save_only_no_send, and tag_pattern/custom_tag_pattern for tags - which can reference any key you defined in the Create Extra Metadata node. Optional inputs memo, extra_metadata, and positive/negative overrides round it out. Outputs are filepath (list), filepath_count, and image passed through.

Working with batches

One genuinely nice feature for batch work: filename_prefix, custom_tag_pattern, eagle_folder, memo, and extra_metadata all accept lists, so each image in a batch can get its own filename or destination. Pass a list shorter than the batch and the rest get empty strings.

Install

Install is the same as the whole pack:

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

Restart ComfyUI, or grab it from ComfyUI Manager (search "Send to Eagle"). Only Python dependency is piexif, no model downloads.

Gotchas

Gotchas worth knowing before they bite. calc_model_hash will make generation feel slower; leave it off unless you actually verify hashes. JPEG is saved with a .jpg extension so Eagle doesn't produce .jpeg.jpg. WebP with lossless on may drop the embedded workflow (the author notes it's under investigation). And the asynchronous sending feature - enabled by setting EAGLE_ASYNC_SEND=1 before starting ComfyUI - moves sends to a background thread so generation doesn't wait on Eagle, but its queue is in-memory only: if ComfyUI dies hard while items are queued, they're gone. It's marked experimental; if sends start going missing, unset it and run synchronous.

If your Eagle workflow has outgrown "dump everything in one folder," this node is the filing system you were going to build anyway.

CategorySendToEagle

Inputs (20)

NameTypeDefaultDescription
imagesIMAGE
filename_prefixSTRINGComfyUI
sampler_selection_methodCOMBO3 options: Farthest, Nearest, By node ID
sampler_selection_node_idINT00–999999999
file_formatCOMBO3 options: png, jpeg, webp
lossless_webpBOOLEANtrue
qualityINT951–100
save_workflow_jsonBOOLEANfalse
add_counter_to_filenameBOOLEANtrue
civitai_samplerBOOLEANtrue
calc_model_hashBOOLEANfalse
save_only_no_sendBOOLEANfalse
send_metadata_as_memoBOOLEANtrue
tag_patternCOMBO5 options: None, Positive prompt, Positive prompt, Negative prompt, Memo, Custom
custom_tag_patternSTRING
eagle_folderSTRING
memooptSTRING
extra_metadataoptEXTRA_METADATA
positiveoptSTRING
negativeoptSTRING

Outputs (3)

NameTypeDescription
filepathSTRING
filepath_countINT
imageIMAGE