ketle-manandClaude Opus 5.5 c32ddfaa7b v1.69.0: OCR・MOSS-Image の bbox に選択モードと削除の取り消し、Chat TE と画像生成の VRAM 重なり対策
- OCR/MOSS-Image: 「選択」モード(ドラッグで枠を描かず選択・移動・拡縮のみ)
- OCR/MOSS-Image: 削除した枠を「元に戻す」ボタン / Ctrl+Z で元の位置・重なり順に戻す
- Chat TE の前に ComfyUI のモデルを /free で降ろし、Chat TE 使用後の画像生成前にも降ろす
  (MOSS 等と Qwen3-VL-8B が同時に載ると CUDA illegal memory access で ComfyUI が落ちていた)
- ヘルプ・README(日英中)、DEVLOG を更新

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-08 17:12:34 +09:00

ComfyUI Comic Creator

English | 日本語 | 中文

A manga page creation SPA (single-page application) that runs on top of ComfyUI. Pages are managed in units of "works" (page groups); you create pages from templates, place images, speech balloons, text, shapes, and 3D poses into panels, and export as JPEG/PNG/WebP/SVG/PDF/EPUB. A layer-based image editor, font manager, AI image generation (Nanobanana), and script management are all built in, aiming to cover the entire manga-making workflow from a single node.

ComfyUI Comic Creator

Features

Page / Work management
  • Work (page group) management — Pages are grouped into "works" that carry a width/height. Templates are automatically resized to the work's size when inserted
  • Templates — Create panel-layout templates either by importing an SVG or with the wizard (draw lines to split the page into panels). SVG import works regardless of which drawing tool produced the file — Inkscape, Illustrator, Affinity Designer, CorelDraw, and others are all supported (rect/path/polygon/polyline/circle/ellipse, including nested groups and transforms), so you can just draw the panel borders visually and save. The SVG's width attribute (a real-world size with a unit) is used to automatically detect whether a scale correction is needed to match panel border widths with other templates, showing a confirmation dialog where you can review and adjust the multiplier if so (normalizes to the internal coordinate scale of "1 user unit = 0.01mm"). Templates assigned to a template group are shown under a collapsible group header in the Layout tab's "Templates" asset panel, making it easier to find the one you want as your template count grows. Turning on the wizard's "Design" checkbox lets you create a design template with no margin around the page and no gap between panels at all (for uses like flyer creation) — the frame width is forced to 0, and the panel border thickness can still be adjusted independently after placing the template on a page, via the Layout tab's "Panel Border Width". The "Insert as Page" button next to the group-filter dropdown at the top of the Page tab's "Templates" sub-tab also lets you insert the selected template as a new page into the work you currently have open (same operation as inserting from the Layout tab's "Template" asset panel) On first launch, two basic templates (A4 portrait / A4 landscape, 3 panels each) are registered automatically, and the "Quick" button creates a single page from the selected template right away (change the panel line width in the Layout tab).
  • Export — Export as JPEG/PNG/WebP/SVG/PDF/EPUB, including bulk export of multiple pages with sequential filenames. The libraries (jsPDF/JSZip) are bundled, so every format also works offline
  • SVG export (re-editing in external software) — Exports the page as vector data without rasterizing it, keeping text as real <text> elements, speech-balloon shapes as vector paths, and fonts self-contained via Base64 embedding. Confirmed to be nearly fully re-editable in Inkscape and Affinity Designer/Publisher. Adobe Illustrator breaks image links (requiring manual re-linking), making it impractical for real re-editing; CorelDraw hangs when loading the file and is unsupported
  • Automatic output size via resolution — The "Resolution" selector (72–600dpi) calculates the output pixel size from the work size (mm); manual input is still available. PDF conversion uses the selected dpi, preserving the physical page size (A4, etc.)
  • Export metadata — Embed title, author, subject, and keywords into every format (PDF = document properties / EPUB = Dublin Core / PNG = iTXt / JPEG & WebP = XMP). Resolution (dpi) is also always embedded (PNG = pHYs / JPEG = JFIF density / WebP = EXIF), so all three formats report the same dpi
  • Bulk backup / restore — From the "Backup & Restore" card in the Settings tab, save all works, pages, templates, trash, and settings (including Auto works / AI settings and integration settings) into a single zip and restore anytime (merge mode: same names are overwritten)
