Nodes/ComfyUI_Burve_Tools/Burve Gemini Reference Pack
ComfyUI Node

Burve Gemini Reference Pack

Give Gemini's reference images a job title, not just a pile of pictures

By Burve·Created 9 months ago·Updated 5 days ago· 5
Burve Gemini Reference Pack
  • image1
  • image2
  • image3
  • image4
  • image5
  • image6
  • image7
  • image8
  • image9
  • image10
  • image11
  • image12
  • image13
  • image14
  • reference_pack
role1generic
label1
role2generic
label2
role3generic
label3
role4generic
label4
role5generic
label5
role6generic
label6
role7generic
label7
role8generic
label8
role9generic
label9
role10generic
label10
role11generic
label11
role12generic
label12
role13generic
label13
role14generic
label14

The modern Gemini image models take reference images, and the difference between a reference that helps and one that confuses is whether the model knows what the image is for. Burve Gemini Reference Pack is the node that adds that job description. Up to fourteen images, each tagged with a role - generic, object, character, or style - plus an optional label, packed into one GEMINI_REFERENCE_PIPE that plugs into the reference_pack input on the Burve Gemini generation nodes.

Why roles matter: character consistency is the hardest unsolved problem in this space, and the closest thing to a solution with a closed model is giving it a face and telling it "this one is the character." Mark one reference as character and the model treats it as identity to preserve; mark a product shot as object and it keeps the thing looking like the thing. A pile of unlabelled images reads as vague vibes. This is the same instinct behind face-lock and identity-preservation tooling, just expressed as a role dropdown instead of an adapter.

How it works

It's a packer, not a generator. Each of the 14 slots has three optional inputs: imageN (an IMAGE), roleN (default generic), and labelN (free text). Empty image slots are skipped entirely, so you can fill five slots of fourteen and leave the rest alone. The node bundles only the filled ones into the pipe - and importantly, it doesn't enforce the model's reference limits itself. The generator validates the totals against the selected model before the request goes out, so the failure shows up as a clear error at generation time rather than a silent API rejection.

That per-model limit is real and worth knowing. Google's own docs (which the pack author re-verified against Google's public documentation) cap total references at 14, then split by role per model - Gemini 3 Pro Image, for instance, allows up to 6 object, 5 character, and 3 style references in that 14. The node gives you 14 slots; the model decides how many of each it'll actually take. The reference_pack pipe also outranks the older route: reference precedence in the generator is Character Generation Pipe → Gemini Reference Pack → legacy IMAGE_LIST, with a warning added to system_messages if you connect more than one source.

Install

Pack-wide, one time: ComfyUI Manager → search ComfyUI_Burve_Tools → install → restart, or

cd ComfyUI/custom_nodes
git clone https://github.com/Burve/ComfyUI_Burve_Tools.git
cd ComfyUI_Burve_Tools
pip install -r requirements.txt

Dependencies: google-genai (≥2.13, <3), pillow, pillow-heif. No model downloads, no key on this node itself - the generation node downstream needs GEMINI_API_KEY (AI Studio) or a Vertex setup, and ComfyUI 0.4.0+.

Gotchas

  • Roles are per-slot, not per-image-list. Each of the 14 slots carries its own role and label, so an unlabelled slot defaults to generic.
  • Watch the per-role caps on 3 Pro Image. It's easy to throw five character references in and discover the model only takes a subset with your other roles. The generator's error message tells you the exact limit.
  • Your references leave the machine. Like every Gemini input, these images go to Google's servers when you run the generator - and Gemini image models sit behind aggressive filtering. If a reference would trip a refusal, the model refuses; no node in this pack changes that.

It's a small pack, so don't expect a wall of community tutorials - but role-tagged references are exactly the kind of feature that looks trivial and quietly becomes the backbone of a repeatable character workflow.

CategoryBurveTools/Google

Inputs (42)

NameTypeDefaultDescription
image1optIMAGE
role1optCOMBOgeneric4 options: generic, object, character, style
label1optSTRING
image2optIMAGE
role2optCOMBOgeneric4 options: generic, object, character, style
label2optSTRING
image3optIMAGE
role3optCOMBOgeneric4 options: generic, object, character, style
label3optSTRING
image4optIMAGE
role4optCOMBOgeneric4 options: generic, object, character, style
label4optSTRING
image5optIMAGE
role5optCOMBOgeneric4 options: generic, object, character, style
label5optSTRING
image6optIMAGE
role6optCOMBOgeneric4 options: generic, object, character, style
label6optSTRING
image7optIMAGE
role7optCOMBOgeneric4 options: generic, object, character, style
label7optSTRING
image8optIMAGE
role8optCOMBOgeneric4 options: generic, object, character, style
label8optSTRING
image9optIMAGE
role9optCOMBOgeneric4 options: generic, object, character, style
label9optSTRING
image10optIMAGE
role10optCOMBOgeneric4 options: generic, object, character, style
label10optSTRING
image11optIMAGE
role11optCOMBOgeneric4 options: generic, object, character, style
label11optSTRING
image12optIMAGE
role12optCOMBOgeneric4 options: generic, object, character, style
label12optSTRING
image13optIMAGE
role13optCOMBOgeneric4 options: generic, object, character, style
label13optSTRING
image14optIMAGE
role14optCOMBOgeneric4 options: generic, object, character, style
label14optSTRING

Outputs (1)

NameTypeDescription
reference_packGEMINI_REFERENCE_PIPE