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.
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
-
Get a Google AI API key: https://aistudio.google.com/app/apikey
-
Set your API key:
export GEMINI_API_KEY="your-api-key-here"
- 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_KEYandGOOGLE_API_KEYenvironment 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.tomlor~/.config/enikki/config.toml)--lang, -l: Language for UI (enorja, default:en)
Interactive prompts will guide you through:
- Style selection
- Story concept input
- Aspect ratio selection
- Panel count selection
- 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
License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
be3743093a628571681a60a888175873371fed5c891aa98399257fc4c6ec05db
|
|
| MD5 |
d467643797e408b8dc7f09369ade11c0
|
|
| BLAKE2b-256 |
92b93eb53f053bc042f79282691136ff8fadfd5730549aaebbc0613337507092
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5caade6a2da48d0bba9fa499b24f67224bfd3d1446025eb40136f0a481822076
|
|
| MD5 |
48e299a65d81a2b33f094a387db39246
|
|
| BLAKE2b-256 |
2407f425d764cde880ce6b7aa5b2c4358549caa67c127a64d47fb23a5106c7a7
|