Nodes/ComfyUI-UtilsCollection/Text Encode with Z-Image System Prompt (Legacy)
ComfyUI Node

Text Encode with Z-Image System Prompt (Legacy)

The Z-Image encoder with a proper system prompt slot

By silveroxides·Created 2 months ago·Updated about 7 hours ago· 24
Text Encode with Z-Image System Prompt (Legacy)
  • clip
  • CONDITIONING
prompt
system_prompt

Z-Image is the 6B Alibaba model that gave 12GB GPUs near-Flux results, and like every serious 2026 checkpoint it encodes through a language model. That means it wants a chat template - and, more usefully, it has a system slot that most people never touch because Core's plain Z-Image encode doesn't expose one. This node exists to fix exactly that: TextEncodeZITSystemPrompt ("Text Encode with Z-Image System Prompt (Legacy)") gives you a system_prompt field wired into the Z-Image template, plus your prompt, and returns one CONDITIONING.

The schema is refreshingly small. clip, prompt, system_prompt, out comes CONDITIONING. No image sockets, no resolution dials, no VAE stack - this is the "text-only, correctly formatted" member of the Z-Image family. (The (Legacy) tag means it's a compatibility alias for the canonical UC_TextEncodeZITSystemPrompt; behavior is identical, and accepting ComfyUI's replacement prompt is fine.)

Why the system slot matters

On an LLM-format encoder, text in the system slot gets treated as standing instructions, and text in the user slot gets treated as the current job. Z-Image renders better when that split is respected. A typical split:

  • system_prompt - framing that should hold for the whole session: "You are an expert concept artist. Prioritize lighting, texture, and spatial relationships. Output a detailed scene description."
  • prompt - the actual subject: "a red fox crossing a snowy ridge at dusk."

The model reads the system text as context for how to handle the user text, and the results are noticeably more obedient than a single undifferentiated string. This mirrors what the pack's general TextEncodeSystemPrompt does across five model families - this node just pre-selects the Z-Image template so there's one less thing to get wrong.

If you want Z-Image's thinking block too, the sibling TextEncodeZImageThinkPrompt node covers that, and TextEncodeSystemPrompt with model_type: z-image-thinking gives you both slots in one place. This node is the minimal version for when all you need is a system prompt and a prompt.

Install

Via ComfyUI Manager (search ComfyUI-UtilsCollection) or:

cd ComfyUI/custom_nodes
git clone https://github.com/silveroxides/ComfyUI-UtilsCollection

Restart ComfyUI. Deps are opencv-python and typing-extensions; no model downloads for the node.

When you'd reach for it

When you're on Z-Image, want a persistent style/framing instruction that doesn't get diluted by per-image subject text, and don't want to hand-roll the chat template. Keep the system prompt stable across a whole batch of generations and vary only the prompt - that's the workflow this node was made for.

Categoryadvanced/conditioning

Inputs (3)

NameTypeDefaultDescription
clipCLIP
promptSTRING
system_promptSTRING

Outputs (1)

NameTypeDescription
CONDITIONINGCONDITIONING