Layout tab
  • Image placement — Drag and drop images into a panel or the overlay (to target the overlay, either select "Overlay" in the layer panel first, or drop directly onto existing overlay content). Resize (aspect ratio locked by default, hold Alt to resize freely) and rotate with handles. The toolbar's Delete button isn't limited to images — it deletes whichever object is currently selected (balloon, text, shape, or group too), same as the Delete/Backspace key
  • Sub-panels — Drag to add a rectangular or circular sub-panel inside a panel as a nested image target (e.g. an inset cut). Move, resize, and rotate with handles; parts that extend outside the parent panel are automatically cropped, just like any other object. Border thickness can be set per sub-panel. A "Move sub-panel" checkbox in the layer panel toggles whether clicking inside selects the sub-panel itself instead of the objects inside it. The layer panel's duplicate/move buttons also work on the sub-panel itself, including moving/duplicating it to another panel or to the overlay (re-parenting)
  • Panel split — In the "Split" sub-tab, turn panel split ON and drag across a panel to split just that panel in two along a line at any angle. The gap between the two panels is auto-detected from the existing panels on the page. Existing objects that fully fit inside the new panel move with it; locked panels and sub-panels cannot be split
  • Panel deform / delete — In the "Deform" sub-tab, destructively reshape the selected panel (gaps between panels and the outer margin are ignored): drag vertices, delete a vertex (quad → triangle; triangles cannot be reduced), or drag an edge to translate it in parallel (keeping its direction; the end vertices slide along the neighboring edges). "Lock outer edge" (ON by default) protects vertices on the outer boundary of the layout, and locked panels cannot be deformed or deleted. Delete a panel with the ✕ button on its layer-panel row or "Delete panel" (its images, balloons and sub-panels are deleted too; Undo supported)
  • Speech balloons — Place oval, rounded-rectangle, thought, burst, and cloud (puffy/wavy) shaped balloons inside panels, with 8-point resize handles. The No tail checkbox sets the tail length to 0 to hide it (unchecking restores the previous length). The burst shape has an inner curve slider that rounds the notch and flank between spikes while keeping the tips sharp. The Embed Text button lets you auto-wrap and embed text into any of these shapes (vertical writing, a line-height slider, text color, bold, a cross-axis position adjustment independent of the main alignment, Google/System/Category font selection, and double-click to re-edit an already-embedded text). Custom SVG balloons from assets can also have their fill/border colors changed after placement Embedded text can be moved freely by dragging the triangular corner at the bottom-left of the dotted box shown on selection (double-click opens the usual modal).
  • Extension balloons — Inspired by Comic Life's "extension balloon" feature. The Add Extension button adds a balloon of the same shape and color as the selected one, connected by a neck, so a long line of dialogue can be split across multiple balloons. Extensions can be individually repositioned, resized, rotated, and given their own embedded text. Moving the base also moves any extensions with it (resizing/rotating the base does not affect their position), while moving an extension only stretches the neck. Dragging the tail from the base toward an extension lets it reach the outer edge of the combined shape. Even where balloons overlap, no interior lines appear — only the outer outline of the whole connected group is shown
  • Text — Vertical/horizontal writing, Google Fonts / system fonts, a style modal for fill, stroke, outline, shadow, line height, vertical alignment, and text alignment. The preview supports multiple lines; below Size, a line-height slider plus button-style vertical alignment (top/center/bottom) and text alignment (left/center/right) — the same controls as the balloon's embedded text — let you adjust and check multi-line text (in vertical writing, vertical alignment controls the position within each column, text alignment the left-right spread of the columns). Line height, vertical alignment, and text alignment are applied to the real text on both the Layout and Image tabs. Fills support gradients, textures (with adjustable X/Y position), and no-fill in addition to solid colors (shared between the Layout and Image tabs) Drag a blue edge-center handle to stretch the text taller or wider, Shift+drag to skew along the edge into a parallelogram; "Reset deform" restores it Corner handles keep the opposite corner fixed and scale in the direction you drag.
  • Shape drawing (Draw) — Draw rectangles, ellipses, lines, curves, polygons, vector curves, chains, ropes, and My Curve directly onto an SVG layer. Polygons: click to add vertices, click near the start point to close. Vector curves: click to add nodes connected by a smooth spline, click near the start point to close as a filled shape, or press Enter to commit as an open line. Fills (rectangles, ellipses, polygons, vector curves, etc.) support gradients, textures (with configurable X/Y offset that follows the shape when moved or resized), and no-fill in addition to solid colors. Converting a shape to PNG preserves these fills as well
  • Paint tool — A raster-brush painting feature, separate from vector shape drawing. Clicking "Add Paint" creates an image sized exactly to the selected panel/overlay/draft layer, selects it automatically, and turns Draw ON so you can start brushing right away (turning on the "Background" checkbox to its left fills it with an opaque color instead of full transparency, avoiding black backgrounds when sent to I2I). The brush works on any selected regular image too, not just newly added paint objects. Supports brush color, opacity, and size (slider), plus x5 (5x brush size) and eraser toggles whose ON/OFF state is shown by button color. With a pen tablet, brush size and opacity automatically change with pen pressure (mouse operation keeps the fixed size and opacity as before). Paint objects appear in the layer panel with a 🖌 icon and the name "Paint" to distinguish them from regular images. The "Merge Selected" button composites 2+ checked images/paint layers in the layer panel into a single PNG (preserving stacking order and rotation), useful for sending multiple layers combined to I2I. Useful for rough sketches to edit in the Image tab, or for creating I2I reference images
  • Mask tool — Add multiple mask layers to a panel, overlay, or individual object (image, balloon, text, shape, or group), of two types — hide and show — stacked and composited together. Adjust the brush (paint/erase), size, and hardness while painting, with an optional semi-transparent red preview of the hidden area. Supports bulk invert/clear/fill-all operations and per-layer temporary enable/disable. With a pen tablet, brush size automatically changes with pen pressure (mouse operation keeps the fixed size as before)
  • 3D pose — Place a VRM/GLB/GLTF model inside a panel, pose it, and bake it into the image. A model placed in the model/ folder of comfyui-vrm-pose-editor is loaded automatically as the default model (with several, the node's Default Model setting is shared; v0.21.0 or later). Supports a draggable LookAt target, spring bone (hair/skirt) physics, and a breeze wind effect with a draggable wind-direction marker. Toolbar sliders adjust the camera's FOV (10–120°) and Near clip plane (0.01–5). The 🎛 Editor button opens the "Light & Pose Editor" (always starts on the Pose tab; switch between 💡Light/🕺pose/🖼 Image at the top): the Pose tab has shape keys (with an Auto Blink on/off toggle and interval slider at the top of the list, for VRMs with a blink expression), a 📚 Pose Library (pick a .json/.vroidpose/.vrma pose from the poses/ folder's thumbnails and apply it instantly; .vrma files can be previewed in a mini player and imported onto the keyframe timeline with "🔑 Load KEY"), and a keyframe timeline (switch Pose/Camera/Light/Wind/😑 Blink tracks, scrub to any frame with the playback bar, then click "📸 Capture" to commit that exact frame's pose straight into the panel); the Light tab manages multiple lights (Sun/Point/Spot/Box/Ambient), the Ground/BG Wall, and saved presets; the Image tab loads a picture and, with "▶ Run SAM3D", estimates the person's pose and applies it to the VRM (uses ComfyUI's native SAM 3D Body node — ComfyUI 0.38 or later, with the model installed in models/detection/ yourself) (via comfyui-vrm-pose-editor; the Image tab and Auto Blink require v0.21.0 or later) The 🎛 Editor can be switched to VRM Pose Studio under "3D Pose Editor" in the Settings tab: VPS opens in a new tab with the selected panel shape as a frame (with the panel name, output size locked to the panel); set up the pose and camera and press "📤 Send to CC panel" to insert the image into that panel (opened from CC, VPS starts with a transparent background and the ground hidden; the panel size is not saved in the VPS project).
  • 3D text — Extrude text (including Japanese), or the vector paths of an SVG file, into 3D using Three.js and bake it into the image ("Text" / "SVG" mode switch). Supports TrueType Collection (.ttc) fonts, common among Windows CJK system fonts (Yu Gothic, Meiryo, etc.). Choose between a Standard material (metalness/roughness) or Toon (MToon-compatible shading), and set the front-face and side-face colors independently (a separate material is applied to the geometry's front/back cap faces versus its extruded side faces). The ⚙ 3D Settings (3D Text Editor) modal has a 3-column layout: a tab switcher for Light / Material / Camera on the left, a live preview embedded directly inside the modal in the center, and an always-visible Text panel (content, font, alignment, line height) on the right. Bevel thickness, size, and segment count can also be fine-tuned, and are automatically disabled with a warning if too large for the shape. Zoom control mode and enhanced antialiasing are shared with the 3D Pose light editor (via comfyui-vrm-pose-editor)
  • Groups and layer panel — Group objects, manage stacking order, toggle visibility, lock, and delete with the Delete / Backspace key. Alt+click the visibility icon to toggle every object of the same type (balloon, image, text, or drawn shape) across the whole page at once — all panels, the overlay, and the draft layer, including objects nested inside groups
  • Asset registration — The 📦 button on a group row registers the group as an SVG asset (choose a target group or create a new folder → enter a filename → register; it is reflected in the asset panel immediately). The 📦+ button at the top of the layer panel (to the left of the ↑↓ buttons) lets you register an ungrouped individual item (image, balloon, text, or drawn shape) the same way — check its box, exactly one at a time (checking two or more shows a message). When the single selected item is an image, it is saved directly as the image itself instead of being wrapped in an SVG group, so inserting it into a panel later doesn't create an unnecessary group. The checkbox is cleared automatically once registration finishes
  • Draft layer — A draft-only layer that sits in front of the overlay and covers the whole page (images only). Clicks only reach it while it's selected (edit mode); otherwise clicks pass straight through to the overlay/panels/objects below. Never included in output (JPEG/PNG/WebP/SVG/PDF/EPUB). The Image tab's "Draft" button creates a canvas at the same aspect ratio as the active work at 72dpi, and the "Layout" button automatically inserts it into this layer at full page size
  • Generate integration (formerly I2I integration) — The "Generate" button opens a modal where you switch between three targets — a selected image, the whole page, or a single panel (picked via the prompt tabs) — and run I2I/T2I generation via Workflow Studio on the spot. Prompts are split into an "Overall" tab plus one "Panel N" tab per panel on the current page, each with its own independent Positive/Negative. A batch checkbox appears only when the target is the whole page: on, it batch-generates every panel on the current page (combining the "Overall" tab prompt with each panel tab's prompt) and replaces each panel's image in turn; off, it keeps the previous behavior of compositing the whole page into one flat image and always inserting the result into the overlay at full page size (for rough previews). A T2I checkbox next to the Run button switches to generating from text only, without an input image (the Denoise field is hidden while it's on). Default workflows to auto-load can be configured independently for I2I and T2I in the modal's collapsible "Workflow Settings" section (the I2I setting is shared with the I2I panel of the Image tab's Select tool, via ComfyUI-Workflow-Studio). A Fetch from Auto button fills the story of the work currently open in the Auto tab into the "Overall" tab, and the background/acting direction of each panel of the selected script page into the corresponding "Panel N" tab, as Positive prompts (overwriting existing input; panels are matched by order only; independent of transferring from Auto's Auto Layout)
  • PixiJS FX — Apply particle/filter effects to the selected image from the "Image" sub-tab. Supports stacking and reordering multiple filters, with combinations saveable/loadable/deletable as presets (via comfyUI-particle-pixijs)
  • Video tool (experimental) — The "Video" sub-tab lets you place an MP4 video in a panel and play/pause it, adjust volume/mute, and capture a still image from any frame. Place a video by dragging and dropping an MP4 file onto a panel, or by sending it from Workflow Studio's Gallery tab via "Send CC" (via ComfyUI-Workflow-Studio). The video file itself is stored on the ComfyUI server (not duplicated into the browser database), and the original video object is left unchanged after capturing a still image, so it can be reused in other panels The ✥ Move mode suspends the preview so you can drag and resize the video object.
  • Manga tool — "Halftone" (an "Convert image" mode that halftones the selected image, plus a "Create pattern" mode that generates a halftone dot pattern sized to the panel/overlay), "Manga effects" (generate and insert vignette, screentone noise, and speed lines — radial / uni flash / uni ring / linear — as transparent objects sized to the panel), and "Background Pattern" (generate stripes, dots, checks, Japanese traditional motifs — asanoha/ichimatsu/shippou/uroko — or a custom SVG as a transparent object sized to the panel; adjustable color, opacity, size, and rotation angle, with independent width/height for custom SVGs). All three modals let you switch the preview background between the selected image, a checkerboard, and white while adjusting
  • Inserting text (Insert) — the Insert button in the Text sub-tab opens a modal: insert the cell selected in the Script tab, or the text detected in the OCR tab. OCR text goes into the overlay as one text per box position; choose the font size from "auto from the region size" or a fixed size, and the direction from auto / horizontal / vertical
Image tab (layer-based Canvas 2D editor)
  • Select / Text / 3D Text / Draw / Shape / Fill / Mask / Blur / Filter / BG Remove / Upscale tools (the Select tool now displays selection bounds and transform handles for objects outside the canvas via an extended control overlay, and draws a real checkerboard pattern on transparent areas to clearly indicate canvas boundaries; 3D Text shares the same engine and settings modal as the Layout tab, via comfyui-vrm-pose-editor)
  • Crop / Extend Canvas (in the Select tool) — Crop lets you set the crop area by dragging a resizable overlay (8 handles) or entering X/Y/width/height numerically in the property panel, then apply; resizes the whole canvas and shifts each layer's content to match (undoable). The Extend Canvas button next to it adds pixel-precise padding on each of the four sides independently (or check "link all sides" to apply one value to all four at once), with a margin color of transparent, white, or black (white/black automatically add a fill layer at the very back so the color appears in exported output). Both features now show their inputs and Apply/Cancel controls in the property panel
  • Select I2I — While the Select tool is active, an always-visible I2I panel lets you set Positive/Negative prompts and Denoise and click Run to execute a Workflow Studio I2I generation on the spot. Switch the target between "All" (all layers composited) and "Layer" (only the selected layer); the result is added as a new layer that inherits the original layer's position, size, and rotation (via ComfyUI-Workflow-Studio)
  • Draft canvas creation — The "Draft" button (next to New) creates a new canvas with no size dialog, sized at the same aspect ratio as the active work at 72dpi (for rough sketches). The "Layout" button inserts it into the Layout tab's draft layer at full page size
  • PSD (Photoshop) support — "Open PSD" loads a PSD file together with its layer structure (opacity, blend mode, and visibility are restored too; it always starts as a new document rather than merging with existing work). The "PSD" save button exports the layer composition as a PSD file (since PSD cannot represent an adjustment layer as an independent layer, its effect is baked into the nearest visible layer beneath it before export)
  • Action bar: Save / Send to — Organized into Save (PNG / PSD / Project / Gallery) and Send to (Eagle / wsI2I / LI Node / Layout). wsI2I is the former "Send to I2I" (sends to Workflow Studio's Generate UI Image input slot); LI Node is a new feature that sends the composited result directly into the image widget of the node currently selected on the ComfyUI canvas (e.g. Load Image) — only available when opened from ComfyUI's "CC" button, via the same mechanism as ComfyUI-Workflow-Studio's "Send to Workflow"
  • Color palette for the Draw tool — Switch between Color 1 and Color 2, with 20 basic colors and 20 custom slots. Basic and custom colors can be registered and edited, and are saved in the browser. Shortcuts (while using Draw): D Draw / E Erase / X switch Color 1/2 / [ ] brush size / B brush picker
  • Eyedropper for the Draw tool — Pick a color directly from the canvas via the button next to the color picker. With a pen tablet, brush size and opacity automatically change with pen pressure (mouse operation keeps the fixed size and opacity as before)
  • Same Layer mode for the Shape tool — Keep adding shapes to the same layer instead of creating a new one for every shape. Rectangle/ellipse fills support gradients and textures (with adjustable X/Y position) in addition to solid colors
  • Fill tool — Solid color fill, or linear/radial gradient fill with a color ramp and direction pad
  • Mask tool — Paint/Color/Alpha/Text/Vector/Shape sub-tools, also supporting SAM3 segmentation and ABR brushes (tool set implemented with reference to comfyui-mask-editor-one). The Paint sub-tool's brush size automatically changes with pen tablet pressure (mouse operation keeps the fixed size as before). When Workflow Studio is installed, an Inpaint button is added to the sub-tool bar for mask + prompt-based generative inpainting (via ComfyUI-Workflow-Studio)
  • Outpaint (Workflow Studio integration) — Used via the Outpaint button next to Inpaint in the Mask tool (no need to create a mask layer beforehand). Set the Top/Right/Bottom/Left padding (can be linked), the margin fill (Edge Pixels / transparent / white / black), Positive/Negative prompts, Grow Mask By, and Denoise, then click Run to do it all in one step: (1) composite a base image with the canvas extended by the padding, (2) auto-generate a mask (white = margin to generate, black = original area to keep), and (3) send both to Workflow Studio — on success the canvas is resized and the result added as a new layer. Since diffusion models' VAE encode/decode round-trip crops a few pixels off when the image size isn't a multiple of 64px (which would leave a transparent gap in the result), the padding on the side(s) being extended is automatically rounded up to a multiple of 64px before sending. Its default workflow can be set independently from Inpaint's, via "Outpaint Settings" in the Settings tab
  • PixiJS FX — Apply particle/filter effects to the active layer from a toolbar button. Supports stacking and reordering multiple filters, with combinations saveable/loadable/deletable as presets (via comfyUI-particle-pixijs)
  • Layer panel — Add, duplicate, delete, reorder, adjust opacity, and 12 kinds of adjustment layers (brightness, contrast, saturation, etc.). Multi-select layers and click Merge to combine only the selected ones (merging mask layers together keeps the result as a mask layer). The 📁 Group button on the toolbar's second row folds multi-selected layers into a collapsible group folder (with bulk show/hide and ungroup, undoable)
  • Project saving — Save the entire layer composition and resume editing at any time. Saved projects live in the asset panel's "I" tab, browsable from both the Layout tab and the Image tab. In the Image tab, selecting a project and clicking "Open" resumes editing; in the Layout tab, the same "Open" instead inserts the saved thumbnail as a regular image into the currently selected panel
  • Text tool Insert — inserts the Script tab's selected cell, or the text detected in the OCR tab, as text layers (OCR texts are placed at their box positions and grouped under an "OCR" group; size and direction options are the same as in the Layout tab)
Font manager
  • Preview Google Fonts and system fonts, with category management
  • Create and save "Styles" (fill, stroke, outline, shadow, line height, vertical alignment, text alignment — the same button-style controls as the balloon's embedded text, applied to the real text on both the Layout and Image tabs) and "Presets" (font + size + style), and apply them instantly from the Layout / Image tabs
  • A "Set as default font" button that sets the selected font directly as the Auto tab's "Auto Layout" sub-tab default font (auto-saved)
Nanobanana+ (AI image generation)
  • Generate images via the Gemini API (Positive/Negative prompts, model, and resolution). Model choices: gemini-3.1-flash-lite-image / gemini-3.1-flash-image / gemini-3-pro-image / gemini-nano-banana-2.1
  • Output size can be set to 1K (default)/2K/4K (supported models only); I2I accepts up to 14 reference images
  • Generated images are automatically saved to ComfyUI's own output/cc_nanobanana folder
  • Generation history is logged to a JSON Lines file (output/cc_nanobanana/history.jsonl, one JSON object per line: date/time, model, resolution, prompt, etc.), via an auto-record checkbox or a per-result manual button (edit/delete by opening the file directly)
  • Local mode (Nanobanana+) — the tab is now called "Nanobanana+". A radio at the top switches between "Nanobanana / Local"; in Local you can register several saved Workflow Studio workflows (Image Edit types such as Flux.3 Image Klein or Qwen Image 2.1) with display names via the ⚙ button and generate with them. I2I reference images are assigned to LoadImage nodes in order (for workflows with up to 10 image inputs such as Qwen Image 2.1, LoadImage nodes are added or removed to match the number of images you drop). Image size, Steps, CFG, sampler, scheduler, Denoise and seed (Random / Fixed / Increment) are common basic settings. Generation settings and I2I input share one screen (left = prompts + basic settings, right = Image-to-Image)
  • Engine selector — choose "ComfyUI native node (Comfy credits)" under Nanobanana Settings in the Settings tab (or in the Nanobanana tab); it applies to the Nanobanana tab, the semi-automatic manga feature and the Auto tab (when its image engine is Gemini) alike. It runs ComfyUI's own Nano Banana 2.1 node (Gemini Nano Banana 2.1 / Nano Banana 2 / Nano Banana 2 Lite) through ComfyUI's /prompt (usable alongside the direct Gemini API route). Images are saved to output/cc_nanobanana_native/ as PNGs with the prompt and settings embedded, so no history record is needed (also viewable in Workflow Studio's Metadata tab / Gallery). Authentication uses COMFY_API_KEY in .env; usage is billed as Comfy credits. Nano Banana Pro (gemini-3-pro-image) is not supported by the native route
MOSS-Image (local image generation with layout control)
  • Generate locally from a dedicated tab with MOSS-Image (OpenMOSS, 5B DiT, Apache-2.0), which ComfyUI supports natively (no Comfy credits or external API key). Strong at rendering text, including Japanese
  • Three columns: layout editor on the left, settings in the middle (top tabs: Prompt / JSON / Model & Sampler; the "Target" group is collapsible), generate and result on the right
  • Layout editor — drag on the canvas to place Object (green), Panel (yellow), Character (pink), and Text (cyan) boxes (bboxes). Drag a box edge, its number, or the inside of the selected box to move it, and a corner to resize. You can also draw a new box over an unselected box (Shift+drag always draws)
  • Text boxes — type directly inside the box right after drawing it (finish with Escape / Ctrl+Enter, press twice quickly to edit again). Set the font size (px) and horizontal / vertical writing; the typed text becomes the box (bbox) size (approximate). Vertical text treats line breaks as columns (right to left)
  • "Import panels from current page" brings the Layout tab's panel frames in as Object boxes (the canvas switches to the page aspect ratio, about 2MP; a checkbox imports them with the panel label instead)
  • Importing balloons and lines — "Import balloons and lines" brings the balloons that contain text in as Text boxes in one go (the box is the balloon outline; the writing direction, font size, and shape are carried over; re-importing replaces only the boxes imported earlier). "Also import text without a balloon" brings in standalone text placed with the Text tool too. Text boxes with empty text are not sent (shown dashed)
  • Generation modes — whole page (placed over the full page) / per panel (about 1MP from each panel aspect ratio, placed in the panel) / free size (generate only)
  • Seed — choose Random (default) / Fixed / Increment per run. "Last seed" and "Fix this seed" let you reproduce a result you like
  • The sent prompt (MOSS-Image layout JSON) can be checked in the "JSON" tab and also edited and sent directly. Presets (standard 50 steps / light 25 steps / fast DMD 8-step and Turbo 4-step), Skip Layer Guidance, and LoRA are supported
  • "Enhance the prompt" lets the text encoder (LLM) rewrite a short idea into a detailed caption before generating (the same enable_prompt_enhancer as the official template; not applied when a layout is used). In the layout, "New" deletes everything and "Clear Imported" deletes only imported boxes
  • Generated images are saved to ComfyUI's own output/cc_moss folder
  • Place / hand-off buttons — "Layout overlay" (whole page) / "Place in panel", and "Open in Image tab" (opens the selected image as a new canvas / new layer in the Image tab)
  • Generate with text disabled — a checkbox under the Generate button that excludes the layout editor's text boxes from generation (and the JSON tab) only, without deleting them
OCR (detect bboxes and text from an image, then hand off to MOSS-Image)
  • A dedicated tab that detects text (content and position) and the positions (bbox) of panels, characters, balloons, etc. from an image (drop, paste, or file picker). Runs entirely locally with Ollama
  • Text is read by an OCR model (maternion/LightOnOCR-3:4b); panels, characters, faces, objects, balloons, sound effects and captions are detected by a general vision LLM (default gemma4:e4b). The classes to detect are chosen with checkboxes
  • Detected boxes can be moved by dragging, resized by the corners, added and deleted on the canvas; class, text and description can be edited in the list on the right. "Copy all text" and "Copy JSON" export the result
  • MOSS-Image handoff — "Send to MOSS-Image tab" imports the result into the MOSS-Image layout as object / panel / character / text bboxes. Text inside a balloon etc. is merged into one text box. Sending again replaces only the boxes imported from the previous OCR
  • The model settings section is collapsible (the open/closed state is remembered)
  • Whole-image read (Chat TE) — for covers with many large vertical headlines, the ComfyUI custom node Chat TE (Qwen3-VL-8B) reads the whole image and replaces the OCR box text (it gives no positions, so only the text is matched to the boxes; on automatically in the magazine cover and text-only modes). On four magazine covers it read more vertical text than LightOnOCR. Because ComfyUI can crash when Chat TE and an image-generation model such as MOSS-Image are both in VRAM, the models in ComfyUI are unloaded automatically when switching between them
  • Re-reading crops — each detected text box is cropped from the original image and read again by another model (default: manga-tuned PaddleOCR-VL, ollama pull hf.co/LunarOilRig/PaddleOCR-VL-manga-GGUF:Q4_K_M), which improves vertical and stylized text. "…", "!" and "?" are converted to full-width automatically. A single selected box can also be re-read
  • Modes — the collapsible Mode at the top of the settings switches all individual settings at once: Auto (recommended, experimental) / Manga page / Magazine cover or poster / Text only / Illustration (no text) / Tall page (read in tiles) / Custom. Changing an individual setting switches to Custom automatically
  • Multi-select and move — Shift+click boxes to add or remove them from the selection, then move or delete them together (OCR and MOSS-Image tabs)
  • Select mode and undo delete — in Select mode, dragging never draws a box; you can only select, move and resize (prevents accidental drawing). Boxes removed by Delete or Clear can be restored to their original position and stacking order with the Undo button or Ctrl+Z (OCR and MOSS-Image tabs)
  • Judging with a decision model (optional) — after detection, crops are shown to a vision-capable decision model (clef-flash, d3, etc.; Ollama 0.40 or later) to re-classify text boxes (balloon / caption / sfx / text) and drop VLM boxes that contain no text
  • Overall prompt — the detection model (VLM) describes the whole image in English, and "Send to MOSS-Image tab" replaces the MOSS-Image overall prompt (the summary when a layout is used) with it (optional)
  • Preprocessing and retry — if OCR returns nothing or repeats the same words, it is retried once automatically in grayscale. The Settings tab VRAM adjustment also runs before OCR and before judging
Auto (AI manga auto-creation)
  • Creates a story and then a script with AI from a theme and page count (assumes a person edits and finishes the result; independent of the Script tab as a new work)
  • The script is edited as a page → panel → dialogue table (importance, background / acting direction, speaker, balloon type). Malformed AI output is recovered as far as possible (first by repairing incomplete JSON by adding missing closing brackets, then by line-based recovery if that still fails)
  • AI engine: local LLM (Ollama / LM Studio / Lemonade / Unsloth) or Gemini (API key shared with Nanobanana). Settings are stored in this app (Unsloth uses UNSLOTH_API_KEY in .env; no key is needed if Keyless API access is on in Unsloth Desktop). When creating the story/script, the AI is instructed to write in the current UI display language (Japanese/English/Chinese); whether it actually does depends on the model. The theme/story/script loaded by the "Sample" button is also in the current UI display language (pre-translated into all three languages)
  • Talk about and edit the story and script in Chat (apply replies with "Apply to story" / "Apply to script", undoable), plus Auto tools (story to script, dialogue polish, story refinement, character sheets) — both the request text a tool sends and Chat's reply language follow the UI language setting (Japanese/English/Chinese)
  • Image generation from Chat (choose Local (Workflow Studio) or Gemini with radio buttons, with AI-written image prompts). Generated images are saved to output/cc_auto
  • Auto Layout sub-tab — Automatically generates a panel layout from the script via importance-weighted recursive subdivision (Balanced / Asymmetric / Diagonal seams / Vertical strip / Horizontal strip styles, right-to-left or left-to-right reading order, a panel gap independent of the outer margin). The "Generate" button produces a different random layout each time it's pressed (Asymmetric/Diagonal styles). Select a panel to assign balloons and images (images can be AI-prompted and generated, or picked from previously generated images). "Detail Edit" transfers the pages to the Layout tab (balloons are always drawn above images where they overlap)
  • Automatic balloon sizing — Auto Layout transfers and the Script tab's "Auto-generate balloons" size each balloon and its text from the length of the line so it fits the panel (capped at the default size and shrunk only when needed; shouts slightly larger, narration slightly smaller; placed from the reading start side-by-side or stacked, whichever keeps the text larger). Can be turned on/off in Settings (off = the old even placement)
  • Decision model integration — Shares Workflow Studio's "Decision Model" settings (Unsloth's Laya / Ollama 0.35+ tev1, nimble, etc.) to estimate the balloon shape (speech / thought / shout / narration) from each line and panel importance (sets panel size in Auto Layout) from the panel's context. Only values whose probability reaches the threshold are rewritten. Each item can be turned on/off; it runs right after the script is created or applied from Chat, or with the Script tab's "Estimate with decision model" button. The app must be opened at the same address (host:port) as Workflow Studio
  • Auto Layout ↔ Page-tab template integration — Each template in the Page tab's "Templates" list can be sent to Auto Layout with the "Send to Auto Layout" button at the top (next to "Insert as Page") — only one template can be sent at a time; sending another replaces it. The sent template appears in Auto Layout's "Template" tab, from which it can be assigned to the currently displayed page. Conversely, Auto Layout's "Save as template" button saves the panel layout of the page currently shown there as a new template in the Page tab (browsing/managing the template list stays consolidated in the Page tab)
Script tab
  • Manage the screenplay in a hierarchy of Title → Synopsis → Plot [Pages → Panel breakdown (scene, image prompt, elements, dialogue/description, etc.)]
  • Insert any plot cell's content into the Layout tab as text with one click
  • Media type (Manga / Semi-Auto Manga / Novel / Screenplay) — a sub-tab foundation for switching the editing screen per work (fixed per work). "Manga" and "Semi-Auto Manga" share the same panel-breakdown editing screen while keeping each work's data separate (Novel and Screenplay are planned)
  • Semi-automatic manga creation — the "Map this page to the layout" button maps each panel of a template-applied Layout-tab page to the script's panels in panel-number order. The "Get from Layout" button matches this page's panel count to the actual panel count of the currently selected Layout-tab page (shows a confirmation dialog if panels with entered data would be removed). The plot table has a per-line "Balloon Shape" dropdown (Default / Normal / Rounded rectangle / Thought / Bomb / Cloud (puffy) / Cloud (wavy)); the "Auto-generate balloons" button then automatically creates dialogue-filled balloons in the shape specified per line (rounded rectangle by default) in each mapped panel (sized automatically to the amount of dialogue; adjustable afterward with the existing manual editing tools). The "L" button adds Workflow Studio-based prompt drafting (Ollama/LM Studio). The "Batch-generate images (T2I)" button opens a dedicated modal with the same layout as "Batch-generate images (I2I)" (overall Positive/Negative combined with each panel's prompt, an option to skip panels with an empty prompt, and a T2I default-workflow setting) to run batch T2I image generation sized to each panel's aspect ratio. The "Batch-generate images (I2I)" button opens a dedicated modal equivalent to the Layout tab's I2I modal (overall Positive/Negative combined with each panel's prompt, with an option to skip panels that have an empty prompt) and runs batch I2I generation using each panel's current image as input. The "Batch-generate images (Nanobanana)" button uses Nanobanana (the Gemini image generation API) instead of Workflow Studio, automatically picking the closest Nanobanana resolution preset to each panel bounding box aspect ratio and scaling the result on insert (with model selection and a "2K" toggle; generated images follow the Eagle auto-save setting). The same "2K" toggle was added to the Nanobanana tab (sets the Gemini API's ImageConfig.imageSize, supported models only). Since the Gemini image generation API has no numeric parameter for controlling I2I edit intensity, the previous I2I strength slider was removed from both the Nanobanana tab and the semi-automatic manga modal
External integrations
  • Workflow Studio — Embedded gallery view, bidirectional I2I (image ↔ workflow) transfer
  • Eagle — Save generated/edited images to Eagle automatically or manually
  • G'MIC — Filter editing integrated with the G'MIC Qt GUI
Other
  • Multilingual UI (i18n) — Switch between Japanese, English, and Chinese in the Settings tab (the entire Help tab is also available in all three languages)
  • Help tab — A searchable, comprehensive in-app reference covering every feature

Installation

Manual installation

Place this folder inside ComfyUI's custom_nodes/ directory:

ComfyUI/
└── custom_nodes/
    └── comfyui-comic-creator/
        ├── __init__.py
        ├── py/
        ├── templates/
        ├── static/
        ├── web/
        └── assets/

The core features require no additional Python packages (aiohttp / Pillow are already bundled with ComfyUI itself). The Image tab's PSD (Photoshop) support is the only feature that uses psd-tools, which is listed in requirements.txt and therefore installed automatically by ComfyUI Manager and similar installers (other features are unaffected if it's missing).

After restarting ComfyUI, a CC button appears in the top bar. Click it to open Comic Creator (/ccc) in a new tab.

CC button in the ComfyUI top bar

ComfyUI Manager

You can install it via ComfyUI Manager's "Install via Git URL" using the following URL:

https://github.com/ketle-man/comfyui-comic-creator

Optional setup

To use Nanobanana (Gemini API)

Create a .env file directly under this folder and add your Gemini API key:

NANOBANANA_API_KEY=your-api-key

Restart ComfyUI after saving.

Using Nanobanana through the ComfyUI native node

Add a Comfy API key issued at platform.comfy.org to the .env file directly under this folder (it is separate from the Gemini API key, and usage is billed as Comfy credits).

COMFY_API_KEY=your-comfy-api-key

Restart ComfyUI after setting it, then choose "ComfyUI native node" under "Engine" in the Nanobanana tab.

To use MOSS-Image

Your ComfyUI must support MOSS-Image (update ComfyUI to the latest version). Place these models in the ComfyUI folders (weights are available at Comfy-Org/MOSS-Image and similar).

  • Diffusion model: MOSS-Image Base or SFT in diffusion_models/
  • Text encoder: Qwen3.5-9B (qwen3.5_9b_*.safetensors) in text_encoders/
  • VAE: flux2-vae.safetensors in vae/
  • LoRA (optional): DMD 8-step / Turbo 4-step for fast generation

You are set when the status at the top of the MOSS-Image tab shows "ready". Restart ComfyUI after updating py/ccc.py.

To use the OCR tab

Prepare an OCR model in Ollama (ollama pull maternion/LightOnOCR-3:4b). To also detect panels, characters, balloons, etc., prepare a general vision LLM too (e.g. ollama pull gemma4:e4b). You are set when the status at the top of the OCR tab shows "ready".

To use G'MIC

In the Settings tab's "G'MIC Settings", specify the full path to the G'MIC Qt executable (gmic_qt.exe). It takes effect immediately after saving — no ComfyUI restart required.

To use Eagle integration

In the Settings tab's "Eagle Settings", check/change the Eagle API URL (default: http://localhost:41595). The Eagle app must be running.

When Ollama and image generation compete for VRAM

"VRAM Management (Ollama)" in the Settings tab can unload Ollama models right before image generation through Workflow Studio (T2I, I2I, Inpaint, Outpaint). Choose "Unload only as much as needed when free VRAM is below the target" (one model at a time, largest VRAM first, until the target free GB is reached) or "Unload everything every time". Free VRAM is measured with nvidia-smi (the free VRAM ComfyUI reports may not reflect what Ollama uses). It targets Ollama on localhost (the default 127.0.0.1:11434, the local LLM in the Auto tab, and the decision model). The Auto tab's "Unload Model" also unloads every loaded model when the backend is Ollama.

Optional dependencies

Installing the following custom nodes enables the corresponding features. Nothing else is affected if they are not installed.

Companion node Feature enabled
comfyui-vrm-pose-editor 3D Pose / 3D Text in the Layout tab and the Image tab (for a manual install, name the folder comfyui-vrm-pose-editor)
ComfyUI-VRM-Pose-Studio Opens the 🎛 Editor of the Layout tab 3D Pose tool in VRM Pose Studio (switch under "3D Pose Editor" in the Settings tab)
ComfyUI-Workflow-Studio I2I integration, Inpaint in the Image tab, the embedded gallery in the workflow studio tab, and sending videos (MP4) from the Gallery tab (Video tool)
comfyUI-particle-pixijs PixiJS FX (particle/filter effects modal) in the Layout tab's "Image" sub-tab and the Image tab

Usage

  1. Open Comic Creator via the CC button in the top bar
  2. In the "Page" tab's "Work Management", enter a work name and size, then click "New" (this automatically switches to the Layout tab)
  3. Choose a template from the "Template" asset panel on the left of the Layout tab and click "Insert as Page"
  4. Place and edit images, speech balloons, and text in the panels, then click "Save"
  5. Repeat page navigation (◀▶) and template insertion to create multiple pages
  6. In the "Page" tab's "Export", specify the format and range, then save

See the in-app Help tab (available in Japanese, English, and Chinese, with search) for full documentation.

Screenshots

Layout tab Image tab Font manager tab

Nanobanana tab Script tab Help tab

Template creation wizard workflow studio Gallery tab

PixiJS FX multi-filter stacking and reordering Halftone pattern generation

Manga effects speed lines Background pattern asanoha

Sub-panel 3D Text

3D Pose toolbar (🎛 Editor button) Light & Pose Editor (Light/pose/Image tabs, keyframe timeline)

Manual

A text-only beginner manual (for v1.66.0) is included: Japanese in docs/manual/ja/ and English in docs/manual/en/. Start from 00_Contents.md (English) or 00_目次.md (Japanese).

Architecture

comfyui-comic-creator/
├── __init__.py              # ComfyUI extension entry point (WEB_DIRECTORY, route registration)
├── py/
│   ├── ccc.py                 # aiohttp route handlers
│   └── config.py              # Path/constant definitions
├── templates/
│   └── index.html             # SPA body (static HTML with data-i18n attributes)
├── static/
│   ├── js/
│   │   ├── main/                # main.js split files (state management, per-tab logic)
│   │   ├── image-tab.js         # Image tab controller
│   │   ├── image-tab/           # Image-tab-specific tools (DrawTool/ShapeTool/FillTool/MaskTool, etc.)
│   │   ├── i18n.js              # Multilingual dictionary (ja/en/zh) + t()
│   │   ├── nanobanana.js        # Nanobanana (Gemini API) integration
│   │   ├── moss.js              # MOSS-Image (local generation, layout editor)
│   │   ├── ocr-core.js       # OCR tab logic (detection parsing, MOSS conversion; DOM-free)
│   │   ├── auto-ai-client.js    # Auto tab LLM client (local LLM / Gemini)
│   │   ├── auto-story-core.js   # Auto tab script prompts and parsing (DOM-free)
│   │   ├── auto-decision.js     # Auto tab balloon shape / panel importance estimation with a decision model
│   │   ├── decision-client.js   # Decision model client (shares Workflow Studio's settings)
│   │   ├── balloon-fit-core.js  # Automatic balloon and text sizing (DOM-free)
│   │   ├── pixifx.js            # PixiJS FX integration
│   │   └── vendor/              # Bundled libraries (jsPDF/JSZip, for offline use)
│   └── css/
├── web/comfyui/
│   └── ccc_menu.js             # Registers the launch button in the ComfyUI top bar
├── assets/                     # Bundled templates, balloons, and other assets
└── docs/                       # Screenshots for the README

API endpoints (excerpt)

Method Path Purpose
GET /ccc SPA entry point
GET /api/ccc/refresh-assets Regenerate the asset list
POST /api/ccc/nanobanana/generate Generate a Nanobanana image
POST /api/ccc/moss/generate Generate a MOSS-Image image (local)
POST /api/ccc/moss/layout-prompt Build the MOSS-Image layout JSON
POST /api/ccc/auto/gemini-text Gemini text generation for the Auto tab
POST /api/ccc/auto/unsloth-proxy Unsloth relay for the Auto tab (LLM and decision model)
POST /api/ccc/save-auto-image Save an image generated in the Auto tab
POST /api/ccc/save-image-project Save an Image tab project
POST /api/ccc/video/upload Upload a video (MP4)
POST /api/ccc/eagle/add Save an image to Eagle
POST /api/ccc/vram/prepare VRAM management before image generation (unload Ollama models)
POST /api/ccc/local-gmic/open_in_gui_b64 Launch the G'MIC Qt GUI
GET /api/ccc/local-gmic/status/{job_id} Get a G'MIC job's status

License

MIT License — see LICENSE for details.

Acknowledgements

  • comfyui-vrm-pose-editor — Companion node providing the 3D pose editing feature, and the Three.js resources (renderer, MToon material, etc.) used by the 3D text feature
  • ComfyUI-VRM-Pose-Studio — Companion node: a full-browser 3D scene / pose studio for multiple VRM models, cameras and a timeline, usable as the target of the 3D Pose 🎛 Editor
  • ComfyUI-Workflow-Studio — Companion node providing I2I integration and the embedded gallery
  • comfyUI-particle-pixijs — Companion node providing the PixiJS FX (particle/filter effects) feature
  • comfyui-mask-editor-one — Node referenced when implementing the Image tab's Mask tool and layer mechanism
  • ComfyUI-LiveChatStream — Node the VRAM preparation feature (unloading Ollama models to free VRAM before image generation) was ported from
  • PaddleOCR-VL-For-Manga (jzhang533, Apache 2.0) — the manga-tuned OCR model recommended for reading vertical and stylized text in the OCR tab's "Re-reading crops". Based on PaddleOCR-VL (PaddlePaddle, Apache 2.0); the GGUF build for Ollama is LunarOilRig/PaddleOCR-VL-manga-GGUF. It is not bundled with the app; users pull it with Ollama
  • LightOnOCR-3 (LightOn, Apache 2.0) — the model used for text detection (content and position) in the OCR tab. The Ollama build is maternion/LightOnOCR-3:4b. Not bundled with the app; users pull it with Ollama
  • Gemma 4 (Google) — the default model (gemma4:e4b) for the OCR tab's layout detection (panels, characters, balloons, etc.). Not bundled; pulled with Ollama
  • MOSS-Image (OpenMOSS, Apache 2.0) — the image generation model used by the MOSS-Image tab. It relies on ComfyUI's native support and the model is not bundled
  • Ollama (MIT) — the local LLM/VLM runtime used by the OCR tab, the Auto tab, and VRAM preparation
  • Bundled libraries (static/js/vendor/; see the README in that folder for each license): jsPDF (MIT, PDF export), JSZip (MIT / GPLv3 dual, zip saving), opentype.js (MIT, font loading for 3D text)
  • psd-tools (MIT) — PSD import/export in the Image tab (installed via requirements.txt)
  • G'MIC — Filter editing (via the G'MIC Qt GUI, an external executable)
S
Description
No description provided
Readme MIT
11 MiB
Languages
JavaScript 86.7%
HTML 7.5%
Python 2.9%
CSS 2.9%