Nodes/ComfyUI/PhotoMaker Encode
ComfyUI Node Runs on cloud

PhotoMaker Encode

Put a real face into SD1.5/SDXL prompts without training a LoRA

By Comfy-Org·Created 4 years ago·Updated about an hour ago· 129,820
PhotoMaker Encode
  • photomaker
  • image
  • clip
  • CONDITIONING
textphotograph of photomaker

PhotoMakerEncode is the node that lets you type a person's face into your prompt - literally. PhotoMaker is Tencent's identity-preservation technique from 2023: give it one photo (or several) of a face, and it folds that identity into the text conditioning so the SD1.5 or SDXL checkpoint you're using draws that person without any training. This node is the ComfyUI front-end for the PhotoMaker ID encoder.

If you've compared it to an IP-Adapter: PhotoMaker is the older, simpler sibling. It's not as strong as the IP-Adapter/FaceID line at keeping identity under heavy prompt pressure, and it only really plays with SD1.5 and SDXL architectures, which is exactly why it's a bit of a relic by 2026. But for a quick "same person, different outfits and poses" run on an SDXL checkpoint, it's one node, one model file, no training.

How it works

The clever bit is how it reads your prompt. The node tokenizes your text and looks for the literal word photomaker. That token gets replaced by the image-conditioning hook: the reference image is preprocessed, the ID encoder turns it into embeddings, and those are spliced into the CLIP tokens at the position where the word was. So the default prompt - photograph of photomaker - reads as "a photograph of [this face]." Move the word around to control where identity lands ("photomaker as a knight" vs "a knight, photomaker"), and if the word is missing entirely, the node quietly falls back to a plain text encode.

Inputs and output

  • photomaker - the ID encoder model, from the "Load PhotoMaker Model" node (files in ComfyUI's models/photomaker folder).
  • image - the reference face.
  • clip - the SD1.5/SDXL text encoder.
  • text - your prompt, with photomaker as the insertion point (default "photograph of photomaker").

Output is one CONDITIONING.

Where it fits

Ships with ComfyUI core, marked experimental, and it's been around since PhotoMaker itself - old enough that most 2026 workflows have moved on to IP-Adapter Plus or PuLID for faces. Reach for it when you want the lightweight, one-model path on an SD-era checkpoint, or when you're following an old workflow. Model-wise, all you need is the PhotoMaker weights in the right folder.

Common issues

The two classic fails: forgetting the photomaker token in your prompt (identity silently drops out - the node falls back to text-only), and using it with a model that isn't SD1.5/SDXL, where the ID encoder has nothing it understands. Also, one clean, front-facing reference beats three messy ones - PhotoMaker averages the identity across whatever you feed it, so a bad photo drags the average down. And don't expect FaceID-level likeness; it's an SDXL-era tool, and the face will hold better at mid-strength than when your prompt is pushing hard for a different expression or angle.

Categorymodel/conditioning/photomaker

Inputs (4)

NameTypeDefaultDescription
photomakerPHOTOMAKER
imageIMAGE
clipCLIP
textSTRINGphotograph of photomaker

Outputs (1)

NameTypeDescription
CONDITIONINGCONDITIONING