Skip to content

/imagine#

/imagine is Eimi's main text-to-image command. You give it a prompt, it queues a job, and the finished images come back as a result card with buttons. Every other image command is a specialised version of this one.

/imagine prompt: a cat wearing a tiny hat

It works in servers, in DMs with the bot, and in other people's servers if you added Eimi to your own account (user install). Whether the result is public or only visible to you is covered on the Bot Behavior page.


All 19 parameters#

Only prompt is required. The order below is the order Discord shows them in.

Parameter Type Default What it does
prompt text (required) -- Describe what you want to create
input_image attachment none (text-to-image) Reference image for img2img
negative text your saved negative, else the model's own What to avoid
batch_size number the model's default (usually 2) Number of images to generate, 1-9
aspect_ratio text your saved ratio, else the model's default size W:H ratio or WxH pixels
model text (autocomplete) Krea Which diffusion model generates the image
enhance true/false from your AI features setting Rewrite your prompt with AI before generating
cfg number the model's tuned CFG How hard the model is pushed to follow the prompt
steps number the model's tuned steps Number of sampling steps
scheduler text (autocomplete) LoRA override, else the model's scheduler Noise schedule used during sampling
sampler text (autocomplete) LoRA override, else the model's sampler Sampling algorithm
seed number random, 0 to 4294967295 Fixes the noise pattern so a run is reproducible
lora text (autocomplete) your saved LoRA slots 1-4 A style or character LoRA to apply
lora_strength number the LoRA's own default (0.8 if it has none) Strength of the LoRA, -10 to 10
upscaler text (autocomplete) your saved upscaler, else the model's, else AnimeSharp Which upscaler the ⬆️ button will use later
denoise number 0.7 with an input image, 1.0 without How much of the input image is repainted
attention text (autocomplete) auto Attention backend used for the run
nsfw true/false your saved setting (off) Removes the safe-content prompt additions
raw true/false your saved setting (off) Sends your prompt with no scaffolding at all

Note

Anything you leave out falls back to your saved defaults in /settings, then to the model's own preset. You never have to fill in more than prompt.


Prompt and negative#

prompt#

Free text, and the only required field. By default Eimi wraps it in scaffolding before it reaches the model: the model's own positive text, your saved default positive, LoRA trigger words, embeddings, and (when nsfw is off) the model's safe-content additions.

See Prompting Tips for what actually works per model family.

negative#

What you do not want in the image. If you leave it empty, Eimi uses the default negative saved in /settings; if you have not set one, the model's own negative is used.

Anything you type here replaces those defaults for that run.

raw#

raw: True throws away all default prompt scaffolding. The model's positive text, your saved default positive, the safe-content additions, LoRA triggers and embeddings are all dropped, and your prompt goes to the text encoder verbatim. The negative prompt is empty unless you typed one.

Warning

raw also disables AI enhancement, even if your AI features setting would normally turn it on. If you want the enhancer, do not use raw.

Use raw when you are copying a prompt from elsewhere and want it reproduced exactly, or when the default scaffolding is fighting your intent.

enhance#

enhance: True sends your prompt to an AI that rewrites it into a fuller description before generating. The default comes from your AI features setting:

AI features value enhance defaults to
disabled (default) off
enhance_only on
match_only off (character matching only)
both on

Two things worth knowing:

  • If you pick an Ideogram 4 model, enhance defaults to on no matter what your setting says, because the Ideogram enhancer builds the structured caption that model expects.
  • Enhancement runs in the background while your job waits its turn, not at the moment you press enter, so it does not make the command feel slower.

Full detail on the AI Enhance page.


Size and count#

aspect_ratio#

There are two grammars, and Eimi picks between them by what you type.

Ratio form, W:H

/imagine prompt: a wide desert vista aspect_ratio: 21:9

Eimi computes the width and height that hit the model's pixel budget (1,000,000 pixels unless the model declares its own), rounds each side down to a multiple of 8, and clamps each side to 64-2048 (up to 4096 for models that declare their own larger budget). Ratios beyond 32:1 are clamped to 32:1.

