Custom nodes for ComfyUI that integrate with Immich — the self-hosted photo management platform.
- Save to Immich — Upload generated images directly to your Immich server
- Full workflow and prompt metadata embedded in PNG (drag-drop back into ComfyUI to reproduce)
- Optional album assignment and description tagging on upload
- Per-image error handling — one failure doesn't crash the batch
- Zero extra dependencies — uses only packages already in ComfyUI (PIL, numpy, torch)
Clone into your ComfyUI custom_nodes directory:
cd /path/to/ComfyUI/custom_nodes
git clone https://github.com/ericmey/comfyui-immich.gitRestart ComfyUI. The node will appear under image/immich in the node menu.
Create a .env file in the node directory with your Immich credentials:
cd custom_nodes/comfyui-immich
cp .env.example .envEdit .env:
IMMICH_URL=https://your-immich-instance.com
IMMICH_API_KEY=your-api-key-hereThe .env file is gitignored and persists across git pull updates.
- Open your Immich instance in a browser
- Go to User Settings (click your avatar → Account Settings)
- Scroll to API Keys → New API Key
- Give it a name (e.g., "ComfyUI") and create
- Copy the key into your
.envfile
Category: image/immich
An output node that uploads images to Immich at the end of a workflow.
| Input | Type | Required | Default | Description |
|---|---|---|---|---|
| images | IMAGE | Yes | — | Image tensor from the pipeline |
| description | STRING | No | "" |
Description visible in Immich UI |
| album_id | STRING | No | "" |
Immich album UUID to add the image to |
| filename_prefix | STRING | No | "ComfyUI" |
Prefix for the uploaded filename |
Hidden Inputs (automatic)
| Input | Description |
|---|---|
| prompt | Full node/prompt data — embedded in PNG metadata |
| extra_pnginfo | Workflow JSON — embedded in PNG metadata |
Each uploaded image includes:
- PNG metadata: Full ComfyUI workflow + prompt data (same format as the built-in SaveImage node). You can drag the image back into ComfyUI to load the exact workflow that created it.
- Immich description: Whatever you put in the
descriptionfield, visible in the Immich web UI. - Album placement: If
album_idis provided, the image is added to that album immediately after upload.
Wire it as a terminal node — connect the image output from your VAE Decode, Detailer, or any image-producing node:
KSampler → VAE Decode → Save to Immich
It can be used alongside or instead of the built-in SaveImage node.
cd /path/to/ComfyUI/custom_nodes/comfyui-immich
git pullYour .env file is preserved — it's in .gitignore.
MIT