How chaithumoorpa/comiccraft works
ComicCraft is a FastAPI web app that turns a user's idea into a five-panel comic: Gemini creates an outline and story text, image generation renders panels, and the app assembles a layout and exports a PDF. The routes own this orchestration, including the separate JSON export and image-test endpoints. The README documents the major capabilities; wiring shown here is based on sampled routes and service source, while static-file serving is visible in the app entry point.
Main entry points: routes.py API routes · main.py FastAPI app · image_generator.py Image generator · gemini_client.py Gemini client
Components 16
Web interface
- API routes
app/routes.py - Request schemas
app/schemas.py - Page templates
templates/index.html - FastAPI app
app/main.py - App settings
app/config.py
Story generation
- Outline generator
app/services/gemini_flash.py - Story generator
app/services/gemini_pro.py - Gemini client
app/services/gemini_client.py
Panel artwork
- Image generator
app/services/image_generator.py - Panel images
static/panels
Layout and export
- Layout builder
app/services/layout_builder.py - PDF exporter
app/services/exporters.py - Exported PDFs
static/exports
Other components
- Comic creator
- Gemini API
- Stable Diffusion
Connections 24
- Comic creator → API routes: submits prompt
- API routes → Request schemas: validates input
- API routes → Outline generator: requests outline
- Outline generator → Gemini client: requests JSON
- Story generator → Gemini client: requests JSON
- Gemini client → Gemini API: calls model
- Gemini client → App settings: reads credentials
- API routes → Story generator: expands outline
- Story generator → App settings: reads model
- Outline generator → App settings: reads model
- API routes → Image generator: generates panels
- Image generator → App settings: reads image settings
- Image generator → Stable Diffusion: renders panels
- Image generator → Panel images: writes images
- API routes → Layout builder: assembles layout
- API routes → PDF exporter: exports PDF
- PDF exporter → Panel images: reads images
- PDF exporter → Exported PDFs: writes PDF
- API routes → Page templates: renders pages
- Comic creator → FastAPI app: requests pages or files
- FastAPI app → API routes: dispatches requests
- FastAPI app → Panel images: serves static files
- FastAPI app → Exported PDFs: serves static files
- API routes → Exported PDFs: downloads PDF