A Minimax API-based automated webtoon generation system that transforms web novels into professional webtoon content.
Webtoon Title: The Superstition of the Funeral Home (์ฅ๋ก์์ฅ์ ๋ฏธ์ )
Episode: 1
Genre: Horror, Thriller, Emotional, Humanism
Total Panels: 145 cuts
AI Model: Minimax image-01
webtoon-generator/
โโโ _workspace/ # All generated content
โ โโโ 01_research/ # Concept and research phase
โ โ โโโ concept.json # Webtoon concept document
โ โโโ 02_story/ # Script and storyboard
โ โ โโโ beatsheet.json # 145-panel story breakdown
โ โ โโโ script.md # Full dialogue and narration script
โ โโโ 03_visual/ # Visual production
โ โ โโโ panels/ # 145 AI-generated panel images
โ โโโ 04_output/ # Final output
โ โโโ index.html # Complete webtoon HTML
โโโ skills/ # Methodology documents (6 files)
โ โโโ ORCHESTRATOR.md # Workflow orchestration
โ โโโ RESEARCH.md # Trend research methodology
โ โโโ SCENARIO.md # Script writing methodology
โ โโโ PANEL_BREAKDOWN.md # Panel breakdown methodology
โ โโโ VISUAL_RENDER.md # Image generation methodology
โ โโโ ASSEMBLY.md # Final assembly methodology
โโโ src/ # Source code
โ โโโ minimax_api.py # Minimax API client
โ โโโ orchestrator.py # Main orchestrator
โ โโโ agents/ # AI agents
โ โ โโโ research_agent.py
โ โ โโโ scenario_agent.py
โ โ โโโ visual_agent.py
โ โ โโโ assembly_agent.py
โ โโโ utils/
โ โโโ image_generator.py
โ โโโ html_assembler.py
โโโ config/
โ โโโ default_config.yaml
โโโ generate_real_images.py # Image generation script
โโโ generate_fast.py # Optimized generation script
โโโ main.py # CLI entry point
โโโ requirements.txt # Python dependencies
โโโ README.md # This file
The project follows a 6-stage automated pipeline:
- Trend analysis in Korean webtoon market
- Concept establishment
- Target audience analysis
- World-building and setting development
- Episode outline creation
- Beatsheet writing (145 panels)
- Dialogue and narration writing
- Scene breakdown and pacing
- Reference sheet generation
- Panel image generation with AI
- Quality validation
- Regeneration loop for failed panels
- HTML assembly
- Vertical scroll layout
- Atmosphere effects (fog, rain, dark overlays)
- Final quality check
# Navigate to project directory
cd webtoon-generator
# Install dependencies
pip3 install requests pillow pyyaml
# Set API key (optional - already configured in config/)
export MINIMAX_API_KEY="your_api_key_here"
export MINIMAX_GROUP_ID="your_group_id_here"python3 generate_real_images.pyThis optimized script automatically skips panels that have already been generated:
python3 generate_fast.pyRecommended: Open the Portfolio Viewer
Simply open webtoon_viewer.html in your browser:
# macOS
open webtoon_viewer.html
# Or use the absolute path:
open /Users/kimminje/project/webtoon-generator/webtoon_viewer.htmlFull Webtoon (145 panels)
For the complete 145-panel episode:
# Option 1: Direct open
open _workspace/04_output/index.html
# Option 2: Local server (recommended for best performance)
cd _workspace/04_output
python3 -m http.server 8080
# Then visit: http://localhost:8080Note: The portfolio viewer (
webtoon_viewer.html) provides the best viewing experience with project metadata, scene breakdown, and atmospheric effects. The full webtoon is available in_workspace/04_output/index.html.
A 10-year veteran office worker in Pangyo receives news that his close friend's father has passed away. Despite knowing his pregnant wife would disapprove, he decides to attend the funeral. On the way home, he follows traditional Korean superstitions - scattering salt, visiting a public restroom, and walking around a supermarket. That night, strange events begin to occur...
| Cut | Scene | Description |
|---|---|---|
| 1-17 | Opening | Introduction to superstition and ghosts |
| 18-30 | Background | 10-year work life, friendships |
| 31-41 | Conflict | Should he go to the funeral? |
| 42-53 | Journey | Driving to funeral in the rain |
| 54-69 | Horror | 2:17 AM, door handle moving |
| 70-80 | Twist | CCTV footage reveals a faceless woman |
| 81-145 | Resolution | The meaning of superstition, Mahura plate story |
- Superstition vs. Rationality
- Fear of the Unknown
- Family Protection Instinct
- Korean Funeral Traditions
- Ghost and Grudge Mythology
This project follows a multi-agent workflow inspired by the webtoon-harness methodology:
- Research Agent: Analyzes trends and establishes concepts
- Scenario Agent: Creates beatsheets and scripts
- Visual Agent: Generates panel images using AI
- Assembly Agent: Assembles final HTML output
- Reference Sheet First: Generate character/location reference images before panel production
- In-Image Text: All text (dialogue, narration) is rendered within images
- Validation Loop: Check each panel for quality, regenerate if needed
- Consistent Style: Maintain visual consistency across all 145 panels
- Dark color palette (black, dark blue, gray)
- Atmosphere effects (fog, rain, shadows)
- Sound effect overlays (์ฒ ์ปฅ, ๋นต๋นต)
- Tension-building through pacing
| Purpose | Color | Hex |
|---|---|---|
| Background | Black | #0a0a0f |
| Horror Accent | Dark Red | #8b0000 |
| Funeral Gray | Gray | #4a4a4a |
| Night Blue | Deep Blue | #1a1f3a |
| Text | Warm Beige | #d4c4a8 |
- Panel: 9:16 (540x960 pixels)
- Optimized for mobile vertical scroll
- Korean webtoon aesthetic
- Realistic shading with comic style
- Horror atmosphere through lighting
- Cultural authenticity in settings
API_URL = "https://api.minimax.io/v1/image_generation"
MODEL = "image-01"
RESPONSE_FORMAT = "base64"
ASPECT_RATIO = "9:16"# Minimax API
minimax_api_key: "" # Your API key
minimax_base_url: "https://api.minimax.chat/v1"
minimax_group_id: "" # Your Group ID
# Image Settings
image:
default_width: 1280
default_height: 1706
default_style: "webtoon"
max_concurrent: 3
aspect_ratio: "9:16"
# Output Settings
output:
format: "html"
generate_thumbnails: true
output_dir: "_workspace/04_output"| Metric | Value |
|---|---|
| Total Panels | 145 |
| Total Cuts | 145 |
| File Size (Images) | ~32 MB |
| HTML Size | ~250 KB |
| Estimated Reading Time | 5-7 minutes |
| Generation Time | ~60 minutes |
Detailed methodology documents are available in the skills/ directory:
- ORCHESTRATOR.md - Workflow orchestration methodology
- RESEARCH.md - Trend research methodology
- SCENARIO.md - Script writing methodology
- PANEL_BREAKDOWN.md - Panel breakdown methodology
- VISUAL_RENDER.md - Image generation methodology
- ASSEMBLY.md - Final assembly methodology
_workspace/
โโโ 01_research/
โ โโโ concept.json # Webtoon concept and metadata
โโโ 02_story/
โ โโโ beatsheet.json # 145-panel story breakdown
โ โโโ script.md # Full dialogue script
โโโ 03_visual/
โ โโโ panels/
โ โโโ panel_001.jpg # First panel
โ โโโ panel_002.jpg # Second panel
โ โโโ ...
โ โโโ panel_145.jpg # Last panel
โโโ 04_output/
โโโ index.html # Final webtoon HTML
- End-to-end webtoon generation from concept to final HTML
- Multi-agent architecture for specialized tasks
- Quality validation at each stage
- Minimax image-01 model for high-quality panel generation
- Consistent character and scene appearance
- Horror atmosphere effects (fog, rain, dark overlays)
- Mobile-optimized vertical scroll layout
- Lazy loading for images
- Atmospheric effects overlay
- Sound effect bubbles
- Batch processing for efficient image generation
- Resume capability (skip already generated panels)
- Error handling and validation
API Key Error
Error: Invalid API key
Solution: Set your Minimax API key in config/default_config.yaml or as environment variable
Image Generation Fails
Error: Failed to generate image
Solution: Check your API quota and internet connection, then retry
Panels Not Loading
Image not found: panel_001.jpg
Solution: Run python3 generate_real_images.py to generate all panel images
- Use Resume Mode: Run
python3 generate_fast.pyto skip already generated panels - Batch Size: Adjust
max_concurrentin config for your API rate limit - Quality Check: Review generated panels before final assembly
- Python 3.7+
- requests library
- pillow library
- pyyaml library
- Minimax API key
This project is for educational and portfolio purposes.
- Inspired by webtoon-harness methodology
- Powered by Minimax AI image generation API
- Korean webtoon industry for creative inspiration
For the best viewing experience with full project information, atmospheric effects, and easy navigation:
๐ Open: webtoon_viewer.html
Open directly in your browser:
open webtoon_viewer.htmlOr use the full path:
open /Users/kimminje/project/webtoon-generator/webtoon_viewer.htmlThis portfolio viewer includes:
- Project overview and synopsis
- Episode metadata (genre, panel count, reading time)
- Key scene breakdown
- Sample panels with atmospheric overlays
- Navigation links to the full webtoon
File Locations:
webtoon-generator/
โโโ webtoon_viewer.html # โ Portfolio viewer (recommended)
โโโ _workspace/
โโโ 04_output/
โโโ index.html # โ Full 145-panel webtoon
Results:
Generated with AI-powered webtoon production pipeline