geelen&company
a project · built with agentic engineering

Image-Card Generator

It began as a script that made image cards. It grew into a conversational agent: you describe the deck you want, it generates it locally on a GPU, you refine it by talking to it, and it hands you print-ready A3 sheets.

Status Internal build · v2.2.0, active
Repository Internal build — source not public
Stack Python · FLUX.1 / SDXL · FastAPI · Ollama
The Bildkarten Agent in use — a dark chat UI with a model selector (SDXL Lightning, 4-step), a row of style presets (Watercolor, Pixel Art, Oil Paint, Pencil, Cartoon, Photo, Flat, Isometric), a describe-an-image prompt box, and card controls for size, card type and difficulty. The generated card is a watercolour illustration of an agentic engineer at a desk surrounded by bees, from the prompt ‘agentic engineer solving problems by orchestrating llm agents shown as bee of 1/0’s, watercolor painting style’, rendered in 1.7s.

The Bildkarten Agent — describe a card, pick a style, and it renders in a second or two, ready to download, flashcard, or save to a library.

Purpose & goals

The Image-Card Generator produces evocative Bildkarten — decks of dreamlike, deliberately ambiguous pictures used as check-in and facilitation material for workshops. Rather than buy a fixed deck, you generate one to fit the session. Three goals shaped it: run the image generation entirely locally, with no cloud service; turn plain text prompts into print-ready A3 card sheets; and let a facilitator refine the images by having a conversation with the tool, not by wrestling with parameters.

Modules & architecture

What started as a handful of standalone scripts has grown into a modular Python package with clear parts:

Functionality & technology

Image generation runs locally on a consumer NVIDIA GPU, alongside a print-layout pipeline that composes finished cards onto A3 sheets with cut lines. The stack is Python on PyTorch and CUDA, with HuggingFace diffusers driving FLUX.1-schnell and the SDXL family; Pillow and ReportLab for print; Typer and Rich for the CLI; FastAPI, Uvicorn and WebSockets for the web UI; and a local model via Ollama to enhance prompts. The recent releases are where it earned the word “agent”: v2.0 introduced the package with conversational refinement, v2.1 added a hot-swappable multi-model selector, and v2.2 added quality modes (fast, balanced, quality) and a “generate all” feature that renders the same prompt across models for comparison.

← Back to Agentic Engineering

VALUES INTENT AND OUTCOME OVER METHOD AND PRECEDENT