Export Profiles

An export profile groups a file format, a quality level, and a destination folder under a single name.

It's the shared foundation of every JPGBoost automation. You set up a profile once, then reuse it anywhere an export is needed.

Included in Free

This feature is available on JPGBoost Free as well as Pro, with one limit: JPGBoost Free allows a single profile. Editing it, renaming it or overwriting it stays possible at all times; only creating a second profile is refused. What the profile drives does stay capped by the Free quota: 50 images a day and 5 MB per file. JPGBoost Pro removes all of these limits.

What a profile is for

An export profile has a name and holds three pieces of information:

  • an output format (PNG, JPEG, HEIC, AVIF, WebP, or JPEG XL);
  • a quality from 1 to 100;
  • an optional destination folder.

Once created, this profile is recognised by the app, the command line, the local API, Shortcuts, and watched folders. You stop repeating the same settings in every script.

Creating a profile

  1. Open Settings (⌘,) then the Profiles tab.
  2. Create a new profile and give it a clear name, for example Web JPEG or Client Delivery.
  3. Choose the output format and quality.
  4. If you'd like, select a destination folder using the native picker.
  5. Save. The profile is immediately available everywhere.
Creating a profile without opening the app

On a server or in a setup script, the CLI can create or update a profile directly: jpgboost-cli --create-profile "Web JPEG" --format jpeg --quality 70 --output ./compressed. A name that's already in use overwrites the existing profile, just like in the app.

A profile with a destination is more than a convenience

Setting a destination folder in the profile is the only reliable way to fix an output folder in the Shortcuts app. See the Shortcuts and AppleScript guide.

Applying a profile in the app

The main window's toolbar offers a profile menu. It applies the profile's format and quality to the current batch, and always shows the name of the profile currently applied.

Reusing a profile elsewhere

The same profile can be called by name from each entry point:

Entry pointHow to call it
AppProfile menu in the toolbar
Command line--profile "Web JPEG"
Local APIprofile field of /v1/settings and /v1/export
ShortcutsAction's Export Profile parameter
AppleScriptprofile "Web JPEG" parameter
Watched foldersProfile selected in the folder's configuration

Priority rule

An export profile only fills in missing settings. Any value set explicitly takes priority over the profile's. This rule applies everywhere in JPGBoost.

# The profile supplies the format, quality, and folder
jpgboost-cli --profile "Web JPEG" *.png

# Here, --output overrides the profile's folder
# (the profile's format and quality still apply)
jpgboost-cli --profile "Web JPEG" --output ./elsewhere *.png

For watched folders, the rule is slightly different: the destination folder configured on the watched folder always overrides the profile's.

Default profile

Only one profile at a time can be marked default, from Settings → Profiles. It's the one JPGBoost applies when no profile is named at all, a different situation from the priority rule above, which assumes a profile is already named explicitly.

This mechanism notably serves the Spotlight "Compress Images" action invoked by its generic phrase, with no hand-built shortcut. That raw invocation carries no parameter beyond the selected files, and so falls back entirely on the default profile for its format, quality, and destination folder. See the Shortcuts and AppleScript guide for the full walkthrough.

The same mechanism benefits the command line without --profile, AppleScript without a profile parameter, and a watched folder with no dedicated profile.

Only settable from the app

The default flag is set in Settings → Profiles, never through the local API or the CLI. Creating or updating a profile via POST /v1/profiles or jpgboost-cli --create-profile preserves its existing default status as is, never resetting it.

Where profiles are stored

Profiles are saved in a single file, shared by the app, the CLI, and the API:

~/Library/Application Support/JPGBoost/exportProfiles.json

It's this shared storage that lets a profile created in the interface be immediately usable in a script, and vice versa.

Full example

Goal: deliver web-optimised visuals every week, always to the same folder and with the same settings.

  1. Create the Web JPEG profile: JPEG format, quality 70, destination ~/Sites/media.
  2. In the app, apply it to a batch from the toolbar to visually check the result.
  3. Once you're satisfied, call it from a script with no need to repeat the settings.
# Command line: nothing to repeat, everything comes from the profile
jpgboost-cli --profile "Web JPEG" ~/Images/week-12/*.png

# Local API: apply the profile, then export to its folder
curl -s -X POST -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"profile": "Web JPEG"}' \
  http://127.0.0.1:51823/v1/export