storyboard-creation

Film and video storyboarding with shot vocabulary, continuity rules, and panel layout. Covers shot types, camera angles, movement, 180-degree rule, and…

INSTALLATION
npx skills add https://github.com/101-skills/skills --skill storyboard-creation
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

Install the belt CLI skill: npx skills add belt-sh/cli

Storyboard Creation

Create visual storyboards with AI image generation via inference.sh CLI.

Quick Start

Requires inference.sh CLI (belt). Install instructions

belt login

# Generate a storyboard panel

belt app run falai/flux-dev-lora --input '{

  "prompt": "storyboard panel, wide establishing shot of a modern city skyline at sunset, cinematic composition, slightly desaturated colors, film still style, 16:9 aspect ratio",

  "width": 1248,

  "height": 832

}'

Stitch panels into a board

belt app run infsh/stitch-images --input '{

"images": ["panel1.png", "panel2.png", "panel3.png"],

"direction": "horizontal"

}'

## Shot Types

| Abbreviation | Name | Framing | When to Use |

|-------------|------|---------|-------------|

| **ECU** | Extreme Close-Up | Eyes only, a detail | Intense emotion, revealing detail |

| **CU** | Close-Up | Face fills frame | Emotion, reaction, dialogue |

| **MCU** | Medium Close-Up | Head and shoulders | Interviews, conversations |

| **MS** | Medium Shot | Waist up | General dialogue, action |

| **MLS** | Medium Long Shot | Knees up | Walking, casual interaction |

| **LS** | Long Shot | Full body | Character in environment |

| **WS** | Wide Shot | Environment dominant | Establishing location, scale |

| **EWS** | Extreme Wide Shot | Vast landscape | Epic scope, isolation, transitions |

### Generating Each Shot Type

Close-Up — emotion focus

belt app run falai/flux-dev-lora --input '{

"prompt": "close-up shot of a woman face showing concern, soft dramatic lighting from the left, shallow depth of field, cinematic film still, slightly desaturated",

"width": 1248,

"height": 832

}'

Medium Shot — dialogue scene

belt app run falai/flux-dev-lora --input '{

"prompt": "medium shot of two people talking across a table in a cafe, warm afternoon light through windows, natural composition, cinematic film still, 35mm lens look",

"width": 1248,

"height": 832

}'

Wide Shot — establishing

belt app run falai/flux-dev-lora --input '{

"prompt": "wide establishing shot of a futuristic laboratory interior, dramatic overhead lighting, long corridor with glass walls, sci-fi atmosphere, cinematic composition, anamorphic lens style",

"width": 1248,

"height": 832

}'


## Camera Angles

| Angle | Effect | When to Use |
| --- | --- | --- |
| **Eye Level** | Neutral, natural | Default for most scenes |
| **High Angle** | Subject looks small, vulnerable | Showing weakness, overview |
| **Low Angle** | Subject looks powerful, dominant | Authority, heroism, threat |
| **Bird's Eye** | God-like overview | Maps, establishing geography |
| **Worm's Eye** | Extreme power, awe | Architecture, towering figures |
| **Dutch Angle** | Unease, disorientation | Tension, madness, action |
| **Over-the-Shoulder (OTS)** | Viewer positioned with character | Conversations, POV |

## Camera Movement

| Movement | Description | Emotion |
| --- | --- | --- |
| **Pan** | Camera rotates horizontally (on tripod) | Scanning, following, revealing |
| **Tilt** | Camera rotates vertically (on tripod) | Revealing height, power |
| **Dolly** | Camera moves toward/away from subject | Intimacy (in), distance (out) |
| **Truck** | Camera moves laterally | Following alongside, revealing |
| **Crane/Jib** | Camera moves up or down vertically | Grand reveals, transitions |
| **Zoom** | Lens focal length changes (camera stays) | Focus shift, dramatic emphasis |
| **Steadicam/Gimbal** | Smooth handheld tracking | Immersion, following action |
| **Handheld** | Deliberate camera shake | Urgency, documentary feel, chaos |
| **Static** | Camera doesn't move | Stability, observation, tension |

In storyboards, indicate movement with arrows drawn on panels.

## Continuity Rules

### The 180-Degree Rule

Imagine a line (axis) between two characters in conversation. The camera must stay on ONE side of that line.

Character A Character B

●─────────────────●

/ \

/ CAMERA ZONE \

/ (stay on this side) \

📷 📷 📷

Camera 1 Camera 2 Camera 3


**Crossing the line** confuses the viewer about spatial relationships. Only cross intentionally (with a neutral shot in between or a visible camera move).

### Match on Action

When cutting between two angles of the same action, the action must continue seamlessly:

Panel A: Hand reaches for door handle (medium shot)

