---
url: https://superduperai.co/library/script-to-storyboard-json-cut/
title: Write the cut as a script, not a timeline: the JSON storyboard prompt
description: An agent prompt that writes the edit of real footage as a small JSON file: which sentences, which cover shots, what the cold open is. A complaint becomes a one-line edit, and the render repeats.
category: scripts
platforms: [youtube, shorts, reels]
works_with: [claude-code, claude]
tags: [editing, storyboard, json, agent, montage, workflow, footage]
difficulty: advanced
verified: false
created: 2026-11-01
skill: video-edit
---

# Write the cut as a script, not a timeline: the JSON storyboard prompt

An agent prompt that writes the edit of real footage as a small JSON file: which sentences, which cover shots, what the cold open is. A complaint becomes a one-line edit, and the render repeats.

## Prompt

```text
You are the editor. Below is the day's speech as numbered sentences (clip id, sentence number, start, end, text). Write the cut as a script, not a timeline: a JSON object that a render script will read. Do not output timecodes for the whole film; output decisions.

Shape:
{
  "title": "",
  "cold_open": [ {"clip": "", "in": "mm:ss.s", "out": "mm:ss.s", "why": ""} ],
  "hook": {"clip": "", "sentence": 0, "line": ""},
  "scenes": [
    {
      "name": "",
      "clip": "",
      "sentences": [0],
      "cover": [ {"from_clip": "", "in": "", "out": "", "over_sentence": 0, "shows": ""} ],
      "live_sound": false
    }
  ],
  "silent_walks": [ {"clip": "", "in": "", "out": "", "keep_own_sound": true} ],
  "cut_clips": [ {"clip": "", "reason": ""} ]
}

Rules:
- cold_open: 8-10 seconds total, from the best frames, no speech.
- hook: one sentence with a twist, said right after the cold open.
- scenes: whole conversations (lead-in, the talk, the reaction), never a best phrase alone.
- cover: only over sentences where the speaker's lips are not on camera; the cover shot comes from the same place within minutes of the line and shows what the line says.
- Every clip appears somewhere, or in cut_clips with a reason.
- Do not stretch to a target length.

Sentences:
{paste numbered sentences}
```

## Steps

1. Produce the numbered sentences first: transcribe every clip with word timings, then number them in shooting order (see 'The day as one text file').
2. Save the agent's JSON as cut.json beside the clips. Render from it with your script or editor; never hand-edit the timeline.
3. When someone says 'the bread is mentioned and never shown', add one cover entry and re-render. That is the whole point.

## Tips

- The JSON forces the agent to decide; a timeline lets it hide the decisions inside timecodes.
- In Claude Code `/video-edit` works this way end to end: sidecar analysis, the day as text, the cut as JSON, render, masters per platform.

## Works with

- Claude Code: Runs as a skill or a prompt in the terminal; can read your files and write the result.
- Claude: Paste into claude.ai or the Claude app.
