Your email address belongs to a school and you are eligible for a free educational premium account.
Learn more

Convert anything to MP4


The API for converting any file to MP4.

Here you can see all available conversion options which you can use within the "options" section of conversions (see the example JSON below the table).

Here you can see all available conversion options which you can use within the "options" section of conversions (see the example JSON on the right).

Option Name Description
allow_multiple_outputs
Type: boolean
Default: False
If the conversion produces more than one output file, by default all of them are compressed in just one file. Set this option to true if you want a download link for each file.
allow_multiple_outputs_threshold
Type: integer
Minimum: 2
Maximum: 400
Sets the threshold for the number of output files during conversion. This option is considered only when `allow_multiple_outputs` is set to true. If the generated output files exceed this threshold, they are compressed into one file. Conversely, if the threshold is not met, each output file remains uncompressed.
aspect_ratio
Type: string
Pattern: ^\d{1,6}:\d{1,6}$
Specify the aspect ratio of the video e.g. 16:9.
audio_bitrate
Type: integer
Enum: 8 16 24 32 48 56 64 96 112 128 160 192 224 256 320
Audio bitrate in kbps.
audio_codec
Type: string
Enum: aac mp3 mp2
Sets the audio codec
audio_frequency
Type: integer
Enum: 8000 11025 16000 22050 24000 32000 44100 48000 96000
Audio frequency in Hz.
channel
Type: string
Enum: stereo mono
Audio channels.
codec
Type: string
Enum: h.264 h.265 mpeg1video mpeg2video mpeg4
Sets the video codec
crf
Type: integer
Minimum: False
Maximum: 51
The Constant Rate Factor (CRF) allows the encoder to attempt to achieve a certain output quality for the whole file when output file size is of less importance. Lower values result in better quality at the expense of a higher file size. This option will be ignored if video_bitrate or file_size is set.
crop_bottom
Type: integer
Minimum: False
Maximum: 100000
Crop from the bottom. Use either the cropping from crop_top/bottom/left/right or crop_origin_x/y and crop_width/height.
crop_height
Type: integer
Minimum: True
Maximum: 65000
Specifies the height in pixels of the crop area. Use either the cropping from crop_top/bottom/left/right or crop_origin_x/y and crop_width/height.
crop_left
Type: integer
Minimum: False
Maximum: 100000
Crop from the left side. Use either the cropping from crop_top/bottom/left/right or crop_origin_x/y and crop_width/height.
crop_origin_x
Type: integer
Minimum: False
Maximum: 65000
Specifies the X origin coordinate in pixels of the crop area starting from the upmost left corner of the image. Use either the cropping from crop_top/bottom/left/right or crop_origin_x/y and crop_width/height.
crop_origin_y
Type: integer
Minimum: False
Maximum: 65000
Specifies the Y origin coordinate in pixels of the crop area starting from the upmost left corner of the image. Use either the cropping from crop_top/bottom/left/right or crop_origin_x/y and crop_width/height.
crop_right
Type: integer
Minimum: False
Maximum: 100000
Crop from the right side. Use either the cropping from crop_top/bottom/left/right or crop_origin_x/y and crop_width/height.
crop_top
Type: integer
Minimum: False
Maximum: 100000
Crop from the top. Use either the cropping from crop_top/bottom/left/right or crop_origin_x/y and crop_width/height.
crop_width
Type: integer
Minimum: True
Maximum: 65000
Specifies the width in pixels of the crop area. Use either the cropping from crop_top/bottom/left/right or crop_origin_x/y and crop_width/height.
default_still_frame_duration
Type: number
Minimum: 0.02867
Maximum: 1800
Defines the duration in seconds of a still frame. E.g. when converting from images or documents.
deinterlace
Type: boolean
Default: False
Deinterlace the video
download_password
Type: string
Pattern: ^[ -~]{0,1000}$
Example: secret_password
A password to protect the download. To download the file send the password in the x-oc-download-password header or set a cookie named x-oc-download-password. The value contains a comma separated list of passwords.
end
Type: string
Pattern: ^\d\d:\d\d:\d\d$
Sets the end point of the part of the video you want to keep. The format is HH:MM:SS. HH = hour, MM = minutes, SS = seconds. Example 00:05:35
file_size
Type: integer
Minimum: False
Maximum: 4096
Limit the target size of the video you want to convert to MP4 to this size in Megabyte (MiB). We try to do our best to achieve this limit as close as possible.
framerate
Type: number
Minimum: True
Maximum: 120
Specifies the video frames per second
height
Type: integer
Minimum: True
Maximum: 10000
Specifies the screen height in pixels
merge
Type: boolean
Allows to merge the input files to a single video
mirror
Type: string
Enum: none horizontal vertical
Mirror/flip your video
normalize
Type: boolean
Default: False
Normalize the audio volume.
output_filename
Type: string
Pattern: ^[\w\W]{0,255}$
Example: my_base_filename_without_extension
The desired file name of the converted file WITHOUT the file extension.
overlays
Type: array
Additionalproperties: False
Input_id: string ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$ 1 Define the input_id of the file you want to specify as an overlay. Valid files are videos and images
Position_x: integer -100000 100000 The position of the overlay on the x-axis
Position_y: integer -100000 100000 The position of the overlay on the y-axis
Origin: string Top-left: Top-right: Bottom-left: Bottom-right: Center: Specify the origin for the positioning of the overlay. Default is top-left
Width: integer 0 100000 The width of the overlay
Height: integer 0 100000 The height of the overlay
Opacity: string ^[0,1]$|^0\.\d{1,2}$ Define the opacity of the overlay where 0 is invisible and 1 is full opacity
preset
Type: string
Pattern: ^[\w\W]{1,255}$
Predefined options
remove_audio
Type: boolean
Default: False
Disable the audio track
resize_handling
Type: string
Enum: stretch keep_aspect_ratio_fill_black keep_aspect_ratio_fill_white keep_aspect_ratio_fill_blurred keep_aspect_ratio_crop do_not_upscale
Default: stretch
Determine how the resizing of the image should be done. Either by stretching, keeping the original aspect ratio (filling the empty space if needed) or not upscaling the original video.
rotate
Type: integer
Enum: 90 180 270
Rotate your video, specified in degrees clockwise
start
Type: string
Pattern: ^\d\d:\d\d:\d\d$
Sets the start point of the part of the video you want to keep. The format is HH:MM:SS. HH = hour, MM = minutes, SS = seconds. Example 00:02:23
video_bitrate
Type: integer
Minimum: True
Maximum: 100000
Specifies the bitrate in kbps
width
Type: integer
Minimum: True
Maximum: 10000
Specifies the screen width in pixels

Output Example

POST /v2/jobs HTTP/1.1
Host: https://api.api2convert.com
X-Oc-Api-Key: <your API key here>
Content-Type: application/json
{
    "input": [{
        "type": "remote",
        "source": "https://example-files.online-convert.com/video/mpeg/example.mpeg"
    }],
    "conversion": [{
        "category": "video",
        "target": "mp4",
        "options": {
            <conversion options here>
        }
    }]
}