Before you start
- Positive prompt: Describe the subject, composition, lighting and visual style. No uploaded image is required.
Start with one image from your own prompt
Open Z-Image Turbo text to image to generate a new image from a description. The starting configuration is 1024 × 1024 pixels, image count 1, eight steps, CFG 1, sampler res_multistep, scheduler simple, denoising fraction 1 and sampling shift 3. The supplied prompt describes a monochrome fashion portrait with a butterfly; it is an editable example, not an executed result.
The named output is Generated images, port output:9. Node 58 supplies decoded IMAGE slot 0 to node 9 (SweetTeaPreviewImage) through images; every decoded image in the batch is returned. The selected terminal is a no-permanent-save image transport, not ComfyUI SaveImage. This does not establish broader service storage or retention behavior.
- Replace Positive prompt with your subject, composition, lighting and style, then run with the starting configuration above.
Look for: Generated images returns the decoded image. No executed example or guaranteed visual result is retained.
Outputs: output:9
Keep the exact paired components available
The fixed loader selections are:
- Node 61,
UNETLoader:unet_name=z_image_turbo_int8_convrot.safetensors, recorded model directorydiffusion_models;weight_dtype=default. - Node 63,
CLIPLoader:clip_name=qwen_3_4b_fp8_mixed.safetensors, recorded directorytext_encoders;type=lumina2,device=default. The class name does not change the selected encoder's identity. - Node 66,
VAELoader:vae_name=ae.safetensors, recorded directoryvae. - Required node pack:
tea-time-labs/sweet-tea-nodes. The graph's output class isSweetTeaPreviewImage.
Preparation marks the Qwen and diffusion-model component identities unresolved: their required filenames are retained, but no linked resource identities, checksums or sizes are supplied. VAE and node-pack resource identities are resolved, without artifact checksums or a pinned node-pack version. Model provider versions are main, not immutable artifact pins. The prerequisite links are not executable recipes.
No scoped GPU capacity, system RAM recommendation, comparable timing, backend or platform qualification is supplied. The graph records comfy-core node metadata versions 0.3.64 and 0.3.73; those are not a tested minimum runtime requirement. Hidden loader schema choices do not make model swapping a supported control of this fixed interface. The INT8 filename and FP8 encoder filename do not establish whole-run precision, memory use or performance.
A required model or output node is unavailable.
The retained path depends on the three fixed loader selections and the Sweet Tea output transport.
Check: All four preparation components are required; two model resource identities remain unresolved.
Match the exact model filenames and recorded directories, and provide the required node pack before changing sampling settings. The pack does not establish immutable artifact checksums or a tested runtime version.
How text becomes the returned image
Text conditioning. Node 63 supplies CLIP slot 0 to node 62's clip. Node 62 (CLIPTextEncode) encodes text, sending CONDITIONING slot 0 to node 59's positive. That same output also feeds node 64's conditioning; node 64 (ConditioningZeroOut) supplies its output to node 59's negative. The retained description identifies this as zeroed negative conditioning. There is no second prompt encoder or editable negative prompt.
Model and schedule. Node 61 supplies MODEL slot 0 to node 60's model. Node 60 (ModelSamplingAuraFlow) applies the sampling-shift configuration and supplies MODEL slot 0 to node 59's model. The retained interface explains shift as changing the noise schedule before denoising; it supplies neither a mathematical derivation nor an optimal alternative value.
Latent generation and decoding. Node 65 (EmptySD3LatentImage) creates a latent using width, height and batch_size, supplying LATENT slot 0 to node 59's latent_image. Node 59 (KSampler) denoises using the model, conditioning and sampling inputs. Its LATENT slot 0 feeds node 58's samples; node 66 supplies VAE slot 0 to node 58's vae. Node 58 (VAEDecode) produces IMAGE slot 0 for the output transport.
This is text-to-image generation from an empty latent. The interface port image_count has a retained role label of source_image, but its real binding is the integer 65.batch_size: it is not an uploaded-image input. No image encoder, mask, original-layer composite or tiled decoder exists in this graph. Lowering denoise does not enable image-to-image generation or preservation of original pixels.
Set geometry, then compare sampling deliberately
Geometry and count. Width and height map to node 65's width and height: both default to 1024, with minimum 16 and increments of 16 pixels. They determine the actual aspect ratio. The saved prompt asks for vertical composition, but the saved dimensions are square. Image count maps to batch_size, default 1, allowed 1–4096. Larger dimensions require more memory; larger batches require more memory and processing. Schema limits are not capacity recommendations.
Starting noise: interface versus native state. The interface default is seed -1, described as selecting fresh random noise each run, although its declared minimum is 0. The saved native 59.seed is 121725701057393 and its schema requires a nonnegative integer. The native widget data also contains randomize, explicitly marked as a non-runtime widget. The pack does not retain the interface's sentinel translation or seed-update implementation. Use random mode only through an interface that supports it; do not send -1 directly to the native seed input. For comparisons, select a fixed nonnegative seed and ensure the interface does not replace it between runs. Setting 59.seed alone does not establish that client-side randomization is disabled. control_after_generate appears in proxy metadata, not as a native executable input, so no delta for it is supplied. Fixed seeds do not promise bit-identical output across environments.
Sampling controls. Node 59's retained values are steps=8 (integer 1–10000), cfg=1 (0–100, increments 0.1), sampler_name=res_multistep, scheduler=simple and denoise=1 (0–1, increments 0.01). More steps take longer without guaranteeing a better image. At CFG 1, the retained description says positive conditioning is used without classifier-free amplification; higher values amplify guidance against zeroed negative conditioning and can harm quality. Increasing CFG is not a guaranteed prompt-compliance remedy. Sampler selects the denoising algorithm; scheduler determines noise levels across steps. Alternative names come from the runtime, so no complete choice list is retained.
Schedule controls. Lower denoise uses a reduced portion of the sampling schedule, not an existing image. Sampling shift maps to node 60's shift, default 3, range 0–100 in increments of 0.01. Shift, scheduler, sampler and steps interact. Begin with the supplied settings, then compare one change at a time with fixed starting noise. The bound controls below are examples and baseline resets, not measured improvements. The portrait example changes width to 768 while retaining height 1024; it is not an executed example or a capacity guarantee.
- Example: portrait width with height retained at 1024
- Sets width to 768 pixels. With height 1024, the requested aspect ratio is 3:4; prompt wording alone cannot do this.
- Use the saved native seed
- Sets the starting-noise seed to 121725701057393. Also select fixed-seed behavior in the client; this delta does not disable client randomization.
- Return to one image
- Sets latent batch size to one rather than requesting a larger batch.
- Restore eight steps
- Returns the denoising step count to the supplied starting configuration.
- Restore CFG 1
- Returns to the supplied guidance setting without classifier-free amplification.
- Restore res_multistep
- Returns the denoising algorithm to the saved selection; the runtime must offer this sampler.
- Restore simple scheduler
- Returns the scheduler to the saved selection; the runtime must offer this scheduler.
- Restore full denoising fraction
- Uses the supplied full sampling fraction; it does not add an image input.
- Restore sampling shift 3
- Returns the pre-sampling schedule configuration to its supplied value.
A portrait prompt still returns a square image.
Prompt wording does not set latent dimensions.
Check: The saved width and height are both 1024 despite vertical-composition wording.
Set height greater than width using multiples of 16. For example, use width 768 and height 1024; account for memory growth if increasing pixel count instead.
Comparisons change even after entering a seed.
The interface may select fresh starting noise instead of retaining the entered value.
Check: The interface advertises -1 for randomization; native seed constraints are nonnegative, and saved widget data contains a non-runtime randomize setting.
Select fixed-seed behavior in the interface and retain a nonnegative seed. Keep geometry and other sampling settings unchanged while comparing one change. Do not treat -1 or control_after_generate as native executable seed controls.
Memory exhaustion occurs.
Dimensions and batch size affect resource demand, but the failing stage is not established by the pack.
Check: No measured memory profiles are retained. Node 58 is VAEDecode, not VAEDecodeTiled, and has no tile_size input.
Identify whether failure occurs during loading, denoising or decode. Return image count to one and consider smaller dimensions in multiples of 16; this does not guarantee resolution of a loading failure. Do not set tile_size on node 58. Tiled decoding would require a graph change, not an existing control.
Higher CFG or more steps makes the result worse.
Guidance amplification can harm quality, and extra steps do not guarantee improvement.
Check: The supplied baseline is CFG 1 and eight steps, with zeroed negative conditioning.
Restore CFG 1 and eight steps, with res_multistep, simple, denoise 1 and shift 3. Compare prompt changes with fixed starting noise before adjusting the interacting sampling controls.
The saved sampler or scheduler is unavailable.
Both choices are supplied by the runtime rather than a retained complete options list.
Check: The graph saves res_multistep and simple, but the pack gives no tested runtime minimum or equivalent replacement.
Use an environment that offers the saved selections before attempting the baseline. Do not assume an available alternative is equivalent; compare it separately if deliberately departing from this configuration.
Where this approach stops
- Uploaded-image transformation
- Editable negative prompt
- Original-pixel preservation
- Model replacement through the exposed interface
- Quantified memory or timing predictions
