Mintplex-Labs/anything-llm · error · Error
No valid image generation provider was set. Got: ${provider}
Error message
No valid image generation provider was set. Got: ${provider} What it means
Thrown by getImageGeneratorProvider() in its switch default when process.env.IMAGE_GEN_PROVIDER matches no case (openai, ollama, lemonade, openrouter). The function reads the provider directly from the env var, so any unsupported value — including an empty string when image generation is invoked — yields this error. It is the image-gen analogue of the LLM provider switch.
Source
Thrown at server/utils/helpers/index.js:349
function getImageGeneratorProvider() {
const provider = process.env.IMAGE_GEN_PROVIDER;
switch (provider) {
case "openai":
const { OpenAiImageGenerator } = require("../ImageGenerators/openAi");
return new OpenAiImageGenerator();
case "ollama":
const { OllamaImageGenerator } = require("../ImageGenerators/ollama");
return new OllamaImageGenerator();
case "lemonade":
const { LemonadeImageGenerator } = require("../ImageGenerators/lemonade");
return new LemonadeImageGenerator();
case "openrouter":
const {
OpenRouterImageGenerator,
} = require("../ImageGenerators/openRouter");
return new OpenRouterImageGenerator();
default:
throw new Error(
`No valid image generation provider was set. Got: ${provider}`
);
}
}
/**
* Returns the LLMProviderClass - this is a helper method to access static methods on a class
* @param {{provider: string | null} | null} params - Initialize params for LLMs provider
* @returns {BaseLLMProviderClass}
*/
function getLLMProviderClass({ provider = null } = {}) {
switch (provider) {
case "openai":
const { OpenAiLLM } = require("../AiProviders/openAi");
return OpenAiLLM;
case "azure":
const { AzureOpenAiLLM } = require("../AiProviders/azureOpenAi");
return AzureOpenAiLLM;View on GitHub (pinned to 526360e320)
Solutions
- Set IMAGE_GEN_PROVIDER to a supported value ('openai', 'ollama', 'lemonade', 'openrouter') or disable the image feature.
- Guard callers: only invoke getImageGeneratorProvider() when the user has actually enabled image generation.
- Trim/validate the env value at startup and fail fast with a clear message.
- Confirm the matching ImageGenerators/*.js module exists in this build.
Example fix
// before
const gen = getImageGeneratorProvider(); // IMAGE_GEN_PROVIDER unset
// after
if (!process.env.IMAGE_GEN_PROVIDER)
throw new ConfigError('IMAGE_GEN_PROVIDER must be set to use image generation');
const gen = getImageGeneratorProvider(); Defensive patterns
Strategy: validation
Validate before calling
const SUPPORTED_IMG = ['openai','ollama','lemonade','openrouter'];
if (process.env.IMAGE_GEN_PROVIDER && !SUPPORTED_IMG.includes(process.env.IMAGE_GEN_PROVIDER))
throw new Error(`IMAGE_GEN_PROVIDER '${process.env.IMAGE_GEN_PROVIDER}' is not supported`); Type guard
function isSupportedImageProvider(v): v is string {
return ['openai','ollama','lemonade','openrouter'].includes(v);
} Try / catch
try {
const gen = getImageGeneratorProvider();
} catch (e) {
if (e.message.startsWith('No valid image generation provider'))
return res.status(503).json({ error: 'Image generation not configured' });
throw e;
} Prevention
- Only call getImageGeneratorProvider() when the user enabled image generation.
- Validate IMAGE_GEN_PROVIDER at startup.
- Disable image features in the UI when the env var is unset.
When it happens
Trigger: IMAGE_GEN_PROVIDER unset or set to an unsupported value while a feature requests an image generator. Calling getImageGeneratorProvider() when the user never configured image generation.
Common situations: Enabling an image-generation feature flag without setting IMAGE_GEN_PROVIDER; a typo in the env var; upgrading to a build where a provider key was renamed; leaving the value blank and triggering doodle/image generation.
Related errors
- ENV: No valid LLM_PROVIDER value found in environment! Using
- Unsupported provider ${JSON.stringify(provider)} for this ta
- Cannot create JWT as JWT_SECRET is unset.
- No base URL was set.
- No OpenAI API key was set.
AI-assisted analysis of Mintplex-Labs/anything-llm@526360e320 (2026-08-13).
Data as JSON: /api/errors/10f5f7a62ce29a89.
Report an issue: GitHub.