Skip to content

When Things Go Wrong#

What Eimi does automatically when a job fails, what each error message means, and what happens to a job that was running when the bot restarted.

Eimi runs on one machine in somebody's home. It falls over, gets restarted, and occasionally sits offline for a while. Most of what follows is about how the bot copes with that, and most of the time the right response is to wait rather than to assume something is broken.


What happens automatically#

Before you see any error, Eimi has already tried to fix it.

Behavior Value
Automatic retries 1 retry, after a 3 second pause
Job timeout 600 seconds (10 minutes)
Job timeout for /render 3600 seconds (1 hour)

During a retry the card reverts to a queued or loading state and the job is put back at the front of the queue. You are not told a retry happened. If the second attempt also fails, the card becomes an error card.

A job that exceeds its timeout fails with Timeout waiting for job completion.

Black image retry#

If a generation comes out as a black frame, Eimi detects it, frees VRAM, clears the backend's cache and resubmits once, all silently. From your side the progress bar simply resets to 0%. If the retry also comes out black, the job fails with Generation produced black image - please try again.


The error card#

A failed job replaces the progress card with:

❌ Generation failed for @you
-# <your prompt>
-# Error: <what went wrong>
-# 💡 <a hint, when one applies>
-# Please report this to @admin! This shouldn't happen!

The last line is the part to pay attention to. If the card asks you to report it, report it. If it does not, the failure was expected and an admin cannot do anything about it.


Errors you should not report#

These are content filters and account limits. The card deliberately omits the "please report this" line, because nothing is broken.

Blocked by a content policy#

Message What it means
Prompt blocked by Gemini's safety filter Your prompt was rejected before generation started
Blocked by Gemini content policy (prohibited content) The prompt hit a prohibited-content rule
Blocked by Gemini recitation filter (matched copyrighted text) The prompt matched known copyrighted text
Blocked by Gemini (likely copyright or IP) The model refused, most often over a character or brand
Gemini chose not to generate an image for this prompt The model returned text instead of an image
Blocked by OpenAI content moderation GPT Image refused the prompt
MiniMax's content filter blocked this prompt Hint: rephrase without names of real people, characters or brands, or switch /render to the local backend
MiniMax's content filter blocked the generated video The output, not the prompt, was flagged. Try a different prompt or the local backend

Rewording is the only fix. Filters on the cloud models are outside Eimi's control.

Capacity and quota#

Message Hint
GPU ran out of memory Use a smaller resolution, a smaller batch size, or wait for other jobs to finish
GPU memory error during VAE decode Use a smaller resolution, for example 1024x1536 instead of 2048x3072
Upstream API quota exhausted Wait for the quota to reset
Upstream rejected the API key An admin needs to check the key configuration

Out-of-memory errors are worth retrying later, especially if several large jobs were running. Persistent quota errors are worth mentioning to an admin even though the card does not ask.


Errors worth reporting#

Everything else is classed as a bug and the card will say so. These usually mean a file is missing, a setting is out of range, or the backend is unreachable.

Message Hint on the card
Model file not found The selected model may have been moved or deleted
Model file corrupted or incompatible Try selecting a different model
LoRA file not found The selected LoRA may have been moved or deleted
Invalid image dimensions Try standard resolutions like 1024x1024 or 1024x1536
Image size too large Try a smaller resolution
Text encoding error Try simplifying your prompt
Prompt too long Try shortening your prompt
Connection error The backend may be busy or unreachable. Try again in a moment
Workflow validation failed: ... The backend rejected the job setup before running it
ComfyUI client not available The image backend is not connected
Job lost during bot restart (ComfyUI may have restarted) See the restart section below

Anything not on either list shows the first 120 characters of the raw error. Those are always worth reporting.

Tip

When you report a failure, include the prompt and the model. The error text alone is rarely enough to reproduce it.

There is no ticket system behind any of this. Reporting a failure means telling the maintainer, who is one person doing this in their spare time, so a fix arrives whenever they get to it.


Queue-level failures#

Message Meaning
❌ Failed to add job to queue. The global queue is at its 95-job cap. Try again shortly. See The Queue
⚠️ Queue system not ready. The queue is still starting up
❌ Failed to enqueue job. Something went wrong while submitting. Worth reporting

Discord refused your image#

If Discord's own safety filters block the upload, you get a distinct card rather than a generation error:

⚠️ Content Blocked
-# Discord's safety filters blocked this content
-# This can happen if:
-# • The image was flagged as NSFW/explicit
-# • Your safety settings block explicit content
-# • The channel isn't marked as NSFW (age-restricted)
-# Try regenerating or enable NSFW in channel settings

The image was generated successfully -- Discord would not host it. Regenerating with a different seed often works, and posting in an age-restricted channel is the reliable fix.


What happens when the bot restarts#

This is the part worth knowing, because the correct response is almost always wait. Restarts happen fairly often -- a code change, a backend update, a driver crash, or the maintainer needing the GPU for something else. None of that is a fault, and Eimi is built to pick jobs back up afterwards rather than to avoid going down in the first place.

Eimi does not cancel your job when it shuts down. The job and its backend reference are written to the database, so on the next start it can be picked up again. This is true for a clean restart and for a hard crash alike.

On startup, every job that was mid-flight is checked against the backend and gets one of three outcomes:

Backend state Outcome What you see
The job finished while Eimi was down Delivered anyway Your images are posted as normal, with a small (recovered after restart) note under the card
The job is still running or still queued in the backend Re-attached The card flips to ⚙️ Tracking resumed..., then jumps straight back to the correct percentage and finishes normally
The backend no longer knows about the job Failed The error card reads Job lost during bot restart (ComfyUI may have restarted)

Jobs that had not reached the backend yet are simply put back in the queue in their original order. Jobs that were only queued are unaffected.

Do not resubmit immediately

Recovery runs before Eimi reports itself as ready, so give it a moment after a restart. Resubmitting straight away usually means you end up with two copies of the same image and two slots of your 15-job allowance consumed. Only resubmit once you actually see the Job lost during bot restart error.

Buttons keep working across restarts. Both the ❌ on a progress card and the buttons on a finished result card are wired to survive a restart, so you will not get an "interaction failed" error on an older message.

You will also see the bot's status go briefly offline and then return to Listening to your imagination or a job breakdown within a few seconds.


New commands may not appear right away#

Slash commands are not re-registered on every restart. Command registration is a separate step an admin has to enable deliberately, because Discord rate limits it heavily.

Note

If a new command or a changed option was announced but you cannot see it, restarting your Discord client will not help. The registration has not been pushed yet, or Discord has not finished propagating it. Ask an admin rather than assuming your account is missing access.


  • The Queue -- limits, ordering, and lockdown
  • Progress cards -- what a healthy job looks like while running
  • /imagine -- parameters that commonly cause dimension and memory errors
Categories: Queue | Progress | Result Card