# How do I turn pages into one video with Film mode?

> Film mode plays a template's pages as one video with a transition between each page. Set cuts and scene lengths in Studio, then render one mp4 from the API.

- **URL**: https://orshot.com/docs/orshot-studio/film-mode

---

**Film mode** plays the pages of a template as one video: each page is a scene, each scene starts with a transition from the one before, and the API's video render returns the whole film as a single mp4. Without Film mode, a multi-page template renders one video per page (or a stitched video with `combinePages`).

Use Film mode for any video longer than a quick animation (about 8 seconds) that is not a carousel. Keep one idea per page, 2 to 8 seconds each.

## Turn Film mode on

Open the template in Studio and click the **Film mode** switch at the top of the pages panel. The switch shows the film's length, for example **Film mode · 0:21**. While it is on, the pages play as one film in the editor and in API video renders.

Film mode is available in the workspace Studio. The embed editor and shared template links do not have it, and a template that is not saved yet can still be previewed as a film.

## Set the transition into a page

Click between two pages in the pages panel to set how the second page starts. The popover has:

- **Transition**: Cut, Fade, Dip to color, Slide, Push, Wipe, Iris, Clock wipe, Flip, Cube, Whip, Blur swap, Zoom, Color flood, Grow, Zoom through or Match. A hint under the list says what each one does.
- **Length**: how long the transition takes. During it both pages play at once, so the film gets shorter by this amount. A transition can take at most half of either neighbouring page.
- **Direction** (Slide, Push, Wipe, Flip, Cube, Whip): Left, Right, Up or Down.
- **Color** (Dip to color, Color flood).
- **Layer on "page"** (Grow, Zoom through): the layer on the previous page that grows into, or that the camera dives through into, this page. If that layer is later deleted, the cut plays as a Zoom.

Match pairs layers that have the same id on both pages and moves each from its place on the previous page to its place on this one; the rest of the page is revealed around them. Pick one transition family per film and vary within it.

The first page has nothing to transition from, so it has no transition.

## Page length

Each page's **Page length** is how long it plays in the film (the page's `videoDuration`). The striped parts of the timeline are the overlaps where a page plays together with its neighbour during a transition.

Time a page to its content, not to a fixed number. A viewer reads each text block in the order it appears, at about 2.5 words a second from when it starts entering, then the page holds for about a second and cuts. Not faster, or a stat leaves before it is read; not slower, or the frame lingers after everything has been read. A one-line hook page is 3-4s, a chart or table page 8-11s. Most transitions default to 0.9-1.2s (Whip is a quick 0.6s); under 0.8s a cut reads as a jump. When an agent builds the film through the [Orshot MCP](https://orshot.com/agents), it gets a "Cut too soon" warning when a page is shorter than its reading time and a "Dead stretch" warning when nothing changes for more than 3s after the text has been read.

## The timeline

The timeline's **What plays** switch has two modes:

- **This page**: the page's own layers, audio and look, as on any video page.
- **Whole film**: a **Pages** row with every page on the film's clock (click a page to edit it) and, under it, one row per film track: **Sound** for music that runs across pages and **Across pages** for layers that stay on screen across cuts. Tracks are authored through the [API or an agent](https://orshot.com/docs/definitions/film#tracks-and-clips); Studio shows them in place and plays them.

## Preview the film

The play button plays the whole film in a **Film mode preview** with the real transitions, tracks and audio, using the same engine the renderer uses. Previews do not use credits.

## Turn Film mode off

Click the switch again. Each page keeps its transition, so turning Film mode back on restores the film, including its tracks, until you leave the template. If the film has tracks, Studio asks first: music and layers that play across pages stop playing once Film mode is off.

## Render the film

Render the template as `mp4` and the API returns one video of all pages joined by their transitions:

```js
body: JSON.stringify({
  templateId: <TEMPLATE_ID>,
  modifications: { "page1@headline": "Launch day", "page3@cta": "Try it free" },
  response: { type: "url", format: "mp4", mode: "async" },
}),
```

- `data.content` is the film; `data.videoDuration` its length.
- `includePages: [2]` renders that page on its own, as a normal page video.
- `size` and `extraSizes` (up to 4) render the same film in other formats; each size is a full film render.
- `videoOptions.muted` and `videoOptions.fps` apply; `combinePages` and `pageTransition` do not (the film already has its own cuts).

Film mode writes a `film` object on the template and a `transitionIn` on each page. The full schema, defaults, limits and validation rules are on the [Film](https://orshot.com/docs/definitions/film) page; the same fields can be sent through [Create Template](https://orshot.com/docs/api-reference/enterprise-template-create) and [Update Template](https://orshot.com/docs/api-reference/enterprise-template-update), so an agent can build a film without opening Studio.