Next.js image generation studio powered by Fal.ai with local-first history.
- Parallel generation across supported models:
fal-ai/nano-banana-2fal-ai/nano-banana-profal-ai/gpt-image-1.5xai/grok-imagine-imagefal-ai/bytedance/seedream/v5/lite
- Automatic mode switching:
- No references => text-to-image endpoint
- References present => edit endpoint
- Reference input via URL, upload, or paste
- Optional
Enhance prompttoggle:- Choose
Grok 4.20(default),Gemini 3.1, orGLM 5for prompt enhancement - When enabled, prompt text is transformed into strict JSON using the selected OpenRouter model
- Enhanced JSON is then sent to Fal.ai
- If enhancement fails, generation falls back to the original prompt for that request
- Choose
- Reference previews with remove controls
- Generating and generated galleries with model badges
- Per-image actions: add-to-references, download, delete
- Full-screen modal with click-to-zoom behavior
- Local persistence only (localStorage metadata + IndexedDB image payloads)
Create .env.local:
cp .env.example .env.localSet your keys:
FAL_API_KEY=your_fal_api_key
OPENROUTER_API_KEY=your_openrouter_api_keyOPENROUTER_API_KEY is only required when using the Enhance prompt switch.
npm install
npm run devOpen http://localhost:3000.
npm run build
npm run startBuild the image:
docker build -t genx:latest .Run it:
docker run -d \
--name genx \
--restart unless-stopped \
-p 3000:3000 \
-e FAL_API_KEY=your_fal_api_key \
-e OPENROUTER_API_KEY=your_openrouter_api_key \
genx:latestOPENROUTER_API_KEY is optional unless you use the Enhance prompt feature.
Create .env from the example and set keys:
cp .env.example .envStart:
docker compose up -d --build- If you use the Docker Compose Manager plugin on Unraid, place this repo on your array/cache (for example
/mnt/user/appdata/genx) and rundocker compose up -d --buildfrom that path. - If you use the Docker tab template UI, configure:
- Repository/Image:
genx:latest(if you built locally on the Unraid host) or your pushed registry tag - Host Port: your preferred port (for example
3000) - Container Port:
3000 - Env vars:
FAL_API_KEYand optionalOPENROUTER_API_KEY
- Repository/Image: