Automation

Automate conversions, remotely set settings, and control licenses with the EditReady API. You can also trigger custom scripts on specific events, and run custom processes, other apps, or integrate EditReady into an existing workflow.

EditReady is also available as a headless CLI.

Requirements

  • EditReady Pro license

  • API: EditReady 22.4 or newer

  • Scripting: EditReady 25.4 or newer

API

You can tell EditReady to do something by calling the app URL: editready://. You can call this from any app or script that can open a URL.

Copy/paste the URL below in a web browser, press Enter, and EditReady will open.

editready://open

You can also use a shell, copy/paste the command below, press Enter, and EditReady will open.

open 'editready://open'

Activate & Deactivate License

editready://activate?key=<your-license-key>
editready://deactivate

Add Clips

Adds a file or folder to the clip view.

editready://add?sourcePath=<file or folder path>

Transcode

Transcodes a file or folder (also adds the file to the clip view).

editready://transcode?sourcePath=<file or folder path>&preset=<preset name/path or UUID>&destinationPath=<folder path>

EditReady stores its preset files inside the app bundle with a .erpreset file extension. (e.g. /Applications/EditReady.app/Contents/Resources/Apple ProRes 422 (HQ).erpreset). User presets are saved in: /Users/<your-usename>/Library/Application Support/EditReady

Scripting

You can attach scripts (AppleScript or Python) to the following events:

EditReady Started

Fires once when launching EditReady. Has no payload.

File Conversion Completed

Fires when a conversion has completed, and has the following payload:

03/10/2025, 15:18:11 - File Conversion Completed: {
  "FileConversionCompleted_destinationPath" = "/Volumes/Hedge/Clip-0001.braw";
  "FileConversionCompleted_status" = "Success";
  "FileConversionCompleted_sourcePath" = "/Volumes/G-DRIVE I/TEST";
  "FileConversionCompleted_error" = "none";
}

Python

When a Python script is executed, the event payload is passed as a JSON string in the first command-line argument (sys.argv[1]). You can parse it into a dictionary as follows:

import sys
import json

# Load the event payload from the first argument
payload = json.loads(sys.argv[1])

# Example: access fields from the payload
print(payload.get("FileConversionCompleted_status"))

AppleScript

When an AppleScript script is executed, the event payload is injected into the script by identifying key names, such as "{FileConversionCompleted_status}", and replacing them with corresponding values. You can test this as follows:

display alert "{FileConversionCompleted_status}"

Event Log

All events and script execution results are recorded in the Event Log. You can find the log file at:

/Users/[your-username]/Library/Application Support/EditReady/Event Log/EditReadyEvents.log

Last updated