Nodes/Storyboard Suite/Storyboard · Cells
ComfyUI Node

Storyboard · Cells

Load reference frames straight into the node — no generation required

By Smyshnikof·Created 2 months ago·Updated 2 months ago· 6
Storyboard · Cells
    • sheet
    cells_data[]
    columns3
    cell_gap8
    bg_color#0e0e12
    show_labelstrue
    label_font_size18
    label_bar_height0
    label_color#e8e8f0
    label_bg_color#1a1a22

    Sometimes your storyboard frames already exist - reference stills, a previous run, images you'll never regenerate. StoryboardCells is the no-generation planner: each cell in the node has a "+" button that lets you load an image file directly, and one Queue press assembles them into a labeled contact sheet. No sampler upstream, no VAEDecode, no model at all.

    It rounds out Storyboard Suite (Smyshnikof/comfyui-storyboard-suite), @itsmyshnikov's pre-production pack. Everything in it is plain Python + PIL, and StoryboardCells is the most standalone of the five - it's a file picker plus the same contact-sheet renderer the Sheet node uses.

    How it works

    The frontend gives each cell a "+" button (with an aspect-ratio preset per empty cell) and turns every pick into an entry in the hidden cells_data JSON - filename, subfolder, type, and label per cell. When you Queue, the node resolves each file through ComfyUI's folder_paths (your input/ directory) using the same annotated-path logic as Load Image, letterboxes it into the cell, draws the label bar, and tiles everything into one sheet.

    Because it's an output node, it returns a single IMAGE and saves a PNG preview to ComfyUI/output/storyboard_suite/, so you get the sheet on disk and an in-node preview from one press.

    The inputs that matter

    • cells_data - the JSON the "+" buttons write. You rarely touch it directly, but if you're sharing a workflow, this is where the file references live.
    • columns - grid width, 1–8 (default 3).
    • cell_gap, bg_color - spacing and background (default #0e0e12).
    • show_labels, label_font_size, label_bar_height, label_color, label_bg_color - label styling. label_bar_height 0 = auto (font size plus padding). Cyrillic labels work via the bundled DejaVuSans.ttf.

    The output that matters

    sheet - a single IMAGE. Go straight to PreviewImage or SaveImage; there's no contact-sheet node in between, because this node is the sheet.

    Install

    Same zero-dependency clone as the rest of the pack:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Smyshnikof/comfyui-storyboard-suite
    

    or ComfyUI Manager, search "comfyui-storyboard-suite", restart, right-click → Add Node → Storyboard → Cells.

    Gotchas

    • The README's one emphatic warning: do not wire Cells → Sheet. Cells already outputs a finished sheet. Sheet is for images coming from the pipeline; double-stacking them is redundant.
    • The files you load have to live somewhere folder_paths can find them - your ComfyUI input/ folder (or an annotated subfolder path). If the node logs не удалось загрузить ячейку (it prints this in the console in Russian - "failed to load cell"), the file isn't where the reference says it is. Fix the path, don't fight the node.
    • An empty cells_data produces an empty sheet (a blank 64×64 tile) with a console warning, not a crash - so an all-blank result usually means you forgot to click "+" and pick files.
    • New, small pack: if the cell UI doesn't render after install, hard-refresh the browser; cells_data is still editable as raw JSON underneath.
    CategoryStoryboard

    Inputs (9)

    NameTypeDefaultDescription
    cells_dataSTRING[]
    columnsINT31–8
    cell_gapINT80–64
    bg_colorSTRING#0e0e12
    show_labelsBOOLEANtrue
    label_font_sizeINT1810–48
    label_bar_heightINT00–96
    label_colorSTRING#e8e8f0
    label_bg_colorSTRING#1a1a22

    Outputs (1)

    NameTypeDescription
    sheetIMAGE