OmniGen2 image_omnigen2_image_edit: optional second reference and three conditioning paths
ComfyUI template image_omnigen2_image_edit saves five optional-second-image nodes in mode 4; note 42 documents Ctrl+B from bypass to normal. ReferenceLatent chains feed DualCFGGuider cond1 and cond2, while negative receives text conditioning directly. Both LoadImage widgets start with the same filename. Preserve slot identities, modes and wiring order; model reference-order semantics and execution are unverified.
The pinned ComfyUI template identifier is image_omnigen2_image_edit (file image_omnigen2_image_edit.json). Two LoadImage nodes and four ReferenceLatent nodes do not establish two distinct enabled references. The saved mode state and the three DualCFGGuider inputs matter.
The optional-second-image set is LoadImage 33, ImageScaleToTotalPixels 34, VAEEncode 37 and ReferenceLatent 38/39. All five store mode 4; the other 22 nodes store mode 0. Note 42 says: "Use **Ctrl + B** to switch all nodes in Bypass mode to normal mode to enable the second image input." This documents the source's optional/bypassed setup; no import, UI toggle, compilation or model run was performed here. Verify the intended nodes' actual modes rather than assuming that a visible group or a node count enables a second reference.
The file has three distinct conditioning routes into DualCFGGuider 27:
| Guider port | Saved conditioning chain |
| --- | --- |
| cond1 | Text node 6 -> ReferenceLatent 15 -> ReferenceLatent 38 -> link 70 |
| cond2 | Text node 7 -> ReferenceLatent 29 -> ReferenceLatent 39 -> link 71 |
| negative | Text conditioning from CLIPTextEncode 7 directly -> link 45 |
The first image lane is LoadImage 16 -> Scale 17 -> VAEEncode 14. Its latent reaches both the first-stage reference nodes, 15 and 29, through links 18/42. The optional lane is LoadImage 33 -> Scale 34 -> VAEEncode 37. Its latent reaches second-stage nodes 38 and 39 through 72/73. Those stages are downstream of 15/29 in the conditioning chain, even though the optional stage is saved bypassed. The direct negative port does not pass through any ReferenceLatent. Use these exact port names; describing every reference-conditioned leg as simply "positive versus negative" hides the separate direct route. The algorithmic roles of cond1/cond2/negative require the relevant guider/model implementation; this table does not define them.
This is structural dataflow order. It does not independently prove how ReferenceLatent appends internal metadata, how the model assigns semantic image numbers, whether swapping references changes results, or how bypassed asset validation/lazy evaluation behaves. Node implementations, the actual submitted prompt and model execution were not inspected. No claim is made that an unused input file can safely be omitted.
Both LoadImage 16 and 33 store image_omnigen2_image_edit_input_image.png. No input image bytes were acquired, so the file does not demonstrate two distinct image contents. Before a proposed comparison, record each slot's node ID, actual reference identity/hash and mode, its resize/encoding path and destination conditioning legs, plus the complete prompt and any explicitly documented image-role syntax. Preserve slot occurrences even when names repeat. Do not replace this mapping with an unordered set of filenames or canvas positions.
Also preserve model/encoder/VAE selections, seed policy, resolved output dimensions and environment versions. RandomNoise 21 stores a seed and randomize policy, not an observed queued seed. The linked size inputs and GetImageSize's stored readout do not establish actual current image dimensions. For setup, note 40's storage tree spells ae.safetensor while VAELoader 13 selects ae.safetensors; keep that source discrepancy visible and inspect the loader field rather than copying the tree spelling blindly. No model file was downloaded or renamed here.
This is an unexecuted source-based explanation of the graph at commit 0cc0fba562efe9f68e48050c2b82ed6495050bc2. Saved core 0.3.42 and frontend 1.27.10 labels are not tested minimum-version guarantees. The repository JSON and complete notice are MIT, copyright 2023-present Comfy Org. Model, encoder, VAE, reference-image and output rights remain separate and unverified; no weights, images, outputs, quality, identity-preservation or performance result was produced.
Structured fields
{
"citations": [
{
"url": "https://raw.githubusercontent.com/Comfy-Org/workflow_templates/0cc0fba562efe9f68e48050c2b82ed6495050bc2/templates/image_omnigen2_image_edit.json",
"note": "Exact pinned source; UTF-8 ranges and hashes retained in source pins. Copyright 2023-present Comfy Org; complete repository MIT notice preserved."
},
{
"url": "https://raw.githubusercontent.com/Comfy-Org/workflow_templates/0cc0fba562efe9f68e48050c2b82ed6495050bc2/LICENSE",
"note": "Exact pinned source; UTF-8 ranges and hashes retained in source pins. Copyright 2023-present Comfy Org; complete repository MIT notice preserved."
}
]
}Rights
| component | license | hosting | redistribution | modification | training | Evidence and notes |
|---|---|---|---|---|---|---|
| documentation | unknown | permitted | permitted | permitted | unknown | Original attributed analysis with complete same-commit MIT notice retained; no model, image, output or other component rights generalized. |