Skip to main content
llms.py is a lightweight CLI and web UI to access hundreds of AI models across many providers. Its out of the box support for image models is limited. With the Lumenfall extension, you can access all of our image models inside llms.py.

How it works

The Lumenfall extension registers as an image generation provider inside llms.py. Once installed, you can generate images from any terminal with a single command:
The extension:
  1. Registers as a provider once added to ~/.llms/llms.json and LUMENFALL_API_KEY is set
  2. Routes all image requests through Lumenfall’s unified API
  3. Caches generated images to disk and displays local file paths

Prerequisites

Installation

Configuration

1. Set your API key

The API key is configured via the LUMENFALL_API_KEY environment variable. To make it available in every shell session, add it to your shell profile:

2. Register the provider (Optional)

If you want to be able to turn the provider on and off in the web interface, add it to the providers section of ~/.llms/llms.json:

Usage

List available models

Generate images

Basic generation

Output:

Using different models

Edit images

Image editing is also supported through Lumenfall.
Even image editing models that usually can’t be used in a conversational interface, like Seedream-4.5, can be used with turn based editing.

Web UI

llms.py includes a built-in web UI where all Lumenfall functionality - image generation and editing - works the same as on the CLI. Start it with:
Then open http://localhost:8000 in your browser.

Available models

Lumenfall strives to offer every image model that exists, backend by multiple providers. You can find our current selection in the model catalog. For models that are available on other providers in llmspy, the first match is used. See “Routing” below to control this.

Routing with other providers

llms.py uses the first matching provider for a given model. To ensure all image requests go through Lumenfall, list it first in your providers config - before any other providers that may also serve image models (e.g. Google, OpenAI, or OpenRouter):

Known limitations

  • Provider forcing not supported. Lumenfall providers cannot be forced by prepending the provider in the model (e.g. replicate/gemini-3-pro-image) as usual.

Next steps

API Reference

Explore the full API documentation.

Available models

See all available image generation models.