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.
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 recognized 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
- Open Settings (⌘,) then the Profiles tab.
- Create a new profile and give it a clear name, for example Web JPEG or Client Delivery.
- Choose the output format and quality.
- If you'd like, select a destination folder using the native picker.
- Save. The profile is immediately available everywhere.
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.
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 point | How to call it |
|---|---|
| App | Profile menu in the toolbar |
| Command line | --profile "Web JPEG" |
| Local API | profile field of /v1/settings and /v1/export |
| Shortcuts | Action's Export Profile parameter |
| AppleScript | profile "Web JPEG" parameter |
| Watched folders | Profile 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.
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-optimized visuals every week, always to the same folder and with the same settings.
- Create the Web JPEG profile: JPEG format, quality 70, destination
~/Sites/media. - In the app, apply it to a batch from the toolbar to visually check the result.
- 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