Illustrative AI

4 min read Original article ↗

Transform Literature into
Graphic Novels

An open-source AI pipeline that generates 100+ page graphic novels with consistent characters, dynamic layouts, and proper speech bubbles. Batch-first architecture designed for long-form text adaptation.

Python Gemini 2M Context OpenAI gpt-image-1 7-Pass Pipeline PDF / EPUB Export MIT License

How It Works

Three steps from plain text to a complete graphic novel.

1

Upload

Upload any public domain book as a .txt file. Grab one from Project Gutenberg.

2

Customize

Choose from 14 art styles (watercolor, manga, noir, botanical...), 14 narrative tones, page count, and era constraints.

3

Generate

The pipeline writes scripts, generates character references, illustrates panels, composes pages, and exports to PDF/EPUB.

Architecture

A 3-agent pipeline with a 7-pass scripting enrichment system.

Key Handoffs Between Passes

→

Beat Analysis → Director: Visual potential scores inform page allocation and splash decisions

→

Adaptation Filter → Director: Essential/condensable guidance shapes pacing

→

Character Arcs → Scriptwriter: Voice profiles ensure dialogue consistency

→

Blueprint → Scriptwriter: Adjacent page context (prev/next) for continuity

Art Styles & Tones

14 art styles with cinematic prompt fragments, plus 14 narrative tones.

Art Styles

Lush Watercolor Validated

Soft color bleeds, visible paper texture, ethereal lighting, dreamlike quality

Classic Comic Book Validated

Bold outlines, flat colors, Ben-Day dots, dynamic poses, classic 4-color printing aesthetic

Ligne Claire Validated

Uniform line weight, flat colors, clean precise linework, Hergé/Moebius influence

Manga / Anime Validated

Manga panel conventions, clean black linework, dynamic angles, expressive eyes, speed lines

Gritty Noir Validated

Heavy shadows, high contrast, limited palette, chiaroscuro lighting, Frank Miller influence

Botanical Illustration Validated

Precise detail, scientific accuracy, natural color palette, fine line work, naturalist style

Ukiyo-e Woodblock Experimental

Flat areas of color, bold outlines, woodblock print texture, Japanese composition

Cyberpunk Neon Experimental

Neon lighting, dark backgrounds, holographic effects, rain-slicked surfaces

Art Nouveau Experimental

Flowing organic lines, decorative borders, natural motifs, Mucha-inspired

Indian Miniature Experimental

Flat perspective, rich colors, gold detailing, intricate patterns

Vintage Pulp Experimental

Dramatic lighting, saturated colors, action-oriented composition, retro aesthetic

Sketch / Pencil Experimental

Graphite texture, cross-hatching, visible pencil strokes, tonal gradation

Minimalist Line Art Experimental

Single weight lines, minimal detail, negative space, clean composition

Chiaroscuro Experimental

Dramatic light-dark contrast, Caravaggio-inspired, volumetric lighting

Narrative Tones

Heroic Suspenseful Melancholic Whimsical Dark Fantasy Educational Philosophical Satirical Romantic Contemplative Tragic Noir Detective Cosmic Horror Gothic

Paths Explored: Gemini vs OpenAI

Two backends, different tradeoffs. Here's an honest breakdown with real numbers.

Why Dual Backends?

Image generation APIs have outages, quota limits, and regional availability issues. During development, Gemini 3 Pro Image was often unavailable outside us-central1. Having OpenAI as a fallback meant production runs could continue regardless. The factory pattern keeps the switching cost at zero — one config change, no code changes.

Repository Structure

17K+ lines of Python across a clean, modular architecture.

illustrative/
agents/                  # Core pipeline agents
  scripting/             # 7-pass enrichment pipeline
    passes/              # Individual pass implementations
  openai/                # OpenAI alternative backend
  panel_agent.py         # Panel image generation
  reference_agent.py     # Character reference sheets
  compositor_agent.py    # Page layout + text overlay
  layout_agent.py        # Dynamic panel grid generation
  export_agent.py        # PDF/EPUB export
validators/              # Quality assurance
  pre_validators.py      # Prompt validation (saves tokens)
  post_validators.py     # Output quality checking
  consistency.py         # Character consistency audit
  composition.py         # Bubble placement, cropping
ui/                      # Streamlit interface
  pages/                 # Home, auth, dashboard, generate
models/                  # SQLAlchemy ORM models
migrations/              # Alembic database migrations
storage/                 # S3/bucket storage utilities
tests/                   # 12 test files, 4K+ lines
app.py                   # Streamlit entry point
production_run.py        # CLI for full production runs
config.py                # Centralized configuration
cost_calculator.py       # Pay-per-use pricing engine
utils.py                 # Retry logic, rate limiting, manifest

Getting Started

Clone, configure, and generate your first graphic novel.