/upscale#
/upscale takes an image you attach and makes it bigger. It works on anything you can upload, not only on Eimi's own output, and it offers three very different methods: a fast pure-upscaler pass, a tiled diffusion pass that invents new detail, and a single low-denoise refine pass.
/upscale image: <attach> scale: 2
If you want to enlarge an image Eimi just generated, the ⬆️ button on the result card does the same job with fewer decisions. See Buttons.
All 11 parameters#
Only image is required.
| Parameter | Type | Default | What it does |
|---|---|---|---|
image |
attachment (required) | -- | The image to upscale |
method |
choice | your saved upscale method, else model |
Which of the three pipelines runs |
upscaler |
text (autocomplete) | 8x-ESRGAN.pth at scale 8, otherwise 4x-AnimeSharp.pth |
The upscaler model that does the pixel enlargement |
scale |
number (autocomplete) | 2 | Scale factor: 2, 4 or 8 |
prompt |
text | none | Description of the image, used by usdu and refine |
model |
text (autocomplete) | the source image's model, if Eimi generated it | Checkpoint override for the diffusion pass (usdu and refine) |
denoise |
number | usdu 0.2, refine 0.35 |
Diffusion strength for the usdu and refine passes |
steps |
number | inherited from the source job or the model | Sampler steps for the diffusion pass |
cfg |
number | inherited from the source job or the model | CFG scale for the diffusion pass |
sampler |
text (autocomplete) | inherited from the source job or the model | Sampler for the diffusion pass |
scheduler |
text (autocomplete) | inherited from the source job or the model | Scheduler for the diffusion pass |
prompt, model, denoise, steps, cfg, sampler and scheduler do nothing at all on the model method, which runs no diffusion.
/upscale ignores the upscaler you saved in /settings
Unlike /imagine, this command does not read your saved upscaler preference. If you do not pass upscaler, you get 8x-ESRGAN.pth when scale is 8, and the bot-wide default 4x-AnimeSharp.pth otherwise. Pass upscaler explicitly if you care which one runs.
The one user setting /upscale does read is your saved upscale method, which fills in method when you leave it empty. Its default is model.
Choosing a method#
| model | usdu | refine | |
|---|---|---|---|
| Shown as | Model-based (fast) | USDU (tiled diffusion) | Refine (img2img low-denoise) |
| Runs diffusion | No | Yes, per tile | Yes, once over the whole image |
| Invents new detail | No | Yes, the most of the three | Some |
| Speed | Fastest | Slowest | In between |
| Needs a prompt | No | Yes, and will find one for you | Optional |
| Faithful to the original | Completely | Least | Mostly |
| Practical size ceiling | The upscaler's own limit | 4 MP input | About 4 MP output |
Method: model (fast)#
A straight pass through an upscaler model, then a resize to your exact scale factor. No diffusion, no prompt, no model loading. This is what the ⬆️ upgrade button uses too.
When to pick it
- You want the image bigger, not different.
- The source is already clean and detailed.
- You want the result in seconds rather than minutes.
- The source came from an API model or an unusual pipeline, where the diffusion methods have nothing to inherit.
Parameters it uses
upscaler and scale. Everything else is ignored.
Limits
It cannot add detail that is not in the source. A soft or low-resolution original comes back as a larger soft image, sharper at the edges but no more detailed.
Method: usdu (tiled diffusion)#
Ultimate SD Upscale. The image is cut into overlapping tiles and each tile is re-diffused at high resolution, then the tiles are stitched back together. This is the method that genuinely adds detail: skin texture, fabric weave, foliage, individual hairs.
When to pick it
- You want a real quality jump, not just more pixels.
- The source is one of Eimi's own SDXL-family generations, where the original prompt and settings can be inherited.
- You are willing to wait, and to accept that fine details will change.
Parameters it uses
prompt, model, denoise (default 0.2), steps, cfg, sampler, scheduler, plus upscaler and scale.
Where the sampling settings come from, in order: what you typed on the command, then the settings of the job that produced the image (if Eimi generated it and can still find the record), then the chosen model's own preset, and finally a generic fallback of 20 steps at CFG 5 with the deis sampler and beta scheduler.
Limits
USDU refuses some model families
Z-Image, Neta-Lumina and Ideogram 4 models cannot drive a USDU pass. You get a message reading USDU upscale is not compatible with {family} models. Try the regular upscale.... Use the model or refine method for images from those families, or pass a different model.
- The input image is resized down to 4 megapixels before tiling, so feeding it something enormous does not make the result better.
- Tiles are half the input size, clamped to between 256 and 1024 pixels per side.
- Your prompt is only used tile by tile on SDXL-family models. On every other architecture the tile prompt is replaced with a fixed generic one (
highly detailed, sharp focus, high quality, intricate details, clean, against a negative ofblurry, low quality, low resolution, artifacts, jpeg artifacts), because prompt-obedient models otherwise paint a whole miniature scene into each tile. - Higher
denoisemeans more invention and more risk of tile seams or repeated detail. Around 0.2 is the sweet spot; past about 0.35 tiles start disagreeing with each other.
When Eimi cannot find the source job#
USDU wants a prompt and a model. If you upscale an image Eimi generated and can still identify, it inherits both silently. Otherwise:
- You gave no
prompt: Eimi quietly describes the image itself with a vision model, in the description style that suits the default model, and gets on with the job. You see nothing extra. - You gave a
prompt(or the automatic description failed): an ephemeral "USDU Upscale Setup" panel appears, because a model still has to be chosen.
The setup panel has a dropdown labelled Select a model for USDU and three buttons:
| Button | What it does |
|---|---|
| ⚡ Use Generic Prompts | Runs with high quality, detailed against blurry, low quality, artifacts, noise |
| ✏️ Set Custom Prompts | Opens a USDU Prompts (Optional) modal with Positive and Negative fields |
| ✖️ Cancel | Aborts, replying ❌ USDU upscale cancelled. |
The panel times out after 120 seconds with ⏰ USDU setup timed out.
Method: refine (img2img low-denoise)#
A pixel upscale followed by one low-denoise img2img pass over the whole image. No tiling, so no seams, and the composition is preserved almost exactly. This is the same engine as the Hi-Res Fix, driven from the command line.
When to pick it
- You want a cleaner, sharper version of the same image rather than a reinterpretation.
- The source is from a family USDU refuses.
- Tile seams from a previous USDU run annoyed you.
Parameters it uses
prompt, model, denoise, steps, cfg, sampler, scheduler, upscaler and scale.
Useful ranges:
| Parameter | Range | Notes |
|---|---|---|
denoise |
0.1 - 0.7 | Default 0.35. Below 0.2 barely changes anything, above 0.5 starts redrawing content |
steps |
1 - 50 | Inherited from the source job (about three quarters of its step count) when you leave it empty |
cfg |
0.5 - 20.0 | Falls back to the source job's CFG, then the model's, so a distilled CFG-1 model is not refined at CFG 7 |
Limits
Refine is capped at roughly 4 megapixels of output
The whole image is diffused in one pass, so the requested scale is reduced if it would push the output past about 4 MP, which is where the sampler runs out of VRAM on the card the bot runs on. The effective factor is clamped between 1.25x and 8x. Asking for 8x on an already-large image will quietly give you less than 8x.
Scale and upscalers#
scale accepts 2, 4 or 8. Anything else is rejected with Scale must be 2x, 4x, or 8x. The autocomplete only offers the factors the chosen upscaler supports.
The seven upscalers loaded at the moment are AnimeSharp (4x), UltraSharp (4x), NMKD-Siax_200k (4x), Remacri (4x), ESRGAN (8x), PureScale 4x (SAFMN) and R-ESRGAN 4x+ Anime6B. Which one to pick for which kind of image is covered on the Upscalers page.
Note
Passing seedvr2 as the upscaler runs a separate restoration-style upscaler. It supports a maximum of 4x, and asking for more gives seedvr2 only supports up to 4x scale. It is memory-hungry, so the bot clears VRAM before running it.
Error messages#
| Message | Why |
|---|---|
Please provide an image file. |
The attachment was not an image |
Image must be smaller than 25MB. |
Attachment over the 25MB limit |
Scale must be 2x, 4x, or 8x. |
Invalid scale |
{upscaler} only supports up to {max}x scale. |
The chosen upscaler cannot reach that factor |
USDU upscale is not compatible with {family} models. Try the regular upscale... |
Z-Image, Neta-Lumina or Ideogram 4 on the usdu method |
⏰ USDU setup timed out. |
The setup panel sat unanswered for 120 seconds |
| "Job Limit Reached" | You already have 15 jobs queued |
denoise, steps and cfg are clamped rather than rejected: denoise to 0-1, steps to 1-100 and cfg to 0-30, before each method applies its own tighter range.
Worked examples#
Fast 2x, no diffusion:
/upscale image: <attach>
Fast 4x with a specific upscaler:
/upscale image: <attach> scale: 4 upscaler: UltraSharp (4x)
Tiled diffusion with a description of the picture:
/upscale image: <attach> method: usdu prompt: a red fox sitting in deep snow, overcast light denoise: 0.2
Tiled diffusion driven by a chosen checkpoint and stronger sampling:
/upscale image: <attach> method: usdu model: WAI (v16.0) steps: 24 cfg: 5 denoise: 0.25
Gentle single-pass cleanup at 2x:
/upscale image: <attach> method: refine denoise: 0.25
Harder refine that redraws surface detail:
/upscale image: <attach> method: refine scale: 2 denoise: 0.45 steps: 20
See also#
- Upscalers -- what each upscaler model is good at
- Hi-Res Fix -- the same refine engine, run as part of a generation
/imagine-- note that itsupscalerparameter only seeds the ⬆️ button/turbo-- whose MrFlow backend upscales as part of the pipeline- Buttons -- the ⬆️ upgrade button, which is the one-click version of this command