Video
Endpoints for converting and compressing video files using FFmpeg.
Convert
$0.0003per MB
POST /video/convert
Convert video files between formats with full control over codecs, resolution, frame rate, bitrate, trimming, and audio settings.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
targetFormat | mp4 | mkv | mov | webm | avi | flv | mpeg | ts | ogg | m4v | 3gp | mp3 | aac | wav | flac | mp4 | Output format. Includes audio-only formats for extraction. |
videoCodec | auto | h264 | h265 | vp8 | vp9 | av1 | mpeg4 | mpeg2 | theora | copy | none | auto | Video codec. auto picks best for format, copy remuxes, none for audio-only. |
audioCodec | auto | aac | mp3 | opus | vorbis | flac | pcm_s16le | ac3 | copy | none | auto | Audio codec. auto picks best for format, none strips audio. |
preset | ultrafast | superfast | veryfast | faster | fast | medium | slow | slower | veryslow | medium | FFmpeg encoding speed/quality preset. |
crf | number | — | Constant Rate Factor (0-51 for H.264/H.265, 4-63 for VP9). Lower = better quality. |
videoBitrate | string | — | Target video bitrate (e.g. 2M, 5000k). |
audioBitrate | string | — | Target audio bitrate (e.g. 128k, 320k). |
width | number | — | Target width in pixels (maintains aspect ratio if only one dimension set). |
height | number | — | Target height in pixels. |
resolution | 240p | 360p | 480p | 720p | 1080p | 1440p | 2160p | — | Resolution preset (convenience shortcut for height). |
fps | number | — | Target frame rate (e.g. 24, 30, 60). |
startTime | string | — | Trim start position (e.g. 00:01:30 or 90). |
endTime | string | — | Trim end position. |
duration | string | — | Max duration from startTime. |
sampleRate | number | — | Audio sample rate in Hz (e.g. 44100, 48000). |
audioChannels | number | — | Number of audio channels (1=mono, 2=stereo, 6=5.1). |
pixelFormat | auto | yuv420p | yuv422p | yuv444p | rgb24 | auto | Pixel format. |
stripMetadata | true | false | false | Remove metadata from output. |
deinterlace | true | false | false | Apply yadif deinterlacing. |
rotate | 90 | 180 | 270 | — | Rotate video. |
Example
tempo request -X POST https://api.fylor.com/video/convert \
-F "file=@input.mp4" \
-F "targetFormat=webm" \
-F "videoCodec=vp9" \
-F "audioCodec=opus" \
-F "resolution=720p" \
-o output.webmAccepted file types
mp4, mkv, webm, avi, mov, flv, wmv, mpeg, ts, 3gp, ogg, m4v
Limits
- Max file size: 1 GB
- Minimum charge: $0.01 per request
Compress
$0.0003per MB
POST /video/compress
Compress video with quality presets. Automatically selects optimal codec settings based on the quality level.
Parameters
| Name | Type | Default | Description |
|---|---|---|---|
quality | light | medium | heavy | extreme | medium | Compression preset. light = minimal compression, extreme = maximum reduction. |
codec | auto | h264 | h265 | vp9 | av1 | auto | Video codec override (auto selects best for container). |
crf | number | — | Constant Rate Factor override (0-51 for H.264/H.265, 4-63 for VP9, 0-63 for AV1). |
maxResolution | 240p | 360p | 480p | 720p | 1080p | 1440p | 2160p | — | Cap resolution (downscale if larger, never upscale). |
videoBitrate | string | — | Target video bitrate instead of CRF (e.g. 2M, 5000k). |
audioBitrate | string | — | Override audio bitrate (e.g. 128k, 64k). |
audioCodec | auto | aac | mp3 | opus | copy | none | auto | Audio codec override. |
fps | number | — | Cap frame rate (never increases, e.g. 24, 30). |
stripAudio | true | false | false | Remove audio track entirely. |
stripMetadata | true | false | true | Remove metadata from output. |
encodingSpeed | ultrafast | superfast | veryfast | faster | fast | medium | slow | slower | veryslow | — | Encoding speed/quality tradeoff. |
twoPass | true | false | false | Enable two-pass encoding for tighter bitrate control (doubles processing time, requires videoBitrate). |
maxWidth | number | — | Cap width in pixels (never upscales, preserves aspect ratio). |
maxHeight | number | — | Cap height in pixels (never upscales, preserves aspect ratio). |
deinterlace | true | false | false | Apply yadif deinterlacing. |
Example
tempo request -X POST https://api.fylor.com/video/compress \
-F "file=@video.mp4" \
-F "quality=medium" \
-F "maxResolution=1080p" \
-o compressed.mp4Accepted file types
mp4, mkv, webm, avi, mov, flv, wmv, mpeg, ts, 3gp, ogg, m4v
Limits
- Max file size: 1 GB
- Minimum charge: $0.01 per request
Last updated on