# Project files

Every file in a project that you can open, what it holds, and which command writes it.

The folders are on [Project directory](/docs/cli/project-directory). In the Files table, **Written by** names who makes or changes the file.

## Files

| File | Holds | Written by |
|---|---|---|
| `series.json` | The project's title, settings and lists. See below | `minicut new`, `minicut save`, your agent and the app |
| `source/sources.json` | The sources the story comes from, empty at first | `minicut new` |
| `research.md` | The researched idea | Your agent, in the Script loop |
| `script.md` | The story and world document | Your agent, in the Script loop |
| `episodes/epNN/script.md` | The episode script | Your agent, in the Script loop |
| `episodes/epNN/shots.md` | The [shot sheet](/docs/cli/shot-sheet) | Your agent, in the Shot sheet loop |
| `episodes/epNN/assets.md` | The asset list and the picture prompts | Your agent, in the Shot sheet loop |
| `episodes/epNN/prompts.md` | The video prompts, one section for each shot | Your agent, in the Shot sheet loop |
| `episodes/epNN/shots.checks.json`, `episodes/epNN/prompts.checks.json` | The result of the last check of the file beside it | `minicut check` |
| `episodes/epNN/loops.json` | The rounds, approvals and stops of each loop | `minicut loop` |
| `episodes/epNN/now.json` | The shot your agent is writing, for 120 seconds | `minicut now` |
| `episodes/epNN/mock.sheet.jpg` | One frame of every shot, made for the Mock loop | `minicut loop run mock` |
| `episodes/epNN/index.html` | The episode timeline | `minicut new`, `minicut timeline` and the editor |
| `episodes/epNN/minicut.json` | The editor settings for the episode | `minicut new` |
| `episodes/epNN/clips/cNN/prompt.md` | The video prompt of the shot | Your agent |
| `episodes/epNN/clips/cNN/clip.json` | The shot's model, settings and picked take. See below | Your agent, `minicut save take` and `minicut asset pick` |
| `episodes/epNN/clips/cNN/tNN.mp4` | A take of the shot. It can be `.mp4`, `.mov`, `.webm`, `.wav`, `.mp3` or `.m4a`. A take is never renamed or overwritten | `minicut save take` and a finished video job |
| `episodes/epNN/clips/cNN/tNN.json` | The record of the take. See below | `minicut save take` and a finished video job |
| `episodes/epNN/clips/cNN/tNN.checks.json` | The result of the checks of the take | `minicut check take` and the Videos loop |
| `episodes/epNN/clips/cNN/jobs/` | One file for each job of the shot that is open, failed or stopped | `minicut gen` |

## series.json

| Field | Holds |
|---|---|
| `id` | The project id, the same as the folder name |
| `uid` | A unique id that ties the project's jobs to this folder |
| `title` | The title people read |
| `language` | The language of the project, such as `zh` or `en` |
| `format` | One-off, series episode or series |
| `entry` | What you brought in: `idea`, `ip`, `story`, `script` or `shots` |
| `aspect_ratio` | The screen shape of the video |
| `resolution` | The video size |
| `fps` | The frame rate, 30 at first |
| `episodes_planned` | How many episodes you plan |
| `episodes` | The ids of the project's episodes |
| `library` | The ids of the characters, locations, props and styles the project uses |
| `models` | The model you picked for each kind, such as `"models": {"video": "NAME"}` |
| `loops` | The limit of each loop, such as `"loops": {"mock": 4, "takes": 5}`. See [Steps and loops](/docs/cli/steps-and-loops) |

## clip.json

| Field | Holds |
|---|---|
| `id` | The shot id, such as `c01` |
| `model` | The model for this shot. Always written, as the series default |
| `params` | The settings sent with the shot, such as the screen shape and the seconds |
| `bindings` | The reference pictures of the shot |
| `prompt` | The name of the prompt file, `prompt.md` |
| `pick` | The take the shot uses |
| `shots` | The part of the take to keep, as `from` and `to` seconds |
| `fit` | `"take"` cuts the shot down to its take. `"freeze"` keeps the still frame |

## tNN.json

| Field | Holds |
|---|---|
| `id` | The take id, such as `t01` |
| `state` | The state of the take, such as `done` |
| `file` | The file name of the take |
| `kind` | `model`, `code` or `placeholder` |
| `model` | The model that made the take |
| `settings_sent` | The settings the model received |
| `prompt_text` | The prompt the model received |
| `sha256` | The checksum of the file |
| `link` | `hardlink` or `copy`: how the shot's folder got the file |
| `library` | The path of the same file in your library |
| `created` | When the record was made |

## See also

[Project directory](/docs/cli/project-directory) [Shot sheet](/docs/cli/shot-sheet) [minicut save](/docs/cli/projects#minicut-save)
