Web2Comics

Web2Comics Engine CLI Manual

Purpose

engine/ provides a standalone command-line comic generation engine that does not require Chrome.

It accepts:

It produces:

Command

node engine/cli/comic-engine-cli.js --input <path> --config <path> --output <path> [options]
node engine/cli/comic-engine-cli.js --url <https://...> --config <path> --output <path> [options]

Equivalent npm command:

npm run engine:comicify -- --input <path> --config <path> --output <path>

CLI Options

Environment Variables

The engine loads .env.e2e.local and .env.local from repo root (if present).

Supported keys:

YAML Format

Example structure:

input:
  format: auto           # auto|html|text
  max_chars: 14000
  strip_selectors:
    - script
    - style
    - nav
    - footer

generation:
  panel_count: 3
  objective: summarize
  output_language: en
  detail_level: low
  style_prompt: "clean comic panel art, consistent characters"

providers:
  text:
    provider: gemini     # gemini|openai|openrouter|cloudflare|huggingface
    model: gemini-2.5-flash
    api_key_env: GEMINI_API_KEY
  image:
    provider: gemini
    model: gemini-2.0-flash-exp-image-generation
    api_key_env: GEMINI_API_KEY

runtime:
  timeout_ms: 120000
  image_concurrency: 3
  retries: 1

output:
  width: 1400
  panel_height: 700
  caption_height: 120
  header_height: 120
  footer_height: 34
  padding: 24
  gap: 16
  background: "#f8fafc"
  brand: "Made with Web2Comics Engine"

Included Example Configs

Example Runs

Gemini:

npm run engine:comicify -- --input engine/examples/sample-story.txt --config engine/examples/config.gemini.yml --output engine/out/gemini-comic.png --debug-dir engine/out/gemini-debug

OpenAI:

npm run engine:comicify -- --input engine/examples/sample-story.txt --config engine/examples/config.openai.yml --output engine/out/openai-comic.png --debug-dir engine/out/openai-debug

Saved HTML:

npm run engine:comicify -- --input path/to/page.html --config engine/examples/config.gemini.yml --output engine/out/page-comic.png

Live URL (snapshot + original flow):

npm run engine:comicify -- --url https://en.wikipedia.org/wiki/Comics --config engine/examples/config.gemini.yml --output engine/out/wiki-comic.png --debug-dir engine/out/wiki-debug

Performance Notes

Test Command

npm run test:engine