https://github.com/nkchocoai/ComfyUI-SaveImageWithMetaData
Custom node for ComfyUI. Add a node to save images with metadata (PNGInfo) extracted from the input values of each node.
https://github.com/nkchocoai/ComfyUI-SaveImageWithMetaData
Last synced: 4 months ago
JSON representation
Custom node for ComfyUI. Add a node to save images with metadata (PNGInfo) extracted from the input values of each node.
- Host: GitHub
- URL: https://github.com/nkchocoai/ComfyUI-SaveImageWithMetaData
- Owner: nkchocoai
- License: gpl-3.0
- Created: 2024-02-17T16:16:22.000Z (almost 2 years ago)
- Default Branch: master
- Last Pushed: 2024-12-15T14:00:09.000Z (about 1 year ago)
- Last Synced: 2024-12-15T15:17:34.706Z (about 1 year ago)
- Language: Python
- Size: 5.78 MB
- Stars: 36
- Watchers: 1
- Forks: 11
- Open Issues: 16
-
Metadata Files:
- Readme: README.jp.md
- License: LICENSE
Awesome Lists containing this project
- awesome-comfyui - **ComfyUI-SaveImageWithMetaData**
- awesome-comfyui - **ComfyUI-SaveImageWithMetaData**
README
# ComfyUI-SaveImageWithMetaData

- [ComfyUI](https://github.com/comfyanonymous/ComfyUI)用のカスタムノードです。
- 各ノードの入力値から取得したメタデータ(PNGInfo)つきの画像を保存するノードを追加します。
- 動的に値を取得するため、色々な拡張機能のノードで出力された値をメタデータに追加することができます。
## インストール手順
```
cd /custom_nodes
git clone https://github.com/nkchocoai/ComfyUI-SaveImageWithMetaData.git
```
## 追加されるノード
### Save Image With Metadata
- 入力として受け取った `images` をメタデータ(PNGInfo)つきの画像として保存します。
- メタデータは `sampler_selection_method` で見つけたKSamplerノードの入力と以前に実行されたノードの入力から取得します。
- 対象となるKSamplerノードは[py/defs/samplers.py](py/defs/samplers.py)と[py/defs/ext/](py/defs/ext/)配下のファイルの`SAMPLERS`のキーです。
#### filename_prefix
- `filename_prefix` で指定した文字列(Key)は取得した情報に置換されます。
| Key | 置換先の情報 |
| --------------------- | -------------------------- |
| %seed% | シード値 |
| %width% | 画像の幅 |
| %height% | 画像の高さ |
| %pprompt% | Positive Prompt |
| %pprompt:<文字数n>% | Positive Promptの先頭n文字 |
| %nprompt% | Negative Prompt |
| %nprompt:<文字数n>% | Negative Promptの先頭n文字 |
| %model% | Checkpoint名 |
| %model:<文字数n>% | Checkpoint名の先頭n文字 |
| %date% | 生成日時(yyyyMMddhhmmss) |
| %date:<フォーマット>% | 生成日時 |
- `%date:<フォーマット>%` の `<フォーマット>` で指定する識別子は以下の表を参照ください。
| 識別子 | 説明 |
| ------ | ---- |
| yyyy | 年 |
| MM | 月 |
| dd | 日 |
| hh | 時 |
| mm | 分 |
| ss | 秒 |
#### sampler_selection_method
- このノードよりも前に実行されたKSamplerノードを選ぶ方法を指定します。
##### Farthest
- このノードに最も遠いKSamplerノードを選びます。
- 例: [everywhere_prompt_utilities.png](examples/everywhere_prompt_utilities.png) において、上段のKSamplerノード(seed=12345)を選びます。
##### Nearest
- このノードに最も近いKSamplerノードを選びます。
- 例: [everywhere_prompt_utilities.png](examples/everywhere_prompt_utilities.png) において、下段のKSamplerノード(seed=67890)を選びます。
##### By node ID
- ノードIDが `sampler_selection_node_id` であるKSamplerノードを選びます。
### Create Extra MetaData
- 保存する画像に追加するメタデータを指定します。
- 例: [extra_metadata.png](examples/extra_metadata.png)。
## 付与されるメタデータ
- Positive prompt
- Negative prompt
- Steps
- Sampler
- CFG Scale
- Seed
- Clip skip
- Size
- Model
- Model hash
- VAE
- KSamplerノードではなくSaveImageWithMetadataノードの入力から参照されます。
- VAE hash
- KSamplerノードではなくSaveImageWithMetadataノードの入力から参照されます。
- Loras
- Model name
- Model hash
- Strength model
- Strength clip
- Embeddings
- Name
- Hash
- batch size >= 2の場合 :
- Batch index
- Batch size
- Hashes
- Model, Loras, Embeddings
- [Civitai](https://civitai.com/)用
## 対応しているノード・拡張機能
- 対応しているノードは以下のファイルをご確認ください。
- [py/defs/captures.py](py/defs/captures.py)
- [py/defs/samplers.py](py/defs/samplers.py)
- 対応している拡張機能は以下のディレクトリをご確認ください。
- [py/defs/ext/](py/defs/ext/)