> ## Documentation Index
> Fetch the complete documentation index at: https://docs.clayzo.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Exporting media

> Render a document to MP4, MOV, WebM, animated WebP, GIF, SVG or a PNG sequence.

```bash theme={null}
npx clayzo export animations/hero.json hero.mp4 --format mp4 --tier final
```

Export renders every frame with the same renderer the CanvasKit player uses, so a video is pixel-identical to full-fidelity playback. `--format` is required; the output extension isn't read.

## Formats

| Format | Alpha | Sound | Use it for |
| - | - | - | - |
| `mp4` | No | Yes | Anywhere that takes video: social, ads, slides, email fallbacks |
| `mov` | Yes | Yes | Overlays and compositing in video tools |
| `webm` | Yes | Yes | Transparent video on the web; Safari plays it without the transparency |
| `webp` | Yes | No | Animated images with transparency that play everywhere, Safari included |
| `gif` | No | No | Where only GIF is accepted |
| `png-sequence` | Yes | No | One PNG per frame, for compositing or your own encoder |
| `svg` | Yes | No | Vector motion that plays wherever an image does, at any size |

Animated WebP stores a run of identical frames once, and an animation that never changes becomes a still image. It is larger than WebM for long or large animations; for those, WebM or a player on the page is the better fit.

An SVG is one file animated with CSS, with text drawn as outlines, and it takes none of the options below. It matches every frame exactly, so if a document has something SVG can't draw, such as a shader effect or a camera, nothing is written and the command lists those nodes.

For a single still, use [`render-frame`](/cli/render-frame) instead.

## Quality

`--tier` picks an encoder preset: `draft`, `review`, `final` or `master`. `--quality 0..100` sets the encoder quality directly (default 85). `--supersample 2` renders at twice the output size and downsamples, which sharpens thin strokes and small text at the cost of four times the pixels.

`--alpha preserve` keeps transparency in the formats that support it; `--alpha flatten` composites onto `--flatten-color`. Frames are transparent wherever nothing is drawn, so a document without a full-canvas background rect exports on black in MP4 and on nothing in MOV. Draw the background.

## Size and range

| Option | Effect |
| - | - |
| `--max-dimension <px>` | Bound the longer side; the default for exports is the document size |
| `--full-resolution` | Render at the document's size |
| `--start <tick> --end <tick>` | Export a tick range |
| `--step <ticks>` | Ticks between frames; default is one frame at the document's frame rate |

## Speed

Export cost is per layer, not per second. A flat document renders quickly on the CPU. Every node with opacity below 1, every isolated group, every drop shadow and every effect adds an offscreen pass per frame, and glass, refraction and custom shaders are evaluated per pixel. Progress with an estimate prints to stderr.

Exports render on your GPU when that's faster, in a Chrome, Edge, Brave or Chromium started headless; on effect-heavy documents that is orders of magnitude faster. Without one of those browsers or a hardware GPU, frames render on the CPU. `--backend gpu` or `--backend cpu` forces either. GPU and CPU rasterisation aren't bit-identical, so a GPU export matches the preview rather than a CPU export.

`--parallelism <n>` sets the worker threads for CPU rendering.

## What an export contains

* **The timeline as authored.** Interaction bindings never run during export. See [Interactivity](/authoring/interactivity) for what that means for how you author.
* **A progress sheet.** `hero.mp4.preview.png` with the first twelve frames is written beside the output. It's a convenience, not a deliverable; `--progress-preview <file>` moves it and `--no-progress` skips it.
* **A verified file.** The result is decoded after encoding to confirm it plays. `--no-verify` skips that.

## Options reference

Every flag is listed on the [`export`](/cli/export) reference page.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.