Export formats
File → Export…
The engine renders the export in its own process, off-screen. Progress is shown, and the editor stays usable throughout. The Export dialog, the Render Queue and the command line all render through the same engine.
The formats
| Format | Container / codec | Alpha | Notes |
|---|---|---|---|
| MP4 | H.264, AAC audio | No | The default for sharing. Encoded by ffmpeg |
| WebM | VP9, Opus audio | Yes | Smaller than MP4, plays on the web. Encoded by ffmpeg |
| MOV | ProRes 4444 | Yes | For handing to another application. Large. Can be rendered from a 16-bit surface, so alpha and gradients keep their precision. Encoded by ffmpeg |
| GIF | GIF89a | 1-bit | Palettised across the whole animation. No audio. Encoded by ffmpeg |
| PNG sequence | zip of PNGs | Yes | The archival option. Audio rides along as audio.wav |
| JPEG sequence | zip of JPEGs | No | Smaller frames |
| Still frame | PNG | Yes | The current frame, snapped to the frame grid |
| HDR10 | MP4, H.265 (HEVC) 10-bit, PQ, BT.2020 | No | High dynamic range delivery with HDR10 static metadata. Encoded by the engine through ffmpeg — see HDR export |
| HLG | MP4, H.265 (HEVC) 10-bit, HLG, BT.2020 | No | Broadcast HDR that degrades gracefully on SDR displays. Encoded by ffmpeg |
| EXR sequence | zip of OpenEXR | Yes | Linear float frames for compositing hand-off |
| WAV | 48 kHz PCM | — | The mixed audio on its own |
| Lottie | bodymovin JSON | — | Vector shapes and transform tracks only |
| MOGRT | Premation template package (.mogrt.zip) | — | Your template fields plus the document, as an open interchange. It is not an Adobe .mogrt: Premiere cannot open it, but Premation and scripts can re-import it |
| EDL / OTIO / FCPXML / ALE | Editorial interchange | — | The cut, not the pixels: clip in/out points and names for Premiere, Resolve, Final Cut and OpenTimelineIO tools |
| Project | JSON | — | The editable document, re-openable with File → Open |
The ffmpeg that MP4, WebM, MOV, GIF and the HDR formats are encoded with ships with Premation. Before the save dialog opens, the export checks that it can write the format you chose, and offers a one-click repair if it cannot — see ffmpeg & codecs.
Formats added by plugins. A native plugin can add export formats. They appear in a Plugins category of the Export dialog and the Render Queue, with the options the plugin declares, and the plugin writes the files itself.
Options
| Option | Values |
|---|---|
| Resolution scale | Full / Half / Quarter |
| Frame rate | Defaults to the composition’s |
| Duration and time range | Any sub-range |
Output resolution is independent of composition size. A quarter-resolution review copy still frames the whole composition — it is a smaller render, not a crop.
Preview before you export
The export dialog renders real export frames — from the same engine, with the same composition scoping and the same 1:1 composition-to-frame fit the encoder will receive — and lets you scrub the whole export range.
If a frame contains nothing, the dialog says so before anything is written.
It refuses to produce an empty file
Every path asserts on a real frame count. A zero-frame encode is an error, not a silently successful black video. The renderer also fails loudly if the GPU backend did not initialise, rather than handing the encoder an untouched canvas.
This is the single most useful property of the export pipeline: a file that exists is a file with content in it.
Choosing a format
| You need | Use |
|---|---|
| To post it somewhere | MP4 |
| Transparency on a web page | WebM |
| Transparency, maximum quality, into another app | MOV / ProRes 4444 |
| Vector, tiny, scalable, in an app | Lottie — but see its limits |
| Frames for another pipeline | PNG sequence |
| A thumbnail or a still | Still frame |
| To hand the editable project to someone | Project |
HDR10 and HLG
The HDR10 and HLG formats are encoded by the engine, not converted from an SDR render:
- The frame is drawn into a half-float surface without clipping at white, so highlights above 1.0 keep the headroom HDR exists for. An HDR export overrides the project’s viewer transform, so a preview transform is never applied twice.
- Colour is converted from Rec. 709 primaries to BT.2020, and working-space white is placed at 203 nits (ITU-R BT.2408) and clipped at a 1000-nit mastering display before the PQ or HLG transfer is applied.
- The result is a 10-bit HEVC MP4 tagged BT.2020 with the matching transfer. HDR10 carries static metadata, including MaxCLL and MaxFALL measured on what is delivered.
An HDR delivery is opaque — there is no alpha. If the ffmpeg in use has no
libx265 encoder, the export falls back to H.264 High 10 and says so, rather
than silently delivering something else.
How it works underneath
The engine renders each frame and pipes the raw pixels straight into an ffmpeg child process, several frames in flight at a time. Two consequences:
- The encode never competes with the editor’s interface, so a long export leaves the app usable, and if the engine dies mid-export the ffmpeg child dies with it, so nothing half-written is delivered as if it were finished.
- Peak memory is a few frames, not the whole render. The finished file is moved to where you asked for it, so a multi-gigabyte export never passes through the app’s memory at all.
Every frame is drawn by the engine on the GPU, so an export needs the same working graphics driver as the viewport.