Export
Export turns the project into a video file your users can keep, share or upload: an MP4 (H.264 video, AAC audio), rendered on the device.
- It renders the project as it was when export started; the user can keep editing.
- It runs in the background (on the web, in a worker) and reports progress.
- It can be cancelled; a cancelled or failed export leaves no file behind.
- What happens to the file next is up to your app: save it to the photo library, share it, or upload it.
Settings
Start from the SDK's settings for the project and adjust them if needed:
| Setting | |
|---|---|
| Size | The project's size, or scaled so its short side is e.g. 720 or 1080 px, keeping the aspect ratio. Rounded down to even numbers. |
| Frame rate | The project's, as a fraction (30/1, 30000/1001). |
| Video bitrate | Chosen for the size and frame rate; bits per second. |
| Audio bitrate | 192 kbps by default. |
Text and effects scale with the output, so a 720p export looks the same as 1080p, only smaller.
Unlicensed exports
Without a valid license key, exports stop after 30 seconds and carry a watermark.
Per platform
| Start | Progress | Cancel | |
|---|---|---|---|
| iOS | editor.export(path:settings:listener:) | ExportListener (export thread) | job.cancel() |
| Android | editor.export(path, settings, listener) | ExportListener (export thread) | job.cancel() |
| React Native | await editor.exportVideo(path, settings, onProgress) | onProgress(fraction) | editor.cancelExport() |
| Web | await editor.export(options) → Blob | onProgress(fraction) | an AbortSignal |