Before you start
- source_image: Upload the illustration to refine and enlarge. The connected RGB path does not preserve transparency. The graph's raccoongirl2.png is a retained filename, not a supplied user image.
- positive_prompt: Desired-content conditioning shared by both diffusion stages. A preset is supplied; keep addmicrodetails when using the preset detail LoRA.
- negative_prompt: Unwanted-trait conditioning shared by both diffusion stages. A preset is supplied; terms discourage traits without guaranteeing removal.
Start with an illustration you can allow to change
Produce one image named Refined and upscaled image, exposed at output:24. Begin with an uploaded illustration, the preset prompts, 2× enlargement, initial denoise 0.35 and tile denoise 0.3. Add a description of your subject to the positive prompt when you want more specific guidance.
This recipe enlarges an existing image through generative refinement. Initial diffusion, enlarged tile redraw and seam correction can all change content. Lower strengths retain more incoming structure without establishing unchanged pixels. The Resource task family is upscale; resolution increase alone does not establish restoration, identity preservation or a detector-based detailer.
The final output comes from node 12, slot 0, through node 24 (SweetTeaPreviewImage) input images. The interface describes preview transport without permanent saving. Intermediate images are not exposed as named outputs.
- Upload the illustration through Source image. Keep the preset prompts and refinement settings for a first run.
Look for: The uploaded image supplies node 7's pixels for refinement before enlargement.
Outputs: output:24
- Run the configured recipe and view Refined and upscaled image. Assess whether the generated details and edge treatment suit the source.
Look for: A successful run returns the single final image, approximately twice each source dimension at factor 2; transparency is not preserved.
Outputs: output:24
The preset files and runtime must be available
The graph names three fixed files: DasiwaIllustriousAnime_alluringabyss.safetensors at node 2 (CheckpointLoaderSimple, ckpt_name), AddMicroDetails_Illustrious_v5.safetensors at node 4 (LoraLoader, lora_name) and 2x-AnimeSharpV4_RCAN.safetensors at node 10 (UpscaleModelLoader, model_name). The retained interface exposes strength controls, not file selectors. These presets target illustrated imagery; compatibility or quality with replacement files is not established here.
The preparation inventory also lists comfyui_ultimatesdupscale and tea-time-labs/sweet-tea-nodes as required node packs. Graph metadata records comfy-core 0.16.4 and UltimateSDUpscale 1.7.0. Those metadata values do not establish a complete compatible environment. All five preparation component records are marked retired and lack artifact checksums and provider versions, so current availability and exact artifact identity remain unresolved.
No supported backend or platform, GPU capacity, RAM capacity or comparable duration is retained. The preparation record's 1024×1024 standard workload is a reference configuration, not an input-size restriction or a measured execution profile.
A preset model or custom node cannot be resolved.
The graph uses fixed model filenames and custom node classes.
Check: Prompts and denoise strengths do not replace these dependencies; the retained interface has no model-file selectors.
Resolve the named files and node packs in the execution environment before running this revision. The retired inventory records do not confirm availability or compatibility.
Follow the image and conditioning through the graph
Node 22's IMAGE output, slot 0, enters node 7 (VAEEncode) through pixels; node 2 supplies its VAE through slot 2. Node 8 (KSampler) receives node 7's latent through latent_image and denoises it using node 4's LoRA-modified MODEL. Node 9 (VAEDecode) receives node 8's LATENT output through samples and converts it back to an image using the checkpoint VAE. This initial image-to-image pass precedes enlargement.
Node 11 (UltimateSDUpscale) receives node 9's image, node 10's UPSCALE_MODEL, the same modified diffusion model, the same VAE and both conditioning streams. It enlarges the image and performs prompt-guided tile redraw followed by the configured seam correction. Node 12 (ImageSharpen) performs final sharpening before node 24 receives the image. No detector or separate region-detailer node is present.
The conditioning branches differ. Node 3 (CLIPSetLastLayer) is configured with stop_at_clip_layer=-2. Its CLIP output enters node 4, whose modified CLIP supplies positive-text encoding at node 5 (CLIPTextEncode). Negative-text encoding at node 6 uses node 3 directly. Both node 8 and node 11 receive node 5's positive and node 6's negative conditioning. LoRA model strength therefore affects both diffusion stages, while LoRA CLIP strength affects their shared positive encoding only.
Node 22's MASK output is unconnected, and there is no original-layer composite or alpha-joining path. The retained interface explicitly states that uploaded transparency is not preserved. The compiled operation has no rule bindings or established output properties; these explanations follow the retained wiring and control descriptions.
Choose how much content may be reinterpreted
Initial denoise (initial_denoise → node 8 denoise) defaults to 0.35; tile denoise (tile_denoise → node 11 denoise) defaults to 0.3. Both accept 0–1 in increments of 0.01. The first controls refinement before enlargement; the second controls enlarged tile redraw. Lower values retain more incoming structure, while higher values permit stronger reinterpretation. Neither controls the separate seam-correction strength.
The positive preset is addmicrodetails, masterpiece, best quality, very aesthetic, absurdres, highres, fine detail, sharp focus, intricate linework, crisp edges, detailed shading. The negative preset is worst quality, low quality, lowres, blurry, jpeg artifacts, compression artifacts, noise, grain, ugly, deformed, bad anatomy, watermark, signature, text. Their ports target node 5 text and node 6 text. Both diffusion stages share these prompts. Negative terms discourage traits; they do not guarantee removal.
Each stage has independent sampling controls:
| Interface port | Node/input | Default | Meaning |
|---|---|---|---|
initial_steps | 8 / steps | 20 | Initial denoising steps |
initial_guidance | 8 / cfg | 9 | Initial prompt guidance |
initial_sampler | 8 / sampler_name | dpmpp_2m | Initial sampling algorithm |
initial_scheduler | 8 / scheduler | karras | Initial noise schedule |
tile_steps | 11 / steps | 20 | Steps for each redraw tile |
tile_guidance | 11 / cfg | 8 | Tile prompt guidance |
tile_sampler | 11 / sampler_name | dpmpp_2m | Tile sampling algorithm |
tile_scheduler | 11 / scheduler |
Separate output size from processing tile size
At node 11, upscale_factor targets upscale_by, default 2, with a range of 0.05–4 in increments of 0.05. It multiplies width and height; values below 1 reduce dimensions. tile_width and tile_height each default to 512 pixels and describe processing regions, not final dimensions. Each must be at least 64 and use multiples of 8. Larger tiles require more memory.
tile_pattern → mode_type defaults to Chess and sets redraw order. tile_mask_blur → mask_blur defaults to 8 pixels, accepts integer values 0–64 and softens boundaries. tile_padding defaults to 32 pixels, accepts nonnegative multiples of 8 and adds surrounding context and memory cost. The port inventory labels tile mask blur as a mask, but the interface and native schema define an integer radius, not an uploaded mask.
tile_batch_size → batch_size defaults to 1 and accepts 1–4096. Larger batches can reduce processing time but use more memory and yield different results; they affect only the main redraw, not seam correction. force_uniform_tiles defaults to true, keeping boundary tiles at the configured dimensions. Turning it off allows smaller boundary tiles.
tiled_decode defaults to true and decodes node 11's tile outputs in smaller regions. It does not modify node 9, which remains a separate VAEDecode. This recipe exposes no decoder tile_size input, so the domain's generic smaller-decode-tiles adaptation cannot be bound here. No numerical memory saving is established.
- Allow smaller boundary tiles
- Boundary tiles may be smaller than the configured width and height. The requested enlargement factor remains the same.
- Process one redraw tile at a time
- Restore the default batch size if larger batches strain memory. This affects main redraw batching, not seam correction.
Memory exhaustion occurs during enlarged tile refinement.
Tile dimensions, context padding and redraw batches increase the amount processed together.
Check: The failure occurs in node 11's enlarged refinement, rather than model loading or the initial pass.
Treat seam correction and sharpening as separate finishing stages
Node 11's seam_fix_mode defaults to Half Tile + Intersections. Correction adds generative processing after tile redraw. seam_fix_denoise defaults to 1, its maximum, so corrected regions can change substantially even with tile denoise at 0.3. It accepts 0–1 in increments of 0.01. Seam mask blur defaults to 8 pixels and accepts integer values 0–64. Seam padding defaults to 16 pixels and uses nonnegative multiples of 8. Both target their identically named inputs at node 11.
seam_fix_width defaults to 64 pixels and uses nonnegative multiples of 8, but applies only in Band Pass mode. It is not the width control for the default correction mode. Disabling correction skips its extra processing. The pack does not enumerate the exact disabled option string, so use the runtime's offered disabled option rather than constructing a value. The lower-strength control below is a proposed trial, not an established optimum.
Node 12's advanced controls are sharpen_amount → alpha (default 0.3, range 0–5, increment 0.01), sharpen_radius (default 1 pixel, integer range 1–31) and sharpen_sigma → sigma (default 0.8, range 0.1–10, increment 0.01). Radius changes the edge neighborhood and sigma changes the Gaussian spread. Sharpening is the only exposed bypassable stage. Bypassing it yields the unsharpened upscale, still subject to all preceding generative changes. The contract has no bypass delta, so bypass remains a plain interface instruction.
- Trial: lower seam denoise to 0.5
- With seam correction enabled, reduce its generative strength from the default 1 to retain more existing seam detail. This does not alter main tile denoise.
- Trial: lower sharpen amount to 0.15
- Reduce final sharpening strength from the default 0.3 when edges look harsh or develop halos. This does not undo earlier generative changes.
Is seam correction worth the additional reinterpretation?
- Keep correction with less seam reinterpretation: Lower seam denoise while correction is enabled; use seam blur for transitions and seam padding for context. No best setting is established.
- Skip seam correction: Select the runtime's disabled correction option to skip that processing. Assess the remaining tile transitions; the exact disabled string is not retained.
Where this approach stops
- Established original-pixel or identity preservation
- Preservation of uploaded transparency
- Guaranteed removal of negative-prompt traits
- Exposed intermediate image outputs
- Selectable checkpoint, LoRA file or upscaler through the retained interface
- Measured memory or duration predictions
