What does Video Storyboard Forge do?
Use chronological cuts as the production unit, not manuscript pages. Do not repurpose manga paneling, page turns, or speech bubbles for video timing or staging.
Workflow
- Confirm the user-specified script, duration, aspect ratio, purpose, and assets. If unspecified, assume 24fps, 16:9, and 30 seconds, and note these assumptions explicitly. Prioritize existing music or script lengths. Do not arbitrarily introduce past works or characters.
- Read
references/format.mdandassets/sample.storyboard.yamlto create a project-specific YAML file. Even if lyrics are provided, do not treat vocal timing as measured without an actual audio source. - Allocate
duration_framesacross cuts so the total matchestarget_frames. Use stable identifiers likeC001; do not rename on reordering. Do not manually enter start/end times; let scripts calculate them. - Validate the data with
python scripts/storyboard.py validate PROJECT.yaml. Usebuildto generate a preliminary storyboard table and cut-by-cut image generation instructions to check composition and duration. - If images are needed, use available image generation tools/skills. Provide
prompts/C001.txtinstructions plus specified character/background references. One image per cut; do not burn text, dialogue, or table borders into images. If continuous motion must be described, indicate key poses within the cut text and split into separate cuts if necessary. - Actually open the generated images to inspect framing, characters, actions, eyelines, screen direction, and continuity. Obtain images from actual tool output; do not infer cuts from the "most recent" folder order. Set each cut's
imageto a YAML-base relative or absolute path. If generation is unavailable, complete the storyboard table, instructions, and timeline, and explicitly mark the cuts as unrendered. - Run
build --require-imagesto finalize a storyboard table with images and staging/audio directions in separate columns. Verify display and print page breaks in a browser. If needed, create an MP4 withanimaticand check duration and sequence using ffprobe and playback. - Deliver the YAML, HTML, CSV, timeline.json, and cut images. Follow the user's save location instructions; in Work environments, use the Library save procedures. After saving all required files, return links. Briefly report total duration, unrendered cuts, unchecked sections, and whether real audio is present.
Execution Examples
Specify scripts relative to the skill root. Requires Python 3.10+ and PyYAML. If not installed, use python -m pip install -r scripts/requirements.txt. Japanese display and PDF printing require a Japanese font on the execution environment.
python scripts/storyboard.py validate assets/sample.storyboard.yaml
python scripts/storyboard.py build assets/sample.storyboard.yaml --out /absolute/path/board-v1
python scripts/storyboard.py build PROJECT.yaml --out /absolute/path/board-v2 --require-images
python scripts/storyboard.py animatic PROJECT.yaml --out /absolute/path/animatic.mp4
build stops if the target folder exists and is not empty. Output to a different folder for revisions. animatic requires ffmpeg and actual images for all cuts. Stops if the output MP4 already exists. Do not automatically send to external APIs or CLIs. Separate the step of producing prompts and data from the step of rendering images with an image generation tool.
Staging Design
- Give each cut a single primary purpose. Distinguish between situation presentation, action, reaction, and highlight.
- Specify
camera.framingfor size,anglefor high-angle/eye-level etc.,movementfor FIX/PAN/DOLLY etc. Do not confuse character movement with camera movement. - Separate
dialoguefor speech,soundfor music/sound effects, andon_screen_textfor text appearing on screen. Mention silence explicitly. - Specify staging timing within a cut using relative frames
[start_frame, end_frame)incues. Since images are still, do not treat camera movement, dance, or lip-sync as verified by the image alone. - For MVs, record the correspondence with sections, beats, and lyrics in
notesandcues. Even when deriving beat positions from BPM, separately verify audio source cue points and tempo changes. - Verify long dialogue fits within the duration by reading it aloud. Check imaginary line, eyelines, background/clothing, and continuity of prop grips across cuts.
- Currently, transitions are only hard cuts. Leave fades etc. as production notes in
notes. The animatic is for static-image transitions and silence verification only; it is not a finished video.
Partial Revisions
Modify only the YAML and image for the target IDs, then rebuild to a new output folder. After duration changes, revalidate the total. Do not batch-regenerate images for already-approved cuts.
Origin
This is a video-oriented fork of sa-san10/rimochan-nyamuru-manga-forge, redesigning its "structured design → image generation → explicit collection → inspection" pipeline for video use. Reference commit is e1f002cd1073ea01fe17965ea0a8b32f6b6e70e3. Not directly compatible with manga OMNY/OMAY. Code and prompts are newly implemented for video. The original license is retained in LICENSE. Samples use original characters and scenes; do not include images of the original characters.