99 packs · 455 images · read-only, public, CORS enabled.
GET /api/health | service status |
GET /api/stats | counts, tiers, top theme tags |
GET /api/packs | list packs — ?tier=scene&limit=50&offset=0 |
GET /api/packs/{pack_id} | one pack with all images + captions |
GET /api/search?q= | search titles, tags, captions |
GET /api/verse?book=Luke&chapter=15&verse=11 | packs covering a verse |
GET /api/images/{pack_id}/{file} | PNG image (1360×768) |
| — text → image — | |
POST /api/generate | generate from a prompt, returns PNG bytes |
GET /api/generate/status | is the GPU worker ready? |
GET /create | web page: type a prompt, generate, download |
curl -X POST {BASE}/api/generate \
-H 'Content-Type: application/json' \
-d '{"prompt":"Moses parting the Red Sea"}' \
--output image.png
Body: prompt (required), styled (default true — applies the
library oil-painting style), width, height, steps (4-40),
seed.
Rate limits: 240 requests / 60s per IP. Generation is unlimited; images render one at a time (~1 GPU-minute each), so concurrent requests queue.
Try: /api/packs?limit=5 · /api/search?q=prodigal · /api/stats