Drag&Drop Script Editor

The Script Editor allows you to program your action camera with a set of commands using drag&drop modules. This can for instance be useful if you want to capture a time-lapse of a construction site only during specific days and times (e.g. only daily during working hours). Another use case could be video surveillance where a new video is captured every 5 minutes.

User interface

Description of the numbered tools of the screenshot above:

  1. This function creates a new script.
  2. This button opens a dialog with two options:
    1. Load script: Loads a scripts.
    2. Import: Imports a script from a file.
  3. This button opens a dialog with two options
    1. Save as: Saves the current script to a new script name.
    2. Export: Exports the current script to a file with the extension “.cjs”.
  4. This function deletes the current script.
  5. This list contains all modules which are used by the script. The order of the modules can be changed via drag&drop.
  6. This list contains all available script modules. The modules can be added to the script via drag&drop.
  7. This button starts the script.
  8. This button closes the script editor.
  9. This button shows general options:
    • Repeat when finished: If checked, then the script is repeated until you stop it manually.
    • Stop script on error: If checked, then the script stops processing when an error occurs. If this option is unchecked, then the script ignores the error.
  10. This button opens this website.

Script modules

A script consists of modules. Each module defines certain behavior (for instance capturing a photo, waiting for a specific time, and so on).

Each script has module specific and general parameters. Module specific parameters vary between modules. For instance the “Camera mode” field in the screenshot above is a specific parameter. The “Unique id”, “Progress message”, and “Comment” fields are general parameters which are available in all modules.

Unique Id

You can assign a unique id to each module in the script. The module can then be references from other modules by using this unique id.

Progress message

The progress message is shown in the progress dialog while this module is executes. If you leave this field empty then a message “Processing (<module index>)” is shown instead.


You can add an arbitrary comment for your personal reference in the comment field.

Script module details

In the this section we will discuss each script module’s parameters.

Camera mode

This module changes the camera mode (for instance to photo, video, etc.).


  • Camera mode

Go to unique id

This module jumps to the module with the given unique id.


  • Goto unique id: The module we want to jump to.
  • Max. iterations: The number of times this module should jump. If this value is 0 then there is no limit. If the value is for instance 10, then the module jumps from run 1 to 10. On run 11 it does not jump and continues with the next module.

Toggle recording

This module toggles recording.


  • Action: Either starts or stops recording.

Wait interval

This module waits for the given interval and then continues with the script execution.


  • Wait interval: The amount of milliseconds the module waits.

Wait until time

This module waits until a specific date and/or time.


  • Specific date: If checked, then the script waits until the given date is reached.
  • Date
  • Specific time: If checked, then the script waits until the given time is reached.
  • Time

Wait for weekday

This module waits until the given weekday is reached. If the current day of week is the weekday then the module does not wait.


  • Weekday

Toggle live stream

This module starts or stops the live video and audio preview stream.

Enabling the live stream is a useful hack for many GoPro cameras: by default the camera turns off Wifi after some time of inactivity. You can prevent this by enabling the live stream.


  • Action: Start or stop the live stream.

Custom camera command

This module sends a camera specific command to the camera.

This is an advanced feature which requires you to know the possible camera commands.


  • Camera command: A camera specific command. For instance “setting/3/0”.

External command

This module changes the camera mode (for instance to photo, video, etc.).

The module is only available on desktop platforms (macOS, Windows). It is NOT available on the Mac App Store version of the app.


  • External command: The full path to the external command. For instance “c:\Windows\notepad.exe”
  • Parameters: A space separated list of optional parameters which are passed to the command. For instance “-f myfile.txt”.
  • Wait until finished: If checked, then the module waits until the external command has finished processing.


This module captures a photo or video, downloads the media item, and then deletes it from the camera.


  • Delete after download: If checked, then the media file is deleted from the camera after downloading.
  • Stop capturing after: This value is only relevant for continuous modes (e.g. video mode). If the value is greater than 0 then capturing is stopped. If this value is 0 then capturing is not stopped.
  • Wait until finished: If checked, then the module waits until capturing, download, and deleting are finished.

Download new media

This module downloads all new media files from the camera by comparing the local media file names with the files available on the camera.

The module is NOT available on iOS and WinRT.


  • Delete after download: If checked, then all media files are deleted from the camera after downloading.