Panel B: Hand grabs door handle (close-up)

↑ Action continues from same point


### Eyeline Match

When a character looks at something, the next shot should show what they're looking at, from their approximate point of view.

Panel A: Character looks up and to the right

Panel B: The object they see, framed from slightly below-left


### Screen Direction

If a character moves left-to-right in one shot, they should continue left-to-right in the next. Reversing direction implies they turned around.

## Panel Layout

### Standard Formats

| Layout | Panels | Use For |
| --- | --- | --- |
| 2x3 (6 panels) | 6 per page | Detailed scenes, dialogue |
| 3x3 (9 panels) | 9 per page | Action sequences, montages |
| 2x2 (4 panels) | 4 per page | Key moments, presentations |
| Single | 1 per page | Hero shots, critical moments |

### Panel Annotation Format

Each panel should include:

┌────────────────────────────────────┐

│ SCENE 3 — SHOT 2 │ ← Scene and shot number

│ │

│ [Generated image here] │ ← Visual

│ │

├────────────────────────────────────┤

│ Shot: MS, eye level │ ← Shot type and angle

│ Movement: Slow dolly in │ ← Camera movement

│ Duration: 4 sec │ ← Estimated duration

│ Action: Sarah opens the letter │ ← What happens

│ Dialogue: "This changes everything"│ ← Any spoken lines

│ SFX: Paper rustling, clock ticking │ ← Sound effects

│ Music: Tension builds │ ← Music cue

└────────────────────────────────────┘


## Storyboard Workflow

### Step 1: Shot List

Before generating images, write a shot list:

SCENE 1 — OFFICE, DAY

1.1 WS - Establishing shot of office building exterior, morning

1.2 MS - Sarah walks through office, carrying coffee

1.3 CU - Sarah's face, notices something on her desk

1.4 ECU - An envelope on the desk, unfamiliar handwriting

1.5 MS - Sarah picks up envelope, opens it

1.6 CU - Sarah's eyes widen as she reads

1.7 ECU - Key phrase on the letter (insert text)


### Step 2: Generate Panels

Use consistent style across all panels:

Establish a consistent style prompt suffix

STYLE="cinematic film still, slightly desaturated, warm color grade, 35mm lens, shallow depth of field"

Panel 1.1 — Wide establishing

belt app run falai/flux-dev-lora --input "{

\"prompt\": \"wide shot of a modern glass office building exterior, morning golden hour light, people entering, $STYLE\",

\"width\": 1248, \"height\": 832

}" --no-wait

Panel 1.2 — Medium shot

belt app run falai/flux-dev-lora --input "{

\"prompt\": \"medium shot of a professional woman walking through a modern open office, carrying coffee cup, morning light through windows, $STYLE\",

\"width\": 1248, \"height\": 832

}" --no-wait

Panel 1.3 — Close-up

belt app run falai/flux-dev-lora --input "{

\"prompt\": \"close-up of a woman face looking down at her desk with curious expression, soft office lighting, $STYLE\",

\"width\": 1248, \"height\": 832

}" --no-wait


### Step 3: Assemble Board

Stitch panels into rows

belt app run infsh/stitch-images --input '{

"images": ["panel_1_1.png", "panel_1_2.png", "panel_1_3.png"],

"direction": "horizontal"

}'

belt app run infsh/stitch-images --input '{

"images": ["panel_1_4.png", "panel_1_5.png", "panel_1_6.png"],

"direction": "horizontal"

}'

Then stitch rows vertically for full page

belt app run infsh/stitch-images --input '{

"images": ["row1.png", "row2.png"],

"direction": "vertical"

}'


## Style Consistency Tips

- Use the **same style suffix** across all panels (lens, color grade, lighting)

- Use **FLUX LoRA** if you need consistent characters across panels

- Keep the **same aspect ratio** for all panels

- Generate **more panels than you need** and select the best

- If a panel doesn't match the style, regenerate with adjusted prompt

## Common Mistakes

| Mistake | Problem | Fix |
| --- | --- | --- |
| Crossing the 180-degree line | Confuses spatial relationships | Stay on one side or use neutral shot |
| All same shot type | Visually boring, no rhythm | Vary between CU, MS, WS |
| No establishing shot | Viewer doesn't know where they are | Start scenes with WS or EWS |
| Too many shots per scene | Pacing drags | 5-8 shots per scene is typical |
| Inconsistent style between panels | Looks like different projects | Use same style prompt suffix |
| Missing annotations | Panels are ambiguous | Always note shot type, movement, action |

## Related Skills

npx skills add inference-sh/skills@ai-image-generation

npx skills add inference-sh/skills@ai-video-generation

npx skills add inference-sh/skills@video-prompting-guide

npx skills add inference-sh/skills@prompt-engineering

BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card