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
- Set IMAGE_GEN_MODEL_PREF to a Lemonade-served image model id in .env.
- Confirm the model id is actually loaded by your Lemonade server instance.
- Restart the server after setting the variable.
- 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
- Always set IMAGE_GEN_MODEL_PREF when any image provider is selected — it is shared across providers.
- Confirm the model id is actually loaded by your Lemonade server.
- Validate provider-required env vars together at startup.
- Restart after .env changes.
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
- No Lemonade image generation base path was set.
- No Ollama image generation base path was set.
- No Ollama image generation model was set.
- No OpenRouter image generation model was set.
- No Lemonade API Base Path was set.
AI-assisted analysis of Mintplex-Labs/anything-llm@526360e320 (2026-08-13).
Data as JSON: /api/errors/068ce45d8640ace5.
Report an issue: GitHub.