Modular image generation - supports local SDXL Lightning, OpenAI DALL·E, Replicate, or custom providers
Before writing ANY code, you MUST check:
.claude/library/catalog.json.claude/docs/inventories/LIBRARY-PATTERNS-GUIDE.mdD:\Projects\*| Match | Action | |-------|--------| | Library >90% | REUSE directly | | Library 70-90% | ADAPT minimally | | Pattern exists | FOLLOW pattern | | In project | EXTRACT | | No match | BUILD (add to library after) |
Generate images using the best available provider - local models (free, private) or cloud APIs (fast, paid). Fully modular architecture allows plugging in any image generation backend.
| Provider | Type | Cost | Requirements | Quality | |----------|------|------|--------------|---------| | SDXL Lightning | Local | Free | 8GB VRAM, ~7GB disk | Excellent | | OpenAI DALL-E 3 | API | ~$0.04/image | OPENAI_API_KEY | Excellent | | Replicate | API | ~$0.01/image | REPLICATE_API_TOKEN | Good | | Custom | Any | Varies | User-defined | Varies |
python scripts/multi-model/image-gen/cli.py --list
# First-time setup (downloads ~7GB)
python scripts/multi-model/image-gen/cli.py --setup local
# Auto-selects best available provider
python scripts/multi-model/image-gen/cli.py "A sunset over mountains" output.png
# LinkedIn banner size
python scripts/multi-model/image-gen/cli.py "Tech concept" banner.png --width 1200 --height 630
# Specific provider
python scripts/multi-model/image-gen/cli.py "A cat" cat.png --provider openai
For professional-quality images, combine with visual-art-composition:
Step 1: visual-art-composition (Structure the prompt)
|
+---> 13-dimension aesthetic framework
+---> Cross-cultural synthesis
+---> Productive tension resolution
|
v
Step 2: image-gen (Generate the image)
|
+---> Select best provider (local or API)
+---> Generate high-quality image
+---> Save to specified path
# 1. Get structured prompt from visual-art-composition
/visual-art-composition "tech dashboard for productivity app"
# 2. Generate with structured prompt
python scripts/multi-model/image-gen/cli.py \
"Dashboard UI with linear perspective depth, composed blues and warm golds,
focal hierarchy with clear primary metric, notan two-value contrast.
Modern professional aesthetic, clean geometric forms." \
docs/images/dashboard.png --width 1200 --height 630
Requirements:
Setup:
python scripts/multi-model/image-gen/cli.py --setup local
Environment Variables (optional):
export SDXL_MODEL_DIR="D:/AI-Models/sdxl-lightning"
Requirements:
Setup:
export OPENAI_API_KEY="sk-..."
python scripts/multi-model/image-gen/cli.py --setup openai
Requirements:
Setup:
export REPLICATE_API_TOKEN="r8_..."
python scripts/multi-model/image-gen/cli.py --setup replicate
Create a new provider by implementing ImageGeneratorBase:
from base import ImageGeneratorBase, ImageProvider, ProviderRegistry
class MyCustomGenerator(ImageGeneratorBase):
provider = ImageProvider.CUSTOM
def is_available(self) -> bool:
# Check if provider is configured
return True
def setup(self) -> bool:
# Download models, verify API keys, etc.
return True
def generate(self, prompt, output_path, config=None):
# Generate image
# Return GeneratedImage
pass
# Register
ProviderRegistry.register(ImageProvider.CUSTOM, MyCustomGenerator)
from scripts.multi_model.image_gen.base import ProviderRegistry, ImageConfig
# Get best available provider
provider = ProviderRegistry.get_best_available()
# Configure
config = ImageConfig(
width=1200,
height=630,
num_inference_steps=4
)
# Generate
result = provider.generate(
prompt="A beautiful sunset",
output_path="output.png",
config=config
)
print(f"Generated: {result.path} in {result.generation_time_seconds}s")
prompts = [
"Sunset over mountains",
"City skyline at night",
"Forest in autumn"
]
results = provider.generate_batch(
prompts=prompts,
output_dir="./images/",
config=config
)
visual-art-composition: 13-dimension aesthetic framework for structured promptsprompt-architect: General prompt optimizationpptx-generation: Uses images for presentation slides--list to see what's configured--setup local to download SDXL LightningSDXL_DEVICE=cpuscripts/multi-model/image-gen/cli.pyscripts/multi-model/image-gen/base.pyscripts/multi-model/image-gen/local_sdxl.pyscripts/multi-model/image-gen/api_providers.pyGenerate or edit images via Gemini 3 Pro Image (Nano Banana Pro).
Batch-generate images via OpenAI Images API. Random prompt sampler + `index.html` gallery.
Generate spectrograms and feature-panel visualizations from audio with the songsee CLI.
Extract frames or short clips from videos using ffmpeg.
Search GIF providers with CLI/TUI, download results, and extract stills/sheets.
Category:media-generate