Skip to main content

Trigger Compresto via deep linking

The deep link support these parameters:
  • quality . Possible values: highest, high, good, medium, acceptable . Default is high
    • For PDF, the param is pdfQuality which the possible values are: best , high, balance, low
  • videoFormat . Possible values: same, mp4, webm . Default is same
  • imageFormat . Possible values: same, webp, jpg, png . Default is same
  • format. Default value is same . If videoFormat or imageFormat is missing, format parameter will be used
  • removeAudio . Possible values: true , false . Default is false
  • fileNameFormat to customise the output file name format. It is appended to the original file name. Supported tokens:
    • {timestamp} - Current unix timestamp
    • {datetime} - Current date and time in yyyy-MM-dd'T'HHmmss format
    • {date} - Current date in yyyy-MM-dd format
    • {time} - Current time in HHmmss format
    • {quality} - Quality of the output file
    • {resolution} - Resolution of the output file
  • outputFileName to set an explicit output file name (base name only, without extension). Overrides fileNameFormat. When multiple files are processed, a number is appended to avoid collisions (e.g. name, name 1, name 2)
  • outputFolder or outputPath to customise the output folder. Default is same as input files.
  • removeInputFile for removing input files after compression
  • subfolderProcessing for including the files in subfolders recursively. Possible values: all, none, or a number to set the max depth

File compression using deep linking

The deeplink format is as follows:
compresto://open?path={path_to_your_file_1}|{path_to_your_file_2}
&[param1]=[value1]&[param2=[value2]
Each file path is divided by | character. Each param is divided by & character. Below are some example deeplinks
// compress a video
compresto://open?path=/Users/hieudinh/Desktop/video.mp4&quality=medium&videoFormat=mp4&removeAudio=true

// compress an image
compresto://open?path=/Users/hieudinh/Desktop/image.png&quality=medium&imageFormat=png

// compress video and image
compresto://open?path=/Users/hieudinh/Desktop/image.png|/Users/hieudinh/Desktop/video.mp4&quality=medium&imageFormat=png&videoFormat=mp4&removeAudio=true

// compress a video with a custom output file name
compresto://open?path=/Users/hieudinh/Desktop/video.mp4&videoFormat=webm&outputFileName=my-clip

Output file name results

fileNameFormat is appended to the original file name, while outputFileName replaces it entirely. When both are provided, outputFileName takes precedence and fileNameFormat is ignored. Given an input file video.mp4, here are the resulting output file names:
ParametersOutput file name
fileNameFormat=_compressedvideo_compressed.mp4
fileNameFormat=-{date}video-2026-06-04.mp4
fileNameFormat=-{quality}-{resolution}video-Good-FullHD.mp4
outputFileName=my-clipmy-clip.mp4
fileNameFormat=_compressed and outputFileName=my-clipmy-clip.mp4
The extension follows the chosen videoFormat / imageFormat (or stays the same as the input when same).

File importing using deep linking

You can also import files into CompressX for customization before compressing. The deeplink format is as follows:
compresto://import?path={path_to_your_file_1}|{path_to_your_file_2}

Trigger Compresto via command line

In your favourite Terminal, you can trigger compression or importing by using the same deep link with open command.
// compression
open "compresto://open?path=/Users/hieudinh/Desktop/test1.mp4|/Users/hieudinh/Desktop/test2.mp4"

// import
open "compresto://import?path=/Users/hieudinh/Desktop/test1.mp4|/Users/hieudinh/Desktop/test2.mp4"