Before you start
- positive_prompt: Describe the subject, composition, lighting and visual style. Replace the supplied red-tree example.
- negative_prompt: The required interface field is supplied with bad ugly jpeg artifacts. It can remain at that default; negative conditioning is unused at CFG 1.
Start with one image from your description
Generate a new image by opening this recipe and replacing its example Prompt. The starting configuration is 1024 × 1024 pixels, batch size 1, 16 steps, CFG 1, LCM sampler, normal scheduler, sampling shift 3 and denoising strength 1. No uploaded media is required.
The named result is Generated images, port output:88. It is one batch output, including when the requested batch contains one image. Node 88 (SweetTeaPreviewImage) receives IMAGE slot 0 from node 86 (VAEDecode). The retained terminal metadata mentions an original SaveImage class, but the selected graph uses SweetTeaPreviewImage; it establishes no filename or save-location control. No executed example, measured quality result or timing is retained.
- Replace Prompt with your subject, composition, lighting and style. Keep the starting size, batch and sampling configuration for the first run.
Look for: Your description supplies the positive conditioning connected to KSampler.
- Run the configured recipe and inspect Generated images.
Look for: On successful execution, decoded images are delivered through the Generated images batch output.
Outputs: output:88
The fixed files and runtime requirements
The preparation record requires all six model files and tea-time-labs/sweet-tea-nodes together. The retained loader selections are:
| Node and class | Input | Selected file | Model directory | Retained provider version |
|---|---|---|---|---|
| 93 — UNETLoader | unet_name | hidream_i1_fast_fp8.safetensors | diffusion_models | main |
| 81 — VAELoader | vae_name | ae.safetensors | vae | main |
| 82 — QuadrupleCLIPLoader | clip_name1 | clip_l_hidream.safetensors | text_encoders | main |
| 82 — QuadrupleCLIPLoader | clip_name2 | clip_g_hidream.safetensors | text_encoders | main |
| 82 — QuadrupleCLIPLoader | clip_name3 | t5xxl_fp8_e4m3fn_scaled.safetensors | text_encoders | 1038246 |
| 82 — QuadrupleCLIPLoader | clip_name4 | llama_3.1_8b_instruct_fp8_scaled.safetensors | text_encoders | 6e6047b116958689a7b94720f6f06f776fc7264f |
Node 93 has weight_dtype set to default. The FP8 model filename does not establish a precision setting for every stage. The loaders are hidden and have no public model-selection ports. Their runtime file selectors do not make model substitution a supported interface adaptation.
The node pack supplies a required dependency; the graph's terminal class is SweetTeaPreviewImage. No node-pack version or commit is retained. Artifact checksums are retained for the diffusion model and all four text encoders, but not for the VAE or node pack; the recorded provider version main alone is not an immutable artifact identity.
Graph metadata records comfy-core 0.3.28 on most core nodes and 0.3.56 on node 93. These are node metadata, not a tested compatibility range or a minimum installation version. The pack establishes no backend, platform, GPU capacity, RAM capacity or duration recommendation. Model-file sizes describe storage artifacts and cannot be used as a GPU-memory requirement. The preparation workload leaves batch and precision unspecified; the selected graph separately establishes batch size 1.
A selected model file cannot be found or loaded.
How the graph turns text into images
Node 82 (QuadrupleCLIPLoader) supplies CLIP slot 0 to the clip inputs of nodes 85 and 90 (CLIPTextEncode). Their text inputs produce CONDITIONING slot 0, connected respectively to positive and negative on node 94 (KSampler). The shared encoder bundle is explicit in the graph. Each encoder's internal contribution and the way its representations are combined are not explained by the retained sources.
Node 84 (EmptySD3LatentImage) supplies LATENT slot 0 to node 94's latent_image. Width, height and batch size configure this new starting latent. Node 93 (UNETLoader) supplies MODEL slot 0 to node 91's model input. Node 91 (ModelSamplingSD3) adjusts the model's noise sampling schedule with shift, then supplies MODEL slot 0 to node 94's model. The sampler uses the model, conditioning, starting latent and seed to produce LATENT slot 0.
Node 86 (VAEDecode) receives the sampler output through samples and node 81's VAE slot 0 through vae. Its IMAGE slot 0 feeds node 88's images input and the public output:88. Sampling and decoding are separate stages. This graph uses VAEDecode, with no tiled decoder, tile_size input or tile-size port.
This is text-to-image generation, matching task family generate_image. There is no image upload, image encoder, mask, reference-conditioning or compositing path. A prompt asking to preserve a subject or label cannot establish original-pixel preservation. Lowering denoise also cannot supply an existing image that is absent from the graph.
Does your task start from text or require an existing image?
- Generate a new image from text: This recipe provides the required text-conditioning and empty-latent path.Continue
- Condition on, edit or preserve an existing image: Choose a recipe with the corresponding explicit image path. No suitable fallback recipe is selected in this pack.
Choose size, batch and starting noise
The core ports width, height and batch_size bind to identically named inputs on node 84 (EmptySD3LatentImage). Width and height default to 1024 pixels, have a minimum of 16 and use multiples of 16. Their ratio determines image shape. Batch size defaults to 1 and accepts integers from 1 to 4096. That schema maximum does not establish feasible capacity. Larger dimensions and batches require more memory; no amount or timing change is measured here.
The advanced seed port binds to node 94's seed, which determines starting noise. A fixed seed is useful when comparing prompt or sampling changes while keeping dimensions and batch unchanged. It does not establish identical output across different runtimes.
The interface documents -1 as randomizing each run and retains it as the default, while both its numeric constraint and the sampler schema require a nonnegative value. The graph stores seed 833271177511441; its separate randomize widget value is marked non-runtime and is not an executable node input. The pack does not show how the client handles the interface sentinel. Treat -1 as the documented interface convention, not a direct KSampler value. If it is rejected, choose a concrete nonnegative seed; no failure has been demonstrated in the retained pack.
The width adaptation below is an unexecuted example of a valid control change: with height still 1024, width 768 requests a 3:4 portrait shape. It establishes neither preferred model dimensions nor measured output quality.
- Request width 768
- Sets the starting latent width to 768 pixels. With height retained at 1024, this requests a 3:4 portrait image; the height remains a separate control.
- Keep one image per batch
- Sets the number of images generated together to one, avoiding the additional memory demand of a larger batch.
- Use the retained concrete seed for comparisons
- Sets a valid nonnegative seed for comparisons with unchanged dimensions and batch. No executed example or cross-runtime reproducibility guarantee is implied.
Generation runs out of memory.
Larger dimensions and batches increase memory demand, while model loading, sampling and decoding are distinct stages.
Decide whether negative guidance is needed
The public positive_prompt and negative_prompt ports bind to text on nodes 85 and 90. The supplied positive text describes a red tree; the supplied negative text is bad ugly jpeg artifacts. Both branches are connected, but the native interface states that negative conditioning is unused at CFG 1. Editing only the negative text therefore does not influence baseline sampling.
The advanced cfg port binds to node 94's cfg: default 1, range 0–100 in increments of 0.1. Above 1, it applies negative guidance and changes prompt influence. Excessive guidance can harm results. No preferred higher CFG value is retained for this exact Fast model, and the allowed range is not a quality recommendation. Compare a chosen value above 1 against the baseline using the same seed, prompt, dimensions and batch.
The interface describes conventional negative guidance above 1; it does not establish useful behavior for every allowed value below 1. Remaining at the baseline is a reasonable choice when refining the positive description is sufficient.
- Restore baseline CFG
- Returns guidance to 1, where the native interface states that negative conditioning is unused.
Do you need the negative prompt to influence generation?
Changing negative text has no influence at CFG 1.
The native interface states that negative conditioning is unused at that guidance setting.
Check: Node 90 is connected to the sampler; the relevant precondition is CFG rather than a missing negative branch.
If negative guidance is needed, compare a chosen CFG above 1 with the baseline using a fixed seed. Otherwise refine the positive description.
Change the sampling process deliberately
The remaining sampling controls are advanced. Their exact bindings and retained defaults are:
| Public port | Node and input | Default | Retained constraint or choice source |
|---|---|---|---|
| steps | 94 — KSampler.steps | 16 | Integer, 1–10000 |
| sampler | 94 — KSampler.sampler_name | lcm | Runtime choices |
| scheduler | 94 — KSampler.scheduler | normal | Runtime choices |
| shift | 91 — ModelSamplingSD3.shift | 3 | 0–100, step 0.01 |
| denoise | 94 — KSampler.denoise | 1 | 0–1, step 0.01 |
steps sets the denoising step count and changes computation required. The sources do not establish that more steps improve this recipe's quality. sampler selects the sampling algorithm, while scheduler controls the progression of noise levels. They interact with steps. Runtime alternatives are not enumerated here, so select only an option actually offered by the runtime; no alternative combination has a retained quality or speed comparison.
shift adjusts the model's noise sampling schedule before node 94 samples. No alternate optimum, precise schedule formula or directional quality effect is established by the retained material. denoise defaults to full denoising; lower values use only part of the noise schedule. Because node 84 supplies an empty latent, the generic KSampler tooltip about retaining an initial image does not apply to an uploaded image in this recipe.
For a useful configuration comparison, keep seed, prompt, dimensions and batch constant and change one sampling control at a time. The controls below restore individual baseline values; restoring one does not reset the others. The template is a documented starting point, not a measured optimum.
- Restore 16 sampling steps
- Returns the denoising step count to the template baseline; no timing or quality measurement is implied.
- Restore LCM sampling
- Returns the sampling algorithm to lcm. The retained baseline also uses normal scheduler and 16 steps, set separately.
Where this approach stops
- Uploaded-image or reference conditioning
- Image-to-image generation, masked editing and original-pixel preservation
- Model selection through the supplied interface
- Tiled decoding through a supplied control
- Scoped GPU or RAM capacity recommendations and run-time estimates