If the model lists a hand-tuned resolution for exactly that ratio, that resolution is used verbatim instead of the computed one. Decimals are allowed, so 2.35:1 is valid.

Pixel form, WxH

/imagine prompt: a tall waterfall aspect_ratio: 1024x1536

Taken literally. If the longest side exceeds 4096, the whole size is scaled down proportionally; sides have a floor of 64 and are snapped to a multiple of 8.

Default

If you set nothing and the model declares nothing, you get 864x1152 (3:4 portrait).

Errors

You typed Message
Something unparseable Unsupported format: {input}. Use '3:4' or '1024x768'
3:4:5 Ratio format needs exactly two values (got '3:4:5', expected e.g. '3:4')
1024x768x2 Pixel format needs exactly two dimensions (got '1024x768x2', expected e.g. '1024x768')

Tip

Prefer the ratio form. It keeps you inside the model's pixel budget automatically, which is the range the model was trained for. The pixel form is for when you need one exact output size.

batch_size#

How many images the job produces, clamped to 1 through the model's maximum, which is 9 by default. Left empty, you get the model's own default batch size, which is 2 unless that model overrides it.

Larger batches take proportionally longer and count as one job. With a batch above 1, the ⬆️ upgrade button on the result card is replaced by numbered buttons 1️⃣ to 9️⃣, one per image.


Sampling controls#

steps#

Number of denoising iterations. Each model ships a tuned value, and that is what you get if you leave the field empty.

The value you type is clamped against the model's recommended range: the floor is a quarter of the recommended minimum and the ceiling is double the recommended maximum. For a model that declares no recommended range, that works out to 5 to 100.

Distilled and turbo models (Krea, Z Image Turbo, ERNIE Turbo, Echo Dream) want 8-14 steps and get worse, not better, if you push them to 30. Standard SDXL models sit around 20-30. See Parameters for the full breakdown.

cfg#

How strongly the model is pushed toward your prompt. Clamped to a fifth of the model's recommended minimum up to double its recommended maximum, rounded to one decimal. For a model that declares no recommended range, that is 0.2 to 20.0.

Distilled models expect a CFG of about 1. Standard SDXL models expect 5-7. Raising CFG far above the model's tuned value produces burnt, oversaturated output rather than better prompt adherence.

sampler and scheduler#

Both lists are read live from the running ComfyUI instance, so the autocomplete always matches what is actually installed. If ComfyUI cannot be reached at startup, Eimi falls back to a fixed list:

Fallback values
Samplers euler, euler_ancestral, dpmpp_2m, dpmpp_2m_sde, dpmpp_sde, dpm_2, ddim, uni_pc, heun, lcm, deis
Schedulers normal, karras, sgm_uniform, simple, exponential, beta

Leave both empty unless you have a reason. Each model ships a sampler and scheduler pair that suits it, and a LoRA can override that pair if it was trained with a specific one.

seed#

An integer from 0 to 4294967295. The same seed with identical everything else reproduces the same image. Left empty you get a random seed, which is what you want while exploring.

Out-of-range values are rejected with Seed must be between 0 and 4294967295, and the seed is randomised instead.

The 🔄 re-roll button on a result card is exactly "same parameters, new seed".

denoise#

How much of the input image gets repainted. Only meaningful together with input_image.

Situation Range Default
With an input image (img2img) 0.05 - 0.98 0.7
Without an input image 0.05 - 1.0 1.0

Low values (0.2-0.4) keep the composition and change surface detail. High values (0.7-0.9) keep only the rough layout and colours. Values outside the range are clamped, not rejected.

input_image#

Attach an image to run img2img instead of text-to-image. Two rules:

  • It must actually be an image, otherwise you get Input file must be an image.
  • It must be under 25MB, otherwise Input image must be smaller than 25MB.

