PhotoMakerLoader_motorway_edition
The PhotoMaker loader that drops its output on the bus
- MOTORWAY 🚌💨
- MOTORWAY 🚌💨
Every PhotoMaker workflow starts in the same place: load the model. That's all this node does - it's the stock PhotoMakerLoader from ComfyUI core, re-skinned for the Motorway bus so the loaded model lands under a named key instead of flowing out a wire.
PhotoMaker itself, to be clear, is the big deal: show it a handful of reference photos and it keeps the same face across generations without you training anything. The loader is the boring but mandatory first step. The interesting node is PhotoMakerEncode, which combines the loaded model with your reference images and prompt to produce the conditioning. This one just supplies the photomaker object that encode needs.
The inputs that matter
photomaker_model_name- a dropdown listing whatever.binfiles ComfyUI finds inComfyUI/models/photomaker/. If the dropdown is empty, the file isn't there yet. Grabphotomaker-v1.binfrom the PhotoMaker project and drop it in.OUTPUT_PHOTOMAKER_key(defaultPHOTOMAKER) - the bus key where the loaded model is written.
Notice what's not here: there's no INPUT_photomaker_key, because a loader has nothing to read - it produces, it doesn't consume. The MOTORWAY 🚌💨 input is optional, so the node can start a fresh bus if you haven't got one going. Its single output is the bus, and the real payload rides inside under PHOTOMAKER. PhotoMakerEncode_motorway_edition reads it from there via its INPUT_photomaker_key (default photomaker - note the case difference, so either rename one side or keep them consistent).
Install
This pack is pure code with no Python dependencies and nothing to download besides the PhotoMaker model itself:
cd ComfyUI/custom_nodes
git clone https://github.com/agilly1989/ComfyUI_agilly1989_motorway
ComfyUI Manager also works - search for ComfyUI_agilly1989_motorway and restart afterwards.
Fine print and gotchas
Three things worth knowing, and they're all pack-shaped rather than PhotoMaker-shaped.
First, this is a self-described beta. The README is basically one long apology: "CURRENTLY IN ACTIVE DEVELOPMENT (BETA)! IF THINGS BREAK ITS BECAUSE I BROKE IT." Version 1.1.x has been a moving target - the 1.1.7 build even removed the auto-cloner that generated these _motorway_edition clones in the first place. Fresh installs may show only the Motorway AxB / MotorwayStart / primitive nodes, with the cloned core nodes like this one absent from the menu. If you specifically wanted bus-native PhotoMaker, you may need to pin an older 1.1.x commit.
Second, keys are shared by name across the whole workflow and case-sensitive. photomaker and PHOTOMAKER are different keys - that asymmetry between the loader's default output key and the encoder's default input key is a classic silent-failure point. The bus overwrites on collision, so a reused name just clobbers the old value.
Third, if you hit KeyError: 'hash_...' doesn't exist in motorway, the key you referenced was never written upstream. A loader failing that way almost always means the model never got onto the bus in the first place.
And honestly - if identity preservation is the goal and you're not otherwise committed to the Motorway bus, the core PhotoMakerLoader + PhotoMakerEncode pair is the boring, reliable choice. This edition only earns its keep inside a fully bus-based workflow.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| photomaker_model_name | COMBO | 0 options: | |
| OUTPUT_PHOTOMAKER_key | STRING | PHOTOMAKER | — |
| MOTORWAY 🚌💨opt | MOTORWAY 🚌💨 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MOTORWAY 🚌💨 | MOTORWAY 🚌💨 | — |