Make comics and vertical webtoons with a consistent cast: script panels before drawing, build character reference sheets that hold a look across episodes, letter for phone reading, pace an episode for scroll, and export to verified WEBTOON Canvas, Tapas, and print specs. Use when planning, scripting, lettering, checking, or exporting a comic page, a webtoon episode, or a short serial installment.
name: "comics_and_webtoons" description: "Make comics and vertical webtoons with a consistent cast: script panels before drawing, build character reference sheets that hold a look across episodes, letter for phone reading, pace an episode for scroll, and export to verified WEBTOON Canvas, Tapas, and print specs. Use when planning, scripting, lettering, checking, or exporting a comic page, a webtoon episode, or a short serial installment."
Comics and Webtoons
Purpose
Take a comic or webtoon episode from idea to a clean upload without the three failures that kill most small series: characters who drift off model, lettering nobody can read on a phone, and files the platform slices in the wrong place. This skill is cast neutral. It works for any characters, any genre, drawn by hand, drawn with AI help, or mixed. It covers two formats: vertical scroll episodes for phones, and page comics that can also go to print. Templates live in references/. A worked short episode lives in references/worked-episode.md. A checker for slice math, gutters, and balloon load lives in bin/episode_check.py.
Workflow
1. Lock the format before scripting
Pick one primary format and write it at the top of the episode file. Everything downstream depends on this choice.
- Vertical scroll (WEBTOON Canvas, Tapas): one column, panels stacked top to bottom, read by scrolling. You control timing with vertical space.
- Page comic: panels arranged on a fixed page, read left to right and top to bottom for English. You control timing with panel size and page turns.
Reformatting scroll to page later is hard, because scroll pacing lives in the gaps between panels and page pacing lives in the grid. Decide now. Full numbers are in references/platform-specs.md.
2. Build the cast sheets before episode one
No episode art starts until every recurring character has a reference sheet. A sheet holds, at minimum:
- Front, side, and three quarter views of the head and the full body.
- The standard outfit drawn flat, with every recurring detail named: closures, pockets, logos, damage, jewelry.
- An expression set: neutral, happy, angry, scared, surprised, tired. Six is enough to start.
- Hair from the back and the side. Hair silhouette is where off model art shows first.
- Exact palette swatches with hex values for skin, hair, outfit, and one accent. Reuse the swatches, never re-pick colors by eye per panel.
- A height chart with every cast member standing on one baseline, heights stated in head units.
- Three things that must never change, written as plain rules. Example: scar stays on the left cheek. Glasses are always round. The jacket is never buttoned.
Run the consistency pass in step 7 against these sheets. A character with no sheet gets no close ups. Full template: references/character-sheet-template.md.
3. Script the episode panel by panel
Write the script before thumbnails. One row per panel, five fields per panel:
- Panel number and type (establishing, dialogue, action, reaction, detail, reveal, silent).
- Visual: one sentence on what is in frame, who is in it, and where the camera sits.
- Dialogue or caption: the exact words, or the word NONE.
- Gutter after: the vertical space before the next panel, in pixels at export width.
- Scene change flag: yes when time or place changes after this panel.
Rules that keep the script drawable:
- One action per panel. If the visual sentence needs the word "then", split the panel.
- One speaker turn per panel where you can manage it. Two speakers in one scroll panel force small balloons and crossed tails.
- Write the cliffhanger or closing beat first for serial episodes, then script backward to the opening. An episode that ends flat loses the reader at the exact moment the next episode needs them.
- Open on a recap beat or a fresh hook in the first two panels. Scroll readers decide fast.
Episode shape that works as a starting point, stated as practice and not as a platform rule: 25 to 40 panels for a weekly scroll episode, built as hook (2 to 4 panels), setup (5 to 8), escalation (8 to 12), turn (3 to 5), closing beat or cliffhanger (2 to 4). Shorter episodes are fine when they land one clean beat. Panel templates and a blank beat sheet are in references/panel-templates.md.
4. Thumbnail the whole episode at phone size
Thumbnail every panel as a rough box with rough balloon shapes inside, at the real proportions. Two checks happen here and nowhere else as cheaply:
- Balloon space: draw each balloon at the size its words need, with the actual words scribbled in. A tiny placeholder circle lies to you. If a balloon covers a face or the key action, rewrite the line or restage the panel now, while it costs nothing.
- Scroll rhythm: read the thumbnail strip top to bottom. Tight gutters read fast. Long gutters read slow. Move space, not art, to fix pacing.
Keep balloons in reading order inside every panel: first balloon highest and leftmost, tails pointing at the speaker without crossing each other or another balloon.
5. Draw to the sheets, letter for the phone
Art pass:
- Check every panel against the cast sheet before inking: silhouette, palette swatch, never change list.
- Leave the balloon areas empty or lightly toned in the art. Never draw key detail where a balloon has to sit.
Lettering pass, done as its own pass after art:
- One point size for all normal dialogue in the episode. Never shrink the font to fit a balloon. Split the line or enlarge the balloon instead.
- One balloon holds about one sentence, or one breath of speech. If you have to breathe in the middle of reading it aloud, split it.
- Black text on a white balloon is the default because the contrast reads at small sizes. Save colored text for emphasis or a non human voice, and use it the same way every time.
- Tails point at the speaker mouth area, stay short, and never cross. If two tails would cross, restage the speakers or swap balloon positions.
- Sound effects are art, not dialogue. Place them inside the action, keep them off faces, and use one style per kind of sound across the whole series.
- Test at real size: export one dense panel, view it on a phone at arm length, and read it without zooming. If you squint, the lettering is too small or the balloon is too crowded. Fix the script, not just the font size.
Font choice: use a comic lettering font with a clear crossbar I, even spacing, and bold and italic cuts that match the regular cut. Blambot is a standard source for this class of font. Check the font license before a commercial release.
6. Pace the scroll with gutters
At 800 px export width, WEBTOON guidance is at least 200 px of vertical space between panels for a normal beat, and 600 px to 1000 px for a location or scene change, where the extra space signals time passing or distance. Use the range on purpose:
- 0 px to 100 px: panels touch or nearly touch. Reads as one moment, good for action chains and overlays.
- Around 200 px: the default breath between beats.
- 300 px to 500 px: a pause inside one scene. Use before a reveal so the reveal lands alone on screen.
- 600 px to 1000 px: scene change, time skip, or a long fall or drop drawn as one tall panel plus space.
One panel should fill most of a phone screen at a time for reveals and emotional beats. Crowding three panels onto one screen flattens all three. Run bin/episode_check.py on the episode plan to catch gutters under the floor and scene changes with no extra space.
7. Run the consistency and readability checks
Before export, work this list in order. Any fail goes back to the step named.
- Model check: flip through the episode and the cast sheets side by side. Hair silhouette, palette, never change list, relative heights. Fail goes to step 5.
- Balloon check: every balloon has one speaker, one breath of text, a tail that reaches the right speaker, and no crossed tails. Fail goes to step 5.
- Order check: cover the art and read only the balloons top to bottom. The scene must still make sense in order. Fail goes to step 4.
- Phone check: read the full export on a phone, no zooming, in normal room light. Fail goes to step 5.
- Plan check: run the checker on the episode plan file. Slice count, file count, gutter floors, and balloon word counts must pass or carry a written reason.
bash
python3 ~/workspace/skills/comics-and-webtoons/bin/episode_check.py ~/workspace/skills/comics-and-webtoons/examples/episode-plan.json
8. Slice and export to the target platform
Work big, export small. A common working setup is 1600 px wide at 300 dpi, with total length kept in multiples of 1280 px so slice counts stay predictable. Export at the platform size:
- WEBTOON Canvas: slices of 800 px by 1280 px, JPG or PNG, each slice at most 2 MB, at most 100 files, at most 20 MB total per episode. RGB.
- Tapas: files at most 940 px wide by 4000 px tall each. Keep the same 800 px width as Canvas when cross posting, so one export serves both.
- Print page comic: trim 6.625 in by 10.25 in, bleed 0.125 in on every side (file 6.875 in by 10.5 in), keep text and faces at least 0.25 in inside the trim, 300 dpi, CMYK.
Slice on panel boundaries where you can. A slice that cuts through a face or a balloon reads as a glitch in the scroll. Preview the sliced episode in the platform preview before publishing, and scroll it once on a phone after publishing. Thumbnails and the rest of the numbers are in references/platform-specs.md.
Output Contract
A finished episode package contains:
- The episode script: one row per panel with visual, exact dialogue, gutter after, and scene change flag.
- Cast sheets for every recurring character in the episode, with palette hex values and the never change list.
- The thumbnail strip with balloon shapes drawn at real size.
- The export set sliced to the target platform spec, plus the checker output showing pass or a written reason for each warning.
- A one line log per episode: panel count, slice count, total file size, and what the closing beat is.
Operating Rules
- Script before art, sheets before episodes, lettering as its own pass. Skipping the order is how drift and cramped balloons happen.
- Never shrink dialogue type to fit a balloon, and never stretch a balloon over a face to fit the type. Rewrite the line.
- State platform numbers only from
references/platform-specs.md. Platforms change specs, so recheck the linked source before a launch or a format change.
- Panel counts and episode shapes in this skill are working practice, not platform rules. Say so when you pass them on.
- Keep one palette file and one lettering style per series. New looks enter through the cast sheet first, then the episodes.
- Do not copy a living artist style, character design, or panel layout as a template. Learn the mechanics, use your own cast and staging.
- Keep AI generated panels on the same leash as hand drawn ones: same sheets, same palette, same checks. A panel that fails the model check gets redrawn or regenerated, never shipped because it was expensive to make.
No ratings yet — be the first to rate it.