# Balloon Page > Lay out a comic or storyboard page in the browser, then have a model script and pace it. https://balloon-page.skillsafe.ai/ Balloon Page is a page editor for short comics and storyboards made by people who are not comic artists: a kids' story, a school project, a safety or how-to briefing, a family anecdote, an explainer, a wedding-speech storyboard, a community notice. The person writes one-line beats, picks a page layout and places speech, thought, shout and whisper balloons, captions and posed figure placeholders. A model writes the words; the page decides where they go. ## What runs free in the browser - Nine layouts (2x2, 6-panel, 3x3, splash plus strip, 1-2-3 tiers, tall plus stack, full splash, 3- and 4-panel strips) and custom grids; any panel splits in two or merges with a neighbour that shares a full edge. Every page is checked to tile its grid exactly - no overlaps, no gaps. - Reading order by recursive XY-cut: tiers top to bottom, columns left to right (right to left for manga). A layout no straight gutter divides is flagged as ambiguous. - A balloon-fit estimator that wraps lettering exactly as it is drawn (13-unit caps lettering) and a word budget per panel from its printed area: about 30 words for a 2x2 panel, 13 for a 3x3 panel, 40 for a splash. - Checks: over-budget panels, balloons whose text overflows, speakers missing from the cast, balloons placed against the reading order, empty panels, pages over about 210 words. - Figures: nine poses (stand, walk, run, sit, point, wave, cheer, kneel, think) and nine emotions, scaled by shot type (establishing, wide, medium, close-up, extreme close-up, over-the-shoulder). - Exports: each page as SVG, a printable version with one page per A4 or Letter sheet, the script as Markdown in standard comic-script form (PAGE / PANEL / description / numbered balloons) and the comic as JSON. ## The model lanes (metered, gpt-terra) - `script`: from the beats and the layout (panel ids in reading order, grid spans, shot, beat, word budget), the model returns per panel a shot, a one-line action, an optional caption and up to three lines of dialogue, plus pacing suggestions - split a panel, merge two, add a beat panel. Dialogue lands in balloons; suggestions are drawn as ghosted panel boundaries the person accepts or declines. - `tighten`: rewrites only the panels the person ticks so their words fit, keeping speakers and information. - Every reply is reconciled against the page: unknown panel ids are ignored, words over budget are flagged "needs a bigger panel", speakers outside the cast are named, and a merge of panels that do not share an edge is marked invalid. ## Developer surface - API tutorial: https://balloon-page.skillsafe.ai/api.html (task field, input fields, reply contract, worked examples, eight languages) - The layout engine and reconciler are plain scripts: https://balloon-page.skillsafe.ai/pagekit.js and https://balloon-page.skillsafe.ai/script.js ## Sources Built on two SkillSafe skills: storyboard-creation (@inferen-sh/storyboard-creation - shot vocabulary, continuity, panel layout and annotation format) and dialogue (@jwynia/dialogue - flat dialogue, same-voice characters, subtext).