Choose an export format
Start with the delivery target
Section titled “Start with the delivery target”| Target | Recommended profile |
|---|---|
| Broad web and desktop video delivery | mp4-h264-aac |
| Open web delivery | webm-vp9-opus |
| AV1 or HEVC workflow with verified device support | mp4-av1-aac or mp4-hevc-aac |
| Thumbnail or poster | still-png, still-jpeg, or still-webp |
| Short looping preview | animated-gif |
| Uncompressed mixed audio | audio-wav |
Profiles express intent; support is negotiated on the actual device and Project.
Complete local flow
Section titled “Complete local flow”- Choose a profile and output sink.
- Call
session.export.preflightProfile()with the exact options. - Present warnings, alternatives, estimated size, and storage requirements.
- Start the job, subscribe to progress, and expose cancellation.
- Await job completion and the sink’s finalization.
- Download, retain, or clean up the completed file.
The running job freezes the current Project revision. A later edit does not alter it.
Sink selection
Section titled “Sink selection”Use a memory sink for small outputs that must immediately become a Blob. Use OpfsSeekableSink or
a custom seekable sink for long output, bounded memory, and resumable segments. A sink owns bytes;
the job result contains metadata, not another full copy.
Local or remote
Section titled “Local or remote”Local export offers privacy, no upload, and instant feedback, but depends on browser codecs, storage, memory, battery, and page lifetime. Remote export is appropriate for unsupported codecs, large collaborative jobs, server fonts/materials, mobile limits, or background completion. It requires explicit authorization, asset resolution, validation, progress, cancellation, and result retention.
See Export profiles, Job and sink lifecycle, and Remote export.