Skip to content
wexloopsPublic

About

AI-powered storyboard sequence generator

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Repository files navigation

SEQ

One image and a sentence in. A sheet of frames out. Sliced, played, exported.

An open-source tool from HYPRGRPH · more tools

SEQ is a local production suite for grid-based animation and pre-visualization. The core move is simple: ask an image model for a whole sheet of frames in a single call, slice the sheet, and string the stills into motion. Thirteen more modules sit around that primitive, sharing one library and one spend ledger.

Storyboard module with a generated 4x4 sheet playing back

Why sheets

A video model gives you one clip you did not fully control. A sheet gives you sixteen frames from one generation, so they share lighting, design, and line weight, and you can see the whole motion at a glance before spending anything else. One 4K sheet costs about the same as one image. Sixteen separate images cost sixteen times that and drift apart.

The trick is geometry. Image models only emit a fixed set of sheet ratios. A 4x3 grid of 16:9 frames is a 21:9 sheet, which no model offers unless you ask for exactly that. SEQ snaps the requested frame aspect times the grid to a legal sheet ratio, tells the model the true frame aspect that results, and draws the composition overlay at that exact ratio. Most "broken grid" output comes from getting this wrong.

The core loop

step what happens
1. Input Drop a reference image, or pick one from the library, and describe the motion or the scene. Already have a sheet? Drop it on the stage and skip generation.
2. Sheet One call to Nano Banana Pro at 4K returns an N×M sheet. Frames mode asks for one continuous motion; Scene mode asks for distinct shots.
3. Slice Client-side canvas slice with an optional per-edge inset to crop the thin grid lines the model tends to draw. Imported sheets get their grid detected from the seams between cells.
4. Play Scrub or play at 6 to 24fps, all boards concatenated. Loop, ping-pong or play once, and hold each drawing on 1s, 2s or 3s. Sheet view shows the whole grid with the current cell lit. Chain boards to extend the sequence.
5. Export Local ffmpeg. Flipbook at your fps, or motion-compensated in-betweens up to 60fps. Ping-pong and holds carry into the file. No upload, no fee.

Storyboard while a 4K sheet generates Sheet view: a Scene mode sheet with the current cell lit

Try it without a key

The Storyboard intro and empty stage offer a bundled 4x4 sample sheet. Slicing, playback, the keyboard transport and MP4 export all run locally, so the whole loop works before you paste a key.

Keyboard

key action
Space Play / pause
← → Step one frame (Shift jumps one second)
Home / End First / last frame
L Cycle loop, ping-pong, once
[ ] Slower / faster
G Player / sheet view
? Show the shortcuts

Stringing stills into motion

tier how cost use when
0 flipbook, holds on 1s/2s/3s free hand-drawn / limited animation look
1 minterpolate in-betweens (export, smooth on) free continuous motion, small deltas between frames
2 RIFE in local ComfyUI free, GPU cleaner in-betweens, no ghosting
3 LTX-2.5 first-to-last between consecutive frames free, GPU real parallax and occlusion
4 Seedance 2 or MiniMax H3 first-last via MUAPI (Interpolator) paid when local cannot do it

Tiers 0 and 1 are built into Storyboard. Tiers 2 through 4 are reachable through the Interpolator module and external ComfyUI today.

Modules

group module what it does
Board Storyboard The core loop above.
Graphic Novel Manga page layouts with PSD export.
Previs Screenplay in, boards and animatics out.
World Story bible with characters, locations, beats, and an agent that hands context to other modules.
Motion OmniShot Idea in, planned multi-block video sequence out.
Riff Frame-chained image evolution.
Interpolator First-to-last-frame video transitions between sliced frames.
Visualizer Audio-reactive sequences.
Cascader Chain sheets end to end: each sheet's last frame seeds the next. Optional lyric and audio sync.
Transform Remuxer Scene-detect a video, restyle it sheet by sheet, reassemble.
Swapper Style, face, and scene transforms.
Style Transfer Progressive video restyling.
GridSeq Slice and resequence any grid.
Finish Assembly Multi-track timeline with a real ffmpeg render.

Cascader Assembly timeline

Library

Everything generated or imported lands in one library. Search by name, prompt or tag. Click anything to view it full screen, step through with the arrow keys, rename it, favorite it, file it, download it, or send it straight back into Storyboard as the next reference.

Library panel Full-screen viewer with actions

Quick start

git clone https://github.com/wexloops/seq.git
cd seq
npm install
cp .env.example .env.local   # optional: or paste keys in the app
npm run dev                  # http://localhost:3000

Requirements: Node 20+, ffmpeg on PATH (libx264 or libopenh264). For the desktop shell: npm run dev:electron, and npm run build:electron for a Windows installer.

Keys

Two keys run the whole suite. Paste them into the Keys panel in the header, or put them in .env.local yourself. Either way they live server side and never reach the browser: the panel writes .env.local through an endpoint that only accepts same-origin JSON from the machine running SEQ, applies the key without a restart, and only ever reports back whether a key is set.

Keys panel

key needed for
MUAPI_API_KEY Every image and video call: 4K sheets (Nano Banana Pro), Kling O1 / 2.6 / 3.0, Veo 3.1, Wan 2.6, Seedance 2 first-last, MiniMax H3, Kling motion control. One balance, one ledger.
GEMINI_API_KEY Text and planning: OmniShot, World, lyric interpretation, scene analysis, Riff. Also the fallback sheet rail.

Generating without a key stops at once with a link to the Keys panel.

Optional: SEQ_IMAGE_RAIL (muapi / gemini), SEQ_BUDGET_USD (daily soft cap, requests return 402 past it), SEQ_GEMINI_TEXT_MODEL (planning model, default gemini-2.5-flash), FFMPEG_BIN, SEQ_TITLE_FONT (a TTF/OTF for title cards; Inter or DejaVu are found automatically).

Title cards, exports, slicing, and interpolation in-betweens are rendered locally with ffmpeg and cost nothing.

Spend

Every paid call appends to data/spend.json with provider, model, and an estimated or reported cost. The meter in the header shows today's total and each rail's status, with live balance where the rail exposes one. Set SEQ_BUDGET_USD to stop generation at a daily cap.

Layout

src/app/api/            route handlers: generate, export, sheets, settings/keys, cascade-grid, omnishot, remuxer/*, assembly/export, ...
src/lib/server/         guards (SSRF, shell args), peerStamp (loopback proof for key writes), envFile, providers (muapi, muapiVideo, nanobananaPro, ledger), sheetStore, titleCard
src/lib/                sheetGeometry, gridSlicer, gridOverlay, gridDetector, contentStore, useModuleState
src/components/         one file per module, shell/ (RackNav, SpendMeter, KeysPanel), ContentBrowser
public/samples/         the bundled sample sheet
data/                   spend ledger and generated sheets (gitignored)
docs/screenshots/       what you see above

Notes for contributors: on WSL, file watching does not fire across /mnt/c, so server-side edits need a dev server restart. Generated sheets are served same-origin from /api/sheets/<id> with Range support, so provider URLs never expire on you and canvas slicing stays CORS-clean.

Status

Working and used daily for pre-vis and animation tests. No license file yet; ask before redistributing.


HYPRGRPH
SEQ is one of the tools HYPRGRPH builds for its own work and shares openly. See the rest at hyprgrph.xyz.

About

AI-powered storyboard sequence generator

Topics

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages