Nodes/ComfyUI-LumaAI-API/ConcatReferences
ComfyUI Node

ConcatReferences

Bundle up to four image references into one subject reference

By lumalabs·Created 2 years ago·Updated about a year ago· 213
ConcatReferences
  • reference_1
  • reference_2
  • reference_3
  • reference_4
  • concat_references

ConcatReferences exists because one reference image is usually not enough. If you want a subject - a character, an object, a thing - to show up reliably in Luma's Photon generations, a single image only captures one angle, one lighting, one pose. This node takes up to four REFERENCE objects and bundles them into a single CONCAT_REFERENCES output, which you then feed into LumaImageGeneration's image_ref input. It's the subject-reference path of the pack, as opposed to the single-image style_ref path.

The mechanism is dead simple: it collects whatever references you've wired in (all four inputs are optional, so you can use two or three) and raises "You must provide at least one reference" if you give it none. It doesn't fetch or process any images - it just groups the {url, weight} objects into a list for the API. The thought behind it is exactly the multi-view reference idea from character-consistency practice: more views of the same subject give the model enough signal to keep that subject recognizably itself instead of inventing a lookalike.

How to wire it

  • Feed Reference nodes into reference_1 through reference_4. The standard pattern from the img_ref.json example workflow is LoadImage → ImgBBUpload → Reference repeated per image, all funneling into ConcatReferences.
  • The single concat_references output goes into LumaImageGeneration's image_ref.
  • Keep each Reference's weight reasonable (0.3–0.8); four images at weight 1.0 will flatten your prompt entirely.

Where it fits

The pack distinguishes three reference kinds, and it's worth not mixing them up:

  • style_ref - one Reference, transfers the look.
  • image_ref - ConcatReferences, transfers the subject from multiple views.
  • character_ref - CharacterReference (a separate node), transfers a specific character identity from up to four URLs.

If you're trying to keep a character consistent across generations, the character_ref path is the dedicated tool; ConcatReferences is more for "this object/product/scene from several angles." Use the one that matches your actual goal - the API treats them as distinct conditions.

Installing

Pack standard: ComfyUI Manager → search "ComfyUI-LumaAI-API", or clone into ComfyUI/custom_nodes and pip install -r requirements.txt. Light dependencies, no networking in this node itself, no API key here (that's the LumaAIClient's job upstream).

Common issues

  • "You must provide at least one reference" - all four inputs are empty. Either you haven't wired any Reference nodes in, or you've connected the wrong output (the REFERENCE type from Reference, not a raw string URL).
  • Subject still drifts between runs - more consistent views in (that's what the four slots are for) and mind the weights. One strongly weighted reference usually beats four weak ones.
  • No visible effect - double-check you plugged the concat_references output into image_ref, not style_ref. Wrong port, wrong behavior.

It's a plumbing node - no widgets, no settings, just grouping - but it's the difference between "the model vaguely remembers the vibe" and "the model actually knows what this thing looks like."

CategoryLumaAI/Photon

Inputs (4)

NameTypeDefaultDescription
reference_1optREFERENCE
reference_2optREFERENCE
reference_3optREFERENCE
reference_4optREFERENCE

Outputs (1)

NameTypeDescription
concat_referencesCONCAT_REFERENCES