Files
shootthesound-ComfyUI-Angelo/pyproject.toml
T
shootthesound 48df2240d3 feat: gen bundle — generate with one model, edit with another (2.6.0)
The Angelo — Overrides node now carries an optional second model stack
(gen_model / gen_positive / gen_negative / gen_vae connection inputs
plus gen_steps / gen_cfg / gen_sampler_name / gen_scheduler settings).
When wired, Sampler Mode generates the base with the gen stack, decodes
with the gen VAE, and re-encodes the pixels with the main edit VAE so
the whole editing session runs on the edit model — generate with FLUX
Krea / SDXL for the look, click-to-edit with Klein / Qwen-Image-Edit.

Behaviour:
- Edit Mode never reads the gen bundle; unwired = byte-identical to 2.5
- Seed + Smpl Denoise stay on the toolbar (seed controls keep working;
  denoise < 1.0 = img2img with the gen model, incl. off a loaded image)
- gen_negative optional: falls back to a zeroed gen_positive
  (ConditioningZeroOut maths)
- Preview/history pixels are the gen VAE decode (not the edit-VAE
  round-trip); base pixels cropped to /16 for any edit VAE ratio
- Cached-base / loaded-image Sampler runs derive the gen latent by
  encoding the base pixels with the gen VAE
- guider/sampler/sigmas trio deliberately not applied to the gen model
  (a wired GUIDER wraps the edit model's conds)

Hardening from the bug-check pass (2 inline + 3 agent-review findings):
- gen widgets live in optional inputs, not required: ComfyUI validates
  required inputs server-side BEFORE Python defaults apply, which would
  have rejected every pre-2.6 API-format export of the Overrides node
- explicit None checks in overrides parsing (gen_cfg 0.0 is falsy and
  an `or` fallback silently sampled at the default)
- partial gen-bundle wiring (any subset incl. gen_negative-only) raises
  a clear ValueError in Sampler Mode instead of silently falling back
- wired-latent guard: wrong-channel latents raise a clear not-in-the-
  gen-model's-latent-space error; 5D video latents into a 4D gen model
  get their singleton frame axis squeezed instead of crashing deep in
  the UNet
- console prints the gen resolution each run (an empty latent authored
  for a 16x edit VAE silently means half-size through an 8x gen VAE —
  undetectable from the latent alone, so make it visible)

Fingerprint stays edit-model-fixed so Edit Mode never spuriously
resets; _STATE untouched until the whole gen chain succeeds
(cancel/OOM safe).

Also: example_workflows/Krea_plus_Klein-workflow.json (FLUX Krea 2 +
turbo LoRA at 1504x1504 through the Wan 2.1 VAE, Klein 9B editing) and
full README coverage (Quick start section, Overrides wiring rules,
Krea 2 + Wan 2.1 VAE pairing note).
2026-07-07 16:15:55 +01:00

16 lines
1.1 KiB
TOML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[project]
name = "comfyui-angelo"
version = "2.6.0"
description = "Click-to-edit sampler for ComfyUI. Generate an image, then work it like a photo editor — click or paint to refine, drag or describe to inpaint, click an edge to outpaint, paint over something to remove it and rebuild the background, and one-click restore or upscale a whole photo. First-class support for FLUX 2 Klein 9B and Qwen-Image-Edit, plus any sampler-compatible model. Includes two-model workflows (generate with FLUX Krea / SDXL, edit with Klein or Qwen via the Overrides gen bundle), a Remove brush, Fullscreen editing mode, Quick Photo Refine, 2× Pixel + Shrink resizing, Outpaint, Reference anchoring, Xtra-Fine, Smart Inpaint, Fix All, Vary ×4, optional SAM 3 Detect, and a companion Overrides node for custom samplers."
license = { text = "MIT" }
readme = "README.md"
requires-python = ">=3.9"
[project.urls]
Repository = "https://github.com/shootthesound/ComfyUI-Angelo"
[tool.comfy]
PublisherId = "shootthesound"
DisplayName = "ComfyUI-Angelo"
Icon = "https://avatars.githubusercontent.com/u/110498357?v=4"