Pair it with denoise to control how far the result drifts from the source.

attention#

The attention backend used for the run. Default auto, which lets the bot pick. The full list is:

auto, sage_auto, sage_cuda, sage_triton, sage_fp8_cuda, sage_fp8_cuda_fast, flash, comfy_kitchen_int8, pytorch, xformers, basic, sub_quad, split

This is a speed and compatibility knob, not a quality knob. Leave it on auto unless the maintainer tells you otherwise.


Models and LoRAs#

model#

There are 53 models loaded at the moment. The default is Krea, a fast distilled model at 12 steps and CFG 1. The head of the priority list, which is what you see first in the autocomplete, is:

Nickname Type Steps / CFG Default size
Krea (default) krea2 12 / 1 1024x1024
Z Image Turbo z-image 12 / 1 1024x1536
Anima Turbo anima 12 / 1 896x1152
ERNIE Turbo ernie_image 8 / 1 1024x1024
Ideogram 4 ideogram4 20 / 3 model default
mystery i32 sdxl 30 / 6 model default
FantasyAnime (v2.0) sdxl 30 / 5 model default
WAI (v16.0) sdxl 30 / 5 model default
One Obsession (v18) sdxl 20 / 7 model default
Cat Tower (v20 v-pred) sdxl 30 / 6 model default

The rest are searchable by nickname. See Models for the complete catalogue and what each family is good at.

The list is whatever is sitting on the maintainer's drive that week. Models get added, renamed and deleted without notice, so a model you used yesterday can be gone today, and the autocomplete is the only list that is actually current.

Autocomplete behaviour worth knowing:

  • With the box empty you get a flat priority-ordered list, nickname only. Models you hid in /settings never appear.
  • If you already picked a lora, the model list is filtered to models that LoRA is compatible with.
  • Once you start typing, results are grouped by family and each family contributes at most 4 siblings, so searching "krea" surfaces Krea alongside its Quality and Exp variants.

You can pass either the nickname or the checkpoint filename, case-insensitive. A typo gives Unknown model 'x'. Pick a suggestion from the model autocomplete.

Some entries are virtual variants: they load a real checkpoint underneath but carry their own step and CFG preset, and can auto-add LoRAs. The details panel keeps showing the name you picked.

lora and lora_strength#

A LoRA nudges the model toward a style, character or concept. There are 90 LoRAs loaded at the moment, and that list moves around as much as the model list does. Full catalogue on the LoRAs page.

/imagine prompt: a knight in a rainstorm lora: <pick from autocomplete> lora_strength: 0.7
  • You can run up to 4 LoRAs, but the command only exposes one slot. The other three come from your saved slots in /settings.
  • Passing lora on the command clears your saved slots for that run. You get exactly the one you typed, not your saved four plus one.
  • Strength runs -10 to 10; the practical range is roughly 0.4-1.2. Negative values push away from the concept. If you leave it empty you get the LoRA's own default strength, or 0.8 if it has none.
  • Some LoRAs have variants. The autocomplete offers those as separate entries reading Nickname (Variant name), using a filename.safetensors::variant_id value underneath.
  • The autocomplete searches nickname, description, tags and variant names, so you can search by concept rather than exact name. If a model is already picked, only compatible LoRAs are offered. Archived and hidden LoRAs never show up.

Errors, one line per offending slot:

Message Cause
LoRA {i}: '{name}' is not configured The name does not match any LoRA
LoRA {i}: '{name}' is not compatible with selected model Wrong model family
LoRA {i} strength must be between -10 and 10 Strength out of range

upscaler#

upscaler on /imagine does not upscale your image

The /imagine pipeline has no upscale stage. The value you pick is stored on the job so that the ⬆️ upgrade button on the finished card, and any re-roll of it, uses that upscaler. To actually enlarge something, use /upscale or press ⬆️ on the result card. On /turbo's MrFlow backend the same parameter is used live, as the pipeline's second-stage upscale model.

