A ComfyUI custom node that saves generated images directly to Eagle with automatically extracted metadata — checkpoint, LoRAs, prompt, seed, sampler settings — attached as tags and annotations.
- Auto-tagging — Reads the ComfyUI workflow graph and generates Eagle tags: checkpoint name, LoRA names, prompt tokens, seed, steps, CFG, sampler. When a workflow uses different models for different sampler steps, each model is tagged independently.
- Auto-annotation — Writes a structured generation info block to the Eagle annotation field; supports multi-sampler workflows (e.g. hires.fix, ADetailer). Each sampler step shows its own
Checkpoint:line. - PNG / WebP / JPEG — Choose your output format; quality/compression settings hide automatically when not applicable
- Dynamic folder assignment — Route images into Eagle folders using date and node-parameter placeholders (e.g.
Portraits/%date:yyyy-MM-dd%) - Local save — Optionally save a copy to a local directory at the same time
Install comfyui-auto-tagger in Eagle to read the embedded metadata and display full generation info inside Eagle. Eagle Metadata Bridge embeds an eagle_bridge signal in each saved image; the companion plugin uses this signal to reliably trace the workflow graph and extract accurate metadata.
- Eagle desktop app running (version 4.0+ recommended)
- ComfyUI
Search for Eagle Metadata Bridge in the ComfyUI-Manager custom node list and click Install.
cd ComfyUI/custom_nodes
git clone https://github.com/NNNebel/eagle-metadata-bridge.git
cd eagle-metadata-bridge
pip install -r requirements.txtRestart ComfyUI after installation.
Add the Eagle Metadata Bridge node (category: Eagle) as the final output node in your workflow instead of — or alongside — Save Image.
Connect your image tensor to images and queue the prompt. The node will:
- Save the image with embedded metadata
- Send it to Eagle with auto-generated tags and annotation
| Parameter | Description |
|---|---|
images |
Image tensor from your pipeline |
filename_prefix |
Filename prefix. Supports placeholders: %date:hhmmss%, %NodeTitle.param% |
eagle_folder_path |
Nested Eagle folder path (auto-created if missing). Supports placeholders. Example: Characters/%date:yyyy-MM-dd% |
tags |
Manual tags to add (comma-separated). Combined with auto-generated tags |
format |
Output format: PNG, WebP, or JPEG |
compress_level |
PNG compression level 0–9 (visible only when format = PNG) |
quality |
WebP/JPEG quality 1–100 (visible only when format = WebP or JPEG) |
preview |
Show image preview in the ComfyUI queue |
local_save_path |
Also save to this local directory. Relative paths use the ComfyUI output folder as base. Supports placeholders |
| Placeholder | Example output |
|---|---|
%date:yyyy-MM-dd% |
2026-04-24 |
%date:hhmmss% |
153012 |
%NodeTitle.param% |
value of param input on a node titled NodeTitle |
| Node | Description |
|---|---|
| Eagle Metadata Bridge | Main node. Reads config.json for output settings; defaults to all fields enabled. |
| Eagle Metadata Bridge (Test) | Has 18 individual ON/OFF toggles for every tag and annotation field. Ignores config.json — useful for trying settings before committing them to the file. |
config.json lives next to the node files in custom_nodes/eagle-metadata-bridge/.
Edit it to control which fields appear in Eagle tags and annotations. ComfyUI does not need to be restarted — the file is read on every execution.
{
"eagle_port": 41595,
"tag": {
"checkpoint": true,
"lora": true,
"positive": true,
"negative": true,
"seed": true,
"steps": true,
"cfg": true,
"sampler": true,
"scheduler": true
},
"annotation": {
"checkpoint": true,
"lora": true,
"positive": true,
"negative": true,
"seed": true,
"steps": true,
"cfg": true,
"sampler": true,
"scheduler": true
}
}Set any field to false to exclude it. Omitted fields default to true.
If the file contains invalid JSON or unrecognised keys, an error is printed in the ComfyUI log and the affected section falls back to all-enabled.
| Field | Tag added to Eagle |
|---|---|
checkpoint |
Model name — e.g. mymodel_v1 |
lora |
LoRA name — e.g. mylora |
positive |
Words and phrases from the positive prompt — e.g. 1girl, masterpiece |
negative |
Words and phrases from the negative prompt, prefixed with neg: — e.g. neg:worst quality |
seed |
seed:12345 |
steps |
steps:20 |
cfg |
cfg:7.50 |
sampler |
sampler:euler |
scheduler |
scheduler:simple |
steps, cfg, sampler, and scheduler appear together on one line: Steps: 30 | CFG: 8.0 | Sampler: euler | Scheduler: simple. Disabling all four removes that line entirely.
| Field | Controls |
|---|---|
checkpoint |
Checkpoint: … line |
lora |
LoRA: … line |
seed |
Seed: … line |
steps |
Steps: … value |
cfg |
CFG: … value |
sampler |
Sampler: … value |
scheduler |
Scheduler: … value |
positive |
Positive: … line |
negative |
Negative: … line |
{
"tag": {
"positive": false,
"negative": false,
"seed": false,
"cfg": false
},
"annotation": {
"negative": false
}
}Only checkpoint, lora, steps, sampler, and scheduler tags are generated. The annotation keeps all fields except negative.
examples/sample-workflow.webp contains embedded workflow metadata.
Drag and drop it onto the ComfyUI canvas to load the workflow directly.
The workflow demonstrates:
- Eagle Metadata Bridge as the output node
- ADetailer-style img2img pass (DetailerForEachDebug)
- Automatic tag and annotation generation
MIT — see LICENSE
ComfyUIで生成した画像を Eagle に直接送信するカスタムノードです。チェックポイント・LoRA・プロンプト・シード・サンプラー設定などのメタデータを自動抽出し、Eagleのタグとアノテーションとして付与します。
- 自動タグ付け — ComfyUIのワークフローグラフを解析し、チェックポイント名・LoRA名・プロンプトトークン・Seed・Steps・CFG・サンプラーをEagleタグとして生成。ステップごとに異なるモデルを使うワークフローでは各モデルを独立してタグ付け
- 自動アノテーション — 生成情報をEagleのメモ欄に構造化テキストで書き込み。マルチサンプラーワークフロー(hires.fix、ADetailer等)にも対応。各サンプラーステップにそれぞれの
Checkpoint:行を表示 - PNG / WebP / JPEG — 出力フォーマットを選択可能。不要な設定項目(品質・圧縮レベル)は非選択時に自動で非表示
- 動的フォルダー振り分け — 日付やノードパラメータのプレースホルダーを使ってEagleフォルダーに振り分け(例:
Portraits/%date:yyyy-MM-dd%)。フォルダーが存在しない場合は自動作成 - ローカル保存 — Eagle送信と同時にローカルディレクトリにも保存可能
Eagle側で comfyui-auto-tagger をインストールすると、埋め込まれたメタデータを読み取りEagle内で生成情報をフル表示できます。Eagle Metadata Bridge は保存画像に eagle_bridge シグナルを埋め込み、コンパニオンプラグインがこのシグナルを使ってワークフローグラフを確実にトレースします。
- Eagle デスクトップアプリ(バージョン 4.0 以上推奨)
- ComfyUI
ComfyUI-Manager のカスタムノード一覧で Eagle Metadata Bridge を検索してインストール。
cd ComfyUI/custom_nodes
git clone https://github.com/NNNebel/eagle-metadata-bridge.git
cd eagle-metadata-bridge
pip install -r requirements.txtインストール後、ComfyUIを再起動してください。
ワークフローの最終出力ノードとして Eagle Metadata Bridge ノード(カテゴリ: Eagle)を追加し、Save Image の代わりに(または並行して)使用します。
images に画像テンソルを接続してプロンプトを実行すると:
- メタデータを埋め込んだ画像を保存
- 自動生成したタグとアノテーションをつけてEagleに送信
| パラメーター | 説明 |
|---|---|
images |
パイプラインからの画像テンソル |
filename_prefix |
ファイル名プレフィックス。プレースホルダー使用可: %date:hhmmss%、%NodeTitle.param% |
eagle_folder_path |
Eagleフォルダーのパス(存在しない場合は自動作成)。プレースホルダー使用可。例: Characters/%date:yyyy-MM-dd% |
tags |
手動タグ(カンマ区切り)。自動生成タグと結合されます |
format |
出力フォーマット: PNG、WebP、JPEG |
compress_level |
PNG圧縮レベル 0〜9(PNG選択時のみ表示) |
quality |
WebP/JPEG品質 1〜100(WebP/JPEG選択時のみ表示) |
preview |
ComfyUIキューでプレビューを表示 |
local_save_path |
ローカル保存先ディレクトリ。相対パスはComfyUI outputフォルダー基準。プレースホルダー使用可 |
| プレースホルダー | 出力例 |
|---|---|
%date:yyyy-MM-dd% |
2026-04-24 |
%date:hhmmss% |
153012 |
%NodeTitle.param% |
NodeTitle というノードの param 入力値 |
| ノード | 説明 |
|---|---|
| Eagle Metadata Bridge | メインノード。出力設定は config.json を参照。未設定の場合は全フィールドを出力。 |
| Eagle Metadata Bridge (Test) | タグ・アノテーションの各フィールドを個別にON/OFFできるノード。config.json を無視するので、設定をファイルに書き込む前に動作を試すのに使う。 |
config.json はノードファイルと同じ custom_nodes/eagle-metadata-bridge/ フォルダーにあります。
Eagleに送るタグとアノテーションに含めるフィールドをここで制御します。変更はComfyUIの再起動不要で、実行のたびに読み込まれます。
{
"eagle_port": 41595,
"tag": {
"checkpoint": true,
"lora": true,
"positive": true,
"negative": true,
"seed": true,
"steps": true,
"cfg": true,
"sampler": true,
"scheduler": true
},
"annotation": {
"checkpoint": true,
"lora": true,
"positive": true,
"negative": true,
"seed": true,
"steps": true,
"cfg": true,
"sampler": true,
"scheduler": true
}
}false にしたフィールドはタグ・アノテーションから除外されます。省略したフィールドは true 扱いです。
JSONが不正な場合や不明なキーが含まれる場合は、ComfyUIのログにエラーが表示され、該当セクションは全フィールド有効にフォールバックします。
| フィールド | Eagleに付与されるタグ |
|---|---|
checkpoint |
モデル名 — 例: mymodel_v1 |
lora |
LoRA名 — 例: mylora |
positive |
ポジティブプロンプトの単語・フレーズ — 例: 1girl、masterpiece |
negative |
ネガティブプロンプトの単語・フレーズ(neg: 付き)— 例: neg:worst quality |
seed |
seed:12345 |
steps |
steps:20 |
cfg |
cfg:7.50 |
sampler |
sampler:euler |
scheduler |
scheduler:simple |
steps・cfg・sampler・scheduler は Steps: 30 | CFG: 8.0 | Sampler: euler | Scheduler: simple のように1行にまとめて表示されます。4つすべてを false にするとその行ごと消えます。
| フィールド | 制御対象 |
|---|---|
checkpoint |
Checkpoint: … の行 |
lora |
LoRA: … の行 |
seed |
Seed: … の行 |
steps |
Steps: … の値 |
cfg |
CFG: … の値 |
sampler |
Sampler: … の値 |
scheduler |
Scheduler: … の値 |
positive |
Positive: … の行 |
negative |
Negative: … の行 |
{
"tag": {
"positive": false,
"negative": false,
"seed": false,
"cfg": false
},
"annotation": {
"negative": false
}
}checkpoint・lora・steps・sampler・scheduler のタグのみ生成されます。アノテーションは negative 以外のすべてのフィールドを出力します。
examples/sample-workflow.webp にワークフローメタデータが埋め込まれています。
ComfyUIキャンバスにドラッグ&ドロップするとワークフローを直接読み込めます。
収録内容:
- Eagle Metadata Bridge を出力ノードとして使用
- ADetailer スタイルのimg2imgパス(DetailerForEachDebug)
- タグ・アノテーションの自動生成
MIT — LICENSE を参照
