Nodes/ComfyUI_agilly1989_motorway/PhotoMakerEncode_motorway_edition
ComfyUI Node

PhotoMakerEncode_motorway_edition

PhotoMaker encoding, bus-fed — same face, no LoRA, no wires

By agilly1989·Created 2 years ago·Updated about a year ago· 7
PhotoMakerEncode_motorway_edition
  • MOTORWAY 🚌💨
  • MOTORWAY 🚌💨
INPUT_photomaker_keyphotomaker
INPUT_image_keyimage
INPUT_clip_keyclip
textphotograph of photomaker
OUTPUT_CONDITIONING_keyCONDITIONING

PhotoMaker is the "same face across images" trick that needs no training. You feed it a few reference photos, type a prompt, and the person in your renders stays recognizably the same person - the classic identity-preservation use case that most people reach for a LoRA or an IP-Adapter for. PhotoMaker's approach is to stack reference images and encode them together with the text into the conditioning itself, so identity rides along with the prompt rather than being patched in from outside. The encode step is exactly what this node does.

This is ComfyUI's experimental (_for_testing) PhotoMaker integration, cloned for the MOTORWAY 🚌💨 bus. Instead of wiring a photo loader straight in, everything arrives by key:

  • INPUT_photomaker_key (default photomaker) - the loaded PhotoMaker model, parked on the bus by PhotoMakerLoader_motorway_edition.
  • INPUT_image_key (default image) - your reference photo(s) as a batch. More than one reference is normal and usually helps.
  • INPUT_clip_key (default clip) - the CLIP model, same one from your checkpoint.
  • text - the prompt, and the default photograph of photomaker is the actual trigger phrase. PhotoMaker's own docs train you to start every prompt with "photograph of photomaker" - keep it, or likeness gets weak fast.

The encoded result is a CONDITIONING, written back to the bus under OUTPUT_CONDITIONING_key (default CONDITIONING). That conditioning plugs into whatever sampler you run downstream, reading the key. Keys are case-sensitive and shared across the whole workflow.

What you still need

The bus carries the data, but it doesn't conjure it. You need the PhotoMaker model file itself in ComfyUI/models/photomaker/ - grab photomaker-v1.bin from the PhotoMaker repo and the loader will see it in its dropdown. And while the pack itself has no dependencies, ComfyUI's PhotoMaker encode does face detection internally, so a working face-detection setup matters. If the node errors at encode time before doing any math, that's the usual first suspect.

Install

The Motorway pack is pure code - no pip requirements, no bundled models:

cd ComfyUI/custom_nodes
git clone https://github.com/agilly1989/ComfyUI_agilly1989_motorway

or install via ComfyUI Manager under the pack title ComfyUI_agilly1989_motorway, then restart.

The fine print

Two honest warnings. The pack is a beta project - the author's README opens with "IF THINGS BREAK ITS BECAUSE I BROKE IT" - and the _motorway_edition clones were produced by an auto-cloner that build 1.1.7 removed. Install the current version and this node may simply not exist in your menu; the stock PhotoMakerEncode in ComfyUI core is the dependable path if that's all you wanted.

Second, bus semantics: KeyError: 'hash_...' doesn't exist in motorway means a key was never stored upstream - check that the loader actually wrote photomaker, that your references landed under image, and that the names match exactly. And before you blame the wrapper, remember PhotoMaker likeness is a moving target on its own: cleaner reference crops and more consistent lighting beat node configuration every time.

Categoryagilly1989 Nodes/Motorway-ed/_for_testing/photomaker

Inputs (6)

NameTypeDefaultDescription
MOTORWAY 🚌💨MOTORWAY 🚌💨
INPUT_photomaker_keySTRINGphotomaker
INPUT_image_keySTRINGimage
INPUT_clip_keySTRINGclip
textSTRINGphotograph of photomaker
OUTPUT_CONDITIONING_keySTRINGCONDITIONING

Outputs (1)

NameTypeDescription
MOTORWAY 🚌💨MOTORWAY 🚌💨