Skip to content

Report: working on Apple Silicon / MPS — M4 Pro, 48GB (incl. dual masked references + upstream LLM prompt input) #6

Description

@talib79g-cmyk

Not a bug — a validation report, since I couldn't find any Apple Silicon results for this node and thought it might help other Mac users deciding whether to download the bf16 encoder.

Setup

Mac Mini M4 Pro, 48GB unified memory
macOS 27 developer beta
ComfyUI v0.26.2, Python 3.11.14 venv, PyTorch Your ComfyUI-SCAIL venv has PyTorch 2.14.0.dev20260624 — a nightly build from June 24, 2026.
Diffusion model: krea2_turbo bf16 (fp8 diffusion avoided on MPS generally)
Text encoder: qwen3vl_4b_bf16.safetensors (8,875,719,384 bytes) via CLIPLoader type krea2

Confirmed working on MPS

Text-only path (baseline, matched stock CLIP Text Encode output quality)
Single reference image through the vision path
Reference masking (MaskEditor face mask → mask input; scene contamination from the reference photo's background disappeared as documented)
Two reference images (male + female), each with its own face mask — Picture 1/Picture 2 labelling appears in print_prompt as expected, and prompt gender terms mapped correctly to the right reference without explicit Picture numbering
Prompt text supplied via a connected upstream LLM node (stavsap comfyui-ollama) rather than a widget
print_prompt, default system prompt, vision_position=before prompt

Your fp8 error path is accurate — the fp8_scaled encoder is indeed text-only; everything above required the bf16 file.
Memory behaviour (48GB)
With the ~24GB bf16 diffusion model resident, the vision encode step shows transient yellow memory pressure in Activity Monitor (brief yellow also occasionally during sampling), green otherwise, with both one and two references. No slowdown, no errors across many runs.

One user-error trap worth noting for others: since system_prompt is a connectable input sitting next to the prompt input, I initially wired my LLM's output into system_prompt by mistake — print_prompt then shows your text (in the system slot) so it looks connected, but the user section is empty and generations ignore the prompt. print_prompt made the diagnosis easy once I knew to check which section the text was in.
Not yet tested on my side: the Krea2 System Prompt instruct mode and vision_position=after prompt.
Thanks for building this — the masking design in particular works exactly as the README describes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions