The preview only exposed the decode-path (lm_head) refusals of abliterated
models and didn't reflect the conditioning (hidden-state) path, so it was
misleading. Encoder + Krea2 System Prompt nodes unchanged.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- New Krea2VLMPreview node: runs the Qwen3-VL encoder generatively on the
same image+prompt the encoder feeds, outputs the decoded text (proxy for
what the VLM sees). Shares image/template prep with the encoder.
- TextEncodeKrea2: remove the vlm_prompt STRING output (back to a single
conditioning output); print_prompt console toggle retained.
- web JS: auto-growing image/mask pairs now also apply to the preview node.
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>