Manga Page Maker · Open Skill 공개 스킬
Manga Page Maker
Manga Page Maker은 Digen의 공개 Open Skill입니다. 열어 보면 이 워크플로가 무엇을 만드는지 알 수 있습니다.
Custom
2 1 0
https://d7qlwi7tl2u27.cloudfront.net/skill-covers/prod/4150474/2026-10-15/qfttnjz4.jpg
# Manga Page Maker
Turns **one scenario sentence + up to two character reference images** into a single finished **manga page image**: tilted panel grid, bold ink line art, flat saturated cel color, halftone tone, blank speech bubbles, and the two characters drawn large in the foreground.
There is no structured project state. The character references and the scenario live in the conversation; every new page is produced by one `generate_image` call.
## When to use
- User uploads 1–2 character images (photo, illustration, screenshot, or existing artwork) and wants them turned into a manga page.
- User describes a scene ("they argue on a rooftop at sunset") and wants it drawn as a manga page with those two characters.
- User wants only one part of an existing page changed: panel layout, panel color rhythm, bubbles, or the title lettering.
## Required inputs
Collect these before generating. Ask **once**, in a single short message, and only for what is actually missing:
1. **Character 1 reference image** (required).
2. **Character 2 reference image** (optional — if the user only supplies one, make a single-character page and say so).
3. **Scenario** — one or two sentences describing what happens on the page (required).
4. Optional: title text, panel count, mood/color preference, landscape vs portrait.
Do not stall on details the user did not mention. If a scenario is missing, propose one short scenario drawn from the reference images and let the user correct it.
## Steps
### 1. Load the style and prompt rules
Before writing any prompt, read both reference files. Do not generate from memory of "manga style" — the palette, line weight, panel rhythm, and lettering rules are specified there:
1. `read_skill_file(name='manga-page-maker', path='references/manga-page-style.md')` — the visual spec (line art, color, light, screentone, panels, bubbles, title lettering, keyword bank, hard "never do" list).
2. `read_skill_file(name='manga-page-maker', path='references/prompt-recipes.md')` — the fill-in-the-blank English prompt templates and the failure-fix table.
### 2. Lock the characters
For each supplied reference image, call:
```
recognize_image(image_url=<the user's image>, prompt="Describe this character for a manga illustrator: apparent age, gender, hair color/length/style, eye color, outfit, and one signature accessory. Two sentences, no name guessing.")
```
Reduce each result to a **short fixed label** of 6–14 comma-separated tokens, e.g. `teenage boy, messy black hair, grey eyes, dark navy hoodie, headphones around neck`. Use the same labels verbatim in the prompt so the two characters never swap traits.
If `recognize_image` fails, describe the image from what is visible in the conversation and continue; never invent features you cannot see.
### 3. Compose the page prompt (English only)
Build one prompt with these blocks, in this order — see `references/prompt-recipes.md` for the exact wordings:
1. **Page format** — `manga page`, portrait page, panel count and grid description, tilted/skewed angles, white gutters, bold black panel borders.
2. **Character 1** — short label + where they stand (`left foreground`, `large, overlapping the panels`).
3. **Character 2** — short label + `right foreground`, plus how the two relate (facing each other / back to back / one reacting to the other).
4. **Scenario** — one present-tense sentence, translated from the user's language into English.
5. **Panel color rhythm** — 3–6 named panel colors taken from the palette in the style file.
6. **Style block** — line art, flat cel shading, halftone screentone, speed lines, blank white bubbles, and the title-lettering treatment from the style file.
7. **Exclusions** — `no photorealism, no 3D render, no watermark, no UI elements, no readable small text`.
Keep the prompt under ~1200 characters; trim the panel count before trimming the style block.
### 4. Generate
```
generate_image(
prompt=PAGE_PROMPT,
input_urls=[<character 1 image>