Output Formats
Xora supports 9 output formats across video, audio, and image types. You specify the format in your job’s output.format field.
Supported formats
Section titled “Supported formats”| Format | Type | MIME Type | Description |
|---|---|---|---|
mp4 | Video | video/mp4 | H.264 video — universal playback, great for web |
webm | Video | video/webm | VP8/VP9 video — optimized for web browsers |
mov | Video | video/quicktime | QuickTime container — common in Apple/pro workflows |
gif | Image | image/gif | Animated GIF — for previews and social media |
mp3 | Audio | audio/mpeg | MPEG audio — most compatible audio format |
aac | Audio | audio/aac | Advanced Audio Coding — better quality than MP3 at same bitrate |
wav | Audio | audio/wav | Uncompressed audio — lossless, large files |
jpg | Image | image/jpeg | JPEG image — for thumbnails and frame captures |
png | Image | image/png | PNG image — lossless, supports transparency |
Which recipes support which formats
Section titled “Which recipes support which formats”| Recipe | Video formats | Audio formats | Image formats |
|---|---|---|---|
| webReady | mp4 | — | — |
| proxy | mp4 | — | — |
| compress | mp4, webm, mov | — | — |
| transcode | mp4, webm, mov | mp3, aac, wav | — |
| resize | mp4, webm, mov | — | — |
| trim | mp4, webm, mov | mp3, aac, wav | — |
| extractAudio | — | mp3, aac, wav (fallback only) | — |
| thumbnail | — | — | jpg, png |
| concat | mp4, webm, mov | mp3, aac, wav | — |
Choosing a format
Section titled “Choosing a format”mp4— safest default. Plays everywhere (browsers, phones, desktop). Uses H.264 codec.webm— smaller file sizes for the same quality. Best for web-only use. Not universally supported on older devices.mov— use when your downstream workflow requires QuickTime (e.g., Final Cut Pro, After Effects).
mp3— most compatible. Use for podcasts, music, or any general-purpose audio.aac— higher quality than MP3 at the same bitrate. Default audio codec in MP4 containers.wav— uncompressed, lossless audio. Use when quality matters more than file size (e.g., mastering, sound design).
extractAudio (special case)
Section titled “extractAudio (special case)”For the extractAudio recipe, output.format is only the transcode fallback when the source audio cannot be stream-copied. Xora probes the input and may deliver a different extension without re-encoding:
| Resolved output | When |
|---|---|
.mp3, .aac, .wav, .opus, .flac, .ogg | Source codec supports stream copy |
output.format (mp3, aac, or wav) | Source codec not copyable (e.g. AC-3, DTS) |
The completed file extension comes from the engine plan, not necessarily from output.format.
jpg— smaller files, great for thumbnails and previews. Lossy compression.png— lossless, supports transparency. Larger files but pixel-perfect quality.
Setting the format
Section titled “Setting the format”The format is always specified in the output object:
{ "mode": "recipe", "input": { "url": "https://example.com/video.mp4" }, "output": { "format": "mp4" }, "recipe": { "name": "compress", "crf": 28 }}For FFmpeg multi-file jobs, the format is determined by the output filename extension:
{ "mode": "ffmpeg", "input_files": { "in_1": "https://example.com/video.mp4" }, "output_files": { "out_1": "result.webm" }, "ffmpeg": { "args": ["-i", "{{in_1}}", "-c:v", "libvpx-vp9", "{{out_1}}"] }}