Before you start
- Positive prompt: Describe the subject, composition, lighting and medium. Replace the supplied hand-and-martini-glass example.
Start with your description and receive Generated images
Open Krea 2 Turbo text to image version 0.1.6. Start with square 1 MP output, Image count 1, Refine prompt enabled and Use style LoRA disabled. Retain 8 image steps, CFG 1, Euler, simple scheduling and denoise 1. This is the supplied starting configuration, not a measured quality or performance optimum.
The named result is Generated images, port output:29. It is a batch output even when Image count is 1. Node 51 VAEDecode supplies IMAGE slot 0 to node 29 SweetTeaPreviewImage.images. No separate refined-text output is exposed. The original terminal-class metadata mentions SaveImage, but the retained terminal is SweetTeaPreviewImage; the pack does not establish a saved filename or filesystem destination.
- Replace Positive prompt with your subject, composition, lighting and medium, then run the Pipe with the starting configuration.
Look for: A successful run returns the Generated images batch, conditioned on the selected wording and controls.
Outputs: output:29
Prepare the named models and output node
The base generation path uses these exact loader selections:
| File | Model directory | Native binding |
|---|---|---|
krea2_turbo_fp8_scaled.safetensors | diffusion_models | node 54 UNETLoader.unet_name |
qwen3vl_4b_fp8_scaled.safetensors | text_encoders | node 58 CLIPLoader.clip_name |
qwen_image_vae.safetensors | vae | node 70 VAELoader.vae_name |
krea2_darkbrush.safetensors | loras | node 55 LoraLoaderModelOnly.lora_name, selected style path |
Node 58 uses type=krea2 and device=default; node 54 uses weight_dtype=default. The base generator, encoder and VAE have no selection fields in the exposed Pipe interface. The text encoder remains needed for image conditioning when prompt refinement is disabled. The runtime also needs tea-time-labs/sweet-tea-nodes for the image output node.
The preparation inventory lists Darkbrush as an unconditional requirement, while the resource description makes it conditional on using style. Keep it available for the complete supplied recipe. The graph shows which model output is selected; it does not establish whether an unselected branch is loaded or validated by a particular runtime.
Core-node metadata records version 0.25.0, without establishing a minimum compatible ComfyUI version. The Sweet Tea node-pack commit is unspecified. Model requirements use provider version main without retained model checksums. The pack provides no supported platform or backend list, scoped GPU or RAM recommendation, or comparable run timing. Its 1024 × 1024 standard workload is a configuration record, not a measured performance profile.
A loader reports a missing model or the graph reports an unavailable class.
The retained graph depends on named model loaders and the Sweet Tea output node.
Check: Base generator, encoder and VAE selection are fixed in the exposed interface; style selection is separate.
Match the reported loader to the file and directory above, or provide the missing node pack. Changing CFG, steps or the prompt cannot supply a missing component. Do not assume disabling style bypasses runtime validation of its file.
Choose the text that reaches image conditioning
The description starts at node 62. Node 64 StringConcatenate joins node 65's fixed refinement instructions and that description with an empty delimiter. Node 63 TextGenerate receives the resulting prompt and the encoder from node 58. The fixed instructions request one expanded paragraph that preserves subjects, spatial relationships and the requested medium. These are generation instructions, not evidence that an unseen expansion follows them.
Node 66 PrimitiveBoolean.value, exposed as refine_prompt, controls switch 61: true selects node 63's generated text; false selects node 62's original text. The selected text passes through node 60 PreviewAny. The style branch can then append a phrase before node 57 CLIPTextEncode supplies node 52's positive conditioning. Node 68 ConditioningZeroOut takes that conditioning and supplies the sampler's negative input; there is no editable negative-prompt field. Node 57's stored text widget does not override its connected text input.
Refinement controls affect selected wording only when Refine prompt is enabled. The following mappings use node 63's real input names:
| Pipe control | Native input | Default | Consequence or condition |
|---|---|---|---|
refinement_max_length | max_length | 512 | Generated token limit; allowed range 1–32768 |
refinement_thinking | thinking | true | Requests thinking mode if the text model supports it |
refinement_default_template | use_default_template | true | Uses the model's built-in template if available |
refinement_sampling | sampling_mode | on | Selects sampled text generation; supports on or off |
refinement_temperature | sampling_mode.temperature | 0.7 | Wording variation; 0.01–2 |
refinement_top_k | sampling_mode.top_k | 64 | Limits ranked candidate tokens; 0–1000 |
Style changes the model and appends text together
Use style LoRA defaults to false. Node 56 drives two switches: switch 53 selects base model node 54 or LoRA model node 55, and switch 59 selects the main wording or node 67's appended wording. Enabling style changes both paths. Disabling it selects the base model and removes the appended phrase.
The default adapter is krea2_darkbrush.safetensors; node 55's strength_model is 0.8. Its permitted range is −100 to 100 in 0.01 increments, which does not establish useful visual behavior throughout that range. A retained interface note attributes a 1.0 recommendation to a source table, but that table is absent from the pack. Treat 0.8 as the supplied starting value rather than promoting 1.0 to an independently supported recommendation.
Resolve the retained trigger discrepancy before enabling style: the interface default and resource description say monochrome ink wash style, while graph node 67's current string_b is muted minimalist sketch style. The pack does not establish which value a client applies at launch. Node 67 appends the chosen phrase with delimiter , . Set it explicitly to choose the intended text.
Adapter selection and trigger text are independent. Choosing another installed Krea 2-compatible adapter does not update its phrase automatically. Compatibility and expected visual behavior of other adapters are not established by this pack. Setting strength to zero is also different from disabling style: the enabled text branch still appends the phrase.
- Choose the documented Darkbrush phrase
- Explicitly sets the appended phrase to the interface's documented default; it does not enable style or change the adapter.
- Enable the selected adapter and phrase
- Selects node 55's model and node 67's appended wording together. The selected compatible adapter must be available.
Changing LoRA strength or the trigger has no apparent effect.
When style is disabled, the switches select the base model and unappended wording.
Check: Use style LoRA defaults to false; subordinate fields do not enable it.
Check Use style LoRA, then the selected adapter, its independent trigger and strength. When comparing enabled and disabled style, remember that both model and wording change.
Set dimensions, image count and denoising separately
Node 49 ResolutionSelector combines aspect_ratio and megapixels, rounding dimensions to multiple=8. Output slots 0 and 1 feed node 69 EmptyLatentImage.width and .height. Defaults are 1:1 (Square) and 1 MP, described as approximately 1024 × 1024. Megapixels accepts 0.1–16 in 0.1 increments. Other aspect-ratio choices and the exact dimension-calculation implementation are not retained; choose available runtime options rather than inventing option strings. Node 69's stored 1024 × 1024 widgets do not override these connected dimensions.
Image count maps to node 69 batch_size, default 1, range 1–4096. Larger dimensions and batches require more memory. Schema maxima do not establish hardware feasibility. The numeric batch_size and image_seed ports have source-image role labels in the retained port metadata, but their actual bindings are a count and a seed, not uploaded images. Similarly, refinement and template switches are booleans despite inconsistent text-modality labels in the port metadata.
Node 52 KSampler receives the empty latent, selected model and conditioning. Its controls are:
| Pipe control | Native input | Supplied value | Meaning and limits |
|---|---|---|---|
steps | steps | 8 | Denoising step count; 1–10000 |
cfg | cfg | 1 | Conditioning guidance scale; 0–100, step 0.1 |
sampler | sampler_name | euler | Denoising algorithm; alternatives depend on runtime |
scheduler | scheduler | simple | Noise schedule; alternatives depend on runtime |
denoise | denoise | 1 | Denoising amount; 0–1, step 0.01 |
More steps add denoising work and are documented as taking longer, without a demonstrated quality gain here. CFG's generic tooltip describes a guidance tradeoff and warns about excessive values; it does not establish an optimal Krea 2 range or a monotonic improvement in adherence. The selected negative path is zeroed conditioning rather than user-entered exclusions. Sampler and scheduler changes can alter appearance and runtime; no comparative measurements are retained.
Control image noise and refinement randomness separately
The two seeds belong to different stages: image_seed binds node 52 KSampler.seed, while refinement_seed binds node 63 TextGenerate.sampling_mode.seed. A fixed image seed alone cannot hold conditioning steady if sampled refinement changes the wording.
The interface documents −1 for both seeds as a request to randomize each run. The retained graph instead stores image seed 735915477938686 and refinement seed 0; both native schemas, and the interface constraints, have minimum 0. Node 52's stored randomize widget is marked non-runtime metadata. The pack does not show how the Pipe translates −1 or which defaults a client applies, so use explicit nonnegative seeds for native control examples and do not pass −1 directly as a supported node value.
For comparisons, retain prompt, dimensions, batch count, style and sampling settings while changing one intended factor. Disable refinement and fix the image seed to compare direct wording, or retain sampled refinement and fix both seeds. Refinement seed is relevant only when refinement and text sampling are enabled. These choices control the documented random inputs; they do not establish bit-for-bit reproducibility across runtimes.
- Set an explicit image seed
- Uses nonnegative seed 12345 for image noise. This example value is within the retained schema; it is not a tested visual preset and does not fix refinement wording.
- Set an explicit sampled-refinement seed
- Uses nonnegative seed 0 for sampled wording when refinement and sampling are enabled. Pair with a fixed image seed when retaining sampled refinement in a comparison.
Which prompt path should the comparison retain?
- Original wording: Disable refinement and fix image_seed; any enabled style phrase remains part of conditioning.Continue
- Sampled refinement: Keep refinement and sampling enabled, set both seeds explicitly, and retain the other controls.
Images change despite a fixed image seed.
Sampled refinement can change text conditioning independently of image noise.
Where this approach stops
- Uploaded-image input or image-to-image generation in this revision
- Editable negative prompt
- Guaranteed identity or original-pixel preservation
- An exposed tiled-decode control
- Quantitative GPU, RAM or duration predictions
