Mintplex-Labs/anything-llm · critical · Error

No Lemonade image generation model was set.

Error message

No Lemonade image generation model was set.

What it means

Thrown synchronously in the LemonadeImageGenerator constructor after the base-path check. IMAGE_GEN_MODEL_PREF selects which model Lemonade serves for image generation; without it the OpenAI client would send an undefined model. Note this is a shared variable also used by other image providers, so it must be set whenever any image provider is selected.

Source

Thrown at server/utils/ImageGenerators/lemonade/index.js:9

const { parseLemonadeServerEndpoint } = require("../../AiProviders/lemonade");
const { BaseImageGenerator } = require("../base");

class LemonadeImageGenerator extends BaseImageGenerator {
  constructor() {
    if (!process.env.IMAGE_GEN_LEMONADE_BASE_PATH)
      throw new Error("No Lemonade image generation base path was set.");
    if (!process.env.IMAGE_GEN_MODEL_PREF)
      throw new Error("No Lemonade image generation model was set.");
    const { OpenAI: OpenAIApi } = require("openai");
    super({
      client: new OpenAIApi({
        baseURL: parseLemonadeServerEndpoint(
          process.env.IMAGE_GEN_LEMONADE_BASE_PATH,
          "openai"
        ),
        apiKey: process.env.IMAGE_GEN_LEMONADE_API_KEY || null,
      }),
      model: process.env.IMAGE_GEN_MODEL_PREF,
      className: "LemonadeImageGenerator",
    });
  }
}

module.exports = { LemonadeImageGenerator };

View on GitHub (pinned to 526360e320)

Solutions

  1. Set IMAGE_GEN_MODEL_PREF to a Lemonade-served image model id in .env.
  2. Confirm the model id is actually loaded by your Lemonade server instance.
  3. Restart the server after setting the variable.
  4. Remember IMAGE_GEN_MODEL_PREF is shared across image providers — set it to the id appropriate to the active provider.

Example fix

# before
IMAGE_GEN_PROVIDER=lemonade
IMAGE_GEN_LEMONADE_BASE_PATH=http://localhost:8000
# (no model)

# after
IMAGE_GEN_PROVIDER=lemonade
IMAGE_GEN_LEMONADE_BASE_PATH=http://localhost:8000
IMAGE_GEN_MODEL_PREF=stable-diffusion-xl
Defensive patterns

Strategy: validation

Validate before calling

function hasImageModel() {
  return typeof process.env.IMAGE_GEN_MODEL_PREF === 'string'
    && process.env.IMAGE_GEN_MODEL_PREF.trim().length > 0;
}
if (!hasImageModel()) {
  throw new Error('Set IMAGE_GEN_MODEL_PREF before using image generation.');
}

Type guard

function isImageModelSet() {
  return !!process.env.IMAGE_GEN_MODEL_PREF && process.env.IMAGE_GEN_MODEL_PREF.trim().length > 0;
}

Try / catch

try {
  generator = new LemonadeImageGenerator();
} catch (e) {
  if (/No Lemonade image generation model/.test(e.message)) {
    throw new Error('Set IMAGE_GEN_MODEL_PREF to a Lemonade image model and restart.');
  }
  throw e;
}

Prevention

When it happens

Trigger: Instantiating new LemonadeImageGenerator() when process.env.IMAGE_GEN_MODEL_PREF is unset or empty.

Common situations: Selecting Lemonade (or any image provider) without choosing a model; relying on a default that does not exist (Lemonade has no built-in default unlike OpenAI's gpt-image-1); switching providers but clearing the model field; container env missing IMAGE_GEN_MODEL_PREF.

Related errors


AI-assisted analysis of Mintplex-Labs/anything-llm@526360e320 (2026-08-13). Data as JSON: /api/errors/068ce45d8640ace5. Report an issue: GitHub.