← Files RemotionARCHIVED FILE

skills/remotion-markup/multi-scene-video.md

2.6 KB · Oct 3, 2026 · 06:38 UTC

↓ Download file

See the change to this file →

# Multi-scene videos

Put each substantial scene in its own component and file.  
Register those components as [connected compositions](connected-compositions.md) so each scene has an editable Studio timeline.

Treat the parent timeline as an editable document: Author every scene that
should be edited independently as a separate `<Sequence>`, `<Series.Sequence>`
or `<TransitionSeries.Sequence>` JSX node. Keep its `name` and
`durationInFrames` inline so the node has its own source-editing target.
Programmatic rendering is suitable only when the generated scenes are
intentionally controlled as one source template.

Use `<TransitionSeries>` when the scenes may have transitions.  
Install `@remotion/transitions` if it is missing.  
Give each sequence an inline `durationInFrames` value so Studio can edit its timing.

Example:

```tsx
// MyVideo.tsx
import {TransitionSeries} from '@remotion/transitions';
import {OpeningScene} from './OpeningScene';
import {FeatureScene} from './FeatureScene';

export const MyVideo = () => (
  <TransitionSeries>
    <TransitionSeries.Sequence
      name="Opening"
      durationInFrames={90}
    >
      <OpeningScene />
    </TransitionSeries.Sequence>
    <TransitionSeries.Sequence
      name="Feature"
      durationInFrames={120}
    >
      <FeatureScene />
    </TransitionSeries.Sequence>
  </TransitionSeries>
);
```

Register the same scene components, plus the parent video, in the root:

```tsx
// Root.tsx
import {Composition, Folder} from 'remotion';
import {OpeningScene} from './OpeningScene';
import {FeatureScene} from './FeatureScene';
import {MyVideo} from './MyVideo';

export const RemotionRoot = () => (
  <>
    <Folder name="MyVideo-Scenes">
      <Composition
        id="Opening"
        component={OpeningScene}
        width={1920}
        height={1080}
        fps={30}
        durationInFrames={90}
      />
      <Composition
        id="Feature"
        component={FeatureScene}
        width={1920}
        height={1080}
        fps={30}
        durationInFrames={120}
      />
    </Folder>
    <Composition
      id="MyVideo"
      component={MyVideo}
      width={1920}
      height={1080}
      fps={30}
      durationInFrames={210}
    />
  </>
);
```

Keep each scene's standalone metadata and `defaultProps` consistent with how it is used in the main video.

With no transition, this example needs a 210-frame main composition. If you add a transition, account for its overlap in the main duration; see [transitions](transitions.md).

Use `<Series>` for consecutive scenes that do not need transitions. Use `<Sequence>` for scenes placed independently on the parent timeline.

SHA-256: 6c8c724ba63575e0351f39ec7c6b0022f098ad63a42243809c7851758ce226a0