Choose whether image (vision) tokens go before or after the manual prompt
in the user turn. Default 'before prompt' keeps current behavior.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Scrap the gray-fade vision strength control. mask_padding and the
downscale-only vision cap are unaffected.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Fade each reference toward neutral gray before the encoder (Qwen3-VL
normalizes mean/std 0.5, so gray ~= zero vision signal). 1.0 = full,
0.0 = effectively text-only. README updated.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- mask_padding: grow the mask crop box by a fraction of image size per side
for surrounding context (0 = tight crop, default)
- vision resize is now downscale-only (a small mask crop keeps native size
instead of being magnified to the megapixel target)
- README: document mask_padding and the megapixel cap
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- pyproject.toml: registry metadata (publisher ethanfel, no extra deps)
- .github/workflows/publish.yml: Comfy-Org/publish-node-action on pyproject
changes (mirrors existing node repos; uses REGISTRY_ACCESS_TOKEN secret)
- LICENSE: MIT
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- assets/logo.svg + logo.png: K2 app-icon mark
- assets/social.svg + social.png (+@2x): GitHub social banner styled as a
ComfyUI node (clip/image/mask -> cond)
- README: show banner at top
- web JS: backfill a maskN for any imageN missing one, so image1 always pairs
with mask1 even on stale/legacy nodes
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Vision-aware text conditioning for the Krea2/K2 model (Qwen3-VL-4B text
encoder). Forces the Krea2 descriptor template even with images, omits the
no-op VAE input (Krea2 has no reference-latent pathway), and accepts an
unbounded, auto-growing set of image+mask reference pairs. Optional per-image
mask crops the image to the masked bounding box before the vision encoder.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>