Seven upscalers are configured: AnimeSharp (4x), UltraSharp (4x), NMKD-Siax_200k (4x), Remacri (4x), ESRGAN (8x), PureScale 4x (SAFMN) and R-ESRGAN 4x+ Anime6B. Recommendations are on the Upscalers page.

nsfw#

nsfw: True is a prompt switch, not a channel gate. There is no NSFW-channel restriction anywhere in the bot.

Setting Effect
nsfw: False (default) The model's safe-content positive additions are appended to your prompt, and terms like nsfw, explicit, nude, naked, sex, penetration are appended to the negative
nsfw: True Those blocks are omitted, and any LoRA flagged for automatic NSFW injection that is compatible with your chosen model is added for you

Where the rest of your defaults come from#

/imagine reads a lot from /settings before it reads the command: your model, negative prompt, aspect ratio, NSFW and raw flags, upscaler, AI features mode, LoRA slots 1-4 with their strengths and variants, default positive text, embeddings, inline-prompt rendering, WebP output preference, and your hidden model and LoRA lists. Set those once and most /imagine calls become just a prompt.


When parameters are rejected#

All validation problems are collected and shown together in one ephemeral message titled "Invalid Parameters", so you see every mistake at once rather than fixing them one at a time. Nothing is queued until the whole set passes.

Clamped values (steps, CFG, denoise, batch size) are adjusted silently rather than rejected. Only bad seeds, bad aspect-ratio syntax, LoRA name/compatibility/strength problems, unknown model names and unusable input images produce an error.


Limits#

There is no time cooldown on /imagine. The throttle is a concurrent-job cap: 15 jobs in the queue per user, out of a global queue of 95. Going over gives an ephemeral "Job Limit Reached" message telling you how many jobs you have and what your limit is.

The queue is strict first-in-first-out and runs one job at a time, because there is one GPU behind it. How long you wait depends entirely on what else is in front of you, and on whether the machine is up at all. See The Queue.


Worked examples#

Simplest possible call, everything else from your saved defaults:

/imagine prompt: a cat wearing a tiny hat

Widescreen landscape on a specific model, with a step override:

/imagine prompt: neon skyline reflected in wet asphalt, night aspect_ratio: 21:9 model: Z Image Turbo steps: 14

Exact output size, fixed seed, four images:

/imagine prompt: portrait of a knight in enamelled armour aspect_ratio: 1024x1536 seed: 12345 batch_size: 4

Img2img with a light repaint of an uploaded photo:

/imagine prompt: oil painting, thick impasto brushwork input_image: <attach> denoise: 0.4

A LoRA at reduced strength, with the safe-content additions turned off:

/imagine prompt: a knight resting by a campfire lora: <pick> lora_strength: 0.6 nsfw: True

A prompt copied from elsewhere, reproduced with nothing added:

/imagine prompt: masterpiece, best quality, 1girl, silver hair, rain raw: True negative: blurry, watermark

Deliberate SDXL settings, overriding the model preset end to end:

/imagine prompt: a lighthouse in a storm model: WAI (v16.0) steps: 30 cfg: 5.5 sampler: euler_ancestral scheduler: normal

What you get back#

The moment you press enter you get a card reading 🕒 Queued with your prompt and any non-default parameters, then a progress bar, then the finished images with a row of buttons: ⬆️ upgrade, 🔄 re-roll, 🎲 remix, 🎨 edit, ✨ detailer, 🔍 details and 🗑️ delete (or 📤 post publicly on an ephemeral result).

Everything about that card, including what each button does, is on the Buttons page.


See also#

  • /turbo -- the same idea on accelerated backends, when speed matters more than absolute control
  • /upscale -- enlarge a finished image
  • /render and /compose -- video and music
  • Parameters -- deeper dive on steps, CFG, samplers, denoise and seeds
  • AI Enhance -- what the enhancer does to your prompt
Categories: Commands | Models | LoRAs | Parameters