Skip to main content

A CLI tool to generate picture-diary style manga from text conversations

Project description

enikki

A CLI tool to generate picture-diary style manga from text conversations. Uses Gemini 3 for script and image generation.

日本語版 README はこちら

Features

  • Interactive UI: Enter story, style, panel count, etc. through an interactive interface
  • 19 Style Presets: 4-panel manga, shonen, shojo, webtoon, American comics, and more
  • One-shot Generation with Gemini 3: Generate a single manga image with consistent character appearance
  • Step-by-step Confirmation: Review and regenerate at each step (script and image)
  • Character Image Reference: Specify a character image for better consistency

API Usage Costs

enikki uses the Google Gemini API. Here are the approximate costs per manga generation:

Models and Pricing

Process Model Input Price Output Price
Script Generation gemini-3-pro-preview $2.00/1M tokens $12.00/1M tokens
Image Generation gemini-3-pro-image-preview $2.00/1M tokens $120.00/1M tokens (image)

*Image output consumes approximately 1,120 tokens per image

Estimated Cost per Generation (4-panel manga)

Process Input Tokens Output Tokens Cost
Script Generation ~1,500 ~500 ~$0.009
Image Generation ~800 ~1,120 (1 image) ~$0.14
Total - - ~$0.15

*Regeneration will incur additional costs *Character image input adds approximately 560 tokens ($0.001)

Tips to Reduce Costs

  • Review the script before proceeding to image generation (image generation is more expensive)
  • Write specific additional instructions to minimize regeneration attempts

For details, see the Gemini API Pricing Page.

Quick Start

  1. Get a Google AI API key: https://aistudio.google.com/app/apikey

  2. Set your API key:

export GEMINI_API_KEY="your-api-key-here"
  1. Run with uvx (no installation required):
uvx enikki run

That's it! For Japanese UI, add --lang ja:

uvx enikki --lang ja run

Note: Both GEMINI_API_KEY and GOOGLE_API_KEY environment variables are supported.

Installation (Optional)

Using pip

pip install enikki
enikki run

From source

git clone https://github.com/kentaro/enikki.git
cd enikki
pip install -e .
enikki run

Usage

Interactive Mode (Recommended)

uvx enikki run
# or if installed via pip
enikki run

Global options:

  • --config: Path to config file (default: config.toml or ~/.config/enikki/config.toml)
  • --lang, -l: Language for UI (en or ja, default: en)

Interactive prompts will guide you through:

  1. Style selection
  2. Story concept input
  3. Aspect ratio selection
  4. Panel count selection
  5. Character image specification (optional)

Generation flow:

  • Step 1: Script Generation → Review → OK / Add instructions and regenerate / Go back / Quit
  • Step 2: Image Generation → Preview → OK / Add instructions and regenerate / Go back / Quit
  • Step 3: Save → Open completed image

Quick Mode

uvx enikki quick "A story about meeting a strange customer at a cafe" --style essay --panels 4

Options:

  • --style, -s: Style ID (default: yonkoma)
  • --panels, -p: Number of panels (default: 4)
  • --ratio, -r: Aspect ratio (default: 9:16)
  • --character, -c: Character image file
  • --output, -o: Output file (auto-generated with timestamp if omitted)
  • --backend, -b: Backend (gemini / mock)

Show Available Styles

uvx enikki styles

Available Styles

Japanese Manga

ID Name Description
yonkoma 4-Panel Manga Classic 4-panel format with setup-development-twist-conclusion
shonen Shonen Style Dynamic compositions and powerful expressions
shojo Shojo Style Delicate lines and decorative elements
seinen Seinen Style Realistic art and mature themes
yuru Yuru-fuwa Daily Cute deformed characters and heartwarming scenes
horror Horror Manga Eerie atmosphere and fear-inducing expressions

Web Comics

ID Name Description
webtoon Webtoon Style Full-color vertical scroll format
sns SNS Manga Simple, easy-to-read single-page format
essay Essay Manga Style for depicting real-life experiences

International Comics

ID Name Description
american American Comics Hero comic style with bold expressions
bd Bande Dessinée European artistic comic style
manhwa Manhwa Style Korean manga style

Art / Experimental

ID Name Description
pixel Pixel Art Retro game-inspired pixel graphics
watercolor Watercolor Soft watercolor brush strokes
ukiyoe Ukiyo-e Traditional Japanese woodblock print style
noir Film Noir High contrast black and white cinematography

Education / Business

ID Name Description
infographic Infographic Visual information presentation style
educational Educational Manga Easy-to-understand explanatory manga
corporate Business Manga Clean style for corporate use

Author

Kentaro Kuribayashi

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

enikki-0.1.0.tar.gz (116.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

enikki-0.1.0-py3-none-any.whl (127.2 kB view details)

Uploaded Python 3

File details

Details for the file enikki-0.1.0.tar.gz.

File metadata

  • Download URL: enikki-0.1.0.tar.gz
  • Upload date:
  • Size: 116.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.11

File hashes

Hashes for enikki-0.1.0.tar.gz
Algorithm Hash digest
SHA256 be3743093a628571681a60a888175873371fed5c891aa98399257fc4c6ec05db
MD5 d467643797e408b8dc7f09369ade11c0
BLAKE2b-256 92b93eb53f053bc042f79282691136ff8fadfd5730549aaebbc0613337507092

See more details on using hashes here.

File details

Details for the file enikki-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: enikki-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 127.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.11

File hashes

Hashes for enikki-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5caade6a2da48d0bba9fa499b24f67224bfd3d1446025eb40136f0a481822076
MD5 48e299a65d81a2b33f094a387db39246
BLAKE2b-256 2407f425d764cde880ce6b7aa5b2c4358549caa67c127a64d47fb23a5106c7a7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page