Skip to main content

Job Presets

A Job Preset is a named Job Description stored in the Closed Caption Converter dashboard. Instead of including the full JSON configuration in every API or CLI call, you can create a preset once and reference it by its assigned Preset ID in subsequent requests. Presets reduce the amount of code in your integration, prevent configuration drift between environments, and make it easy for teams to share standardised workflows.

Preset Manager

Creating a Preset

Presets can be created from within the Closed Caption Converter web application or dashboard:

From the web application, configure your job exactly as you want it — choose source and target profiles, set the frame rate, add and configure any filters, and set encoding or decoding options. When the configuration is complete, open the Job Description modal and click Save as Preset. Enter a name for the preset and confirm. The preset will be visible in your dashboard immediately and will be assigned a unique Preset ID.

From the dashboard, navigate to Settings → Presets, click New Preset, paste or type a valid Job Description JSON, give it a name, and save.

Using a Preset in the API

To use a preset, pass the preset_id in your API request body instead of a config object:

curl -X POST https://api.closedcaptionconverter.com/jobs \
-H "x-api-key: YOUR_API_KEY" \
-F "source=@/path/to/input.srt" \
-F "preset_id=your-preset-id-here"

The server loads the stored Job Description and processes the file exactly as if you had submitted the full JSON. No additional configuration is required in the API call beyond the source file and the preset ID.

Using a Preset in the CLI

The CLI supports presets in the same way as the API. Pass the preset ID in the job configuration file:

{
"preset_id": "your-preset-id-here"
}

Or pass the preset ID directly as a CLI flag if your version supports it. A local internet connection is required to resolve the preset from the server when using presets with the CLI.

Managing Presets

Presets can be viewed, edited, duplicated, and deleted from the Presets section of the dashboard. Editing a preset changes the stored Job Description but does not affect any jobs that have already been submitted. Preset IDs are permanent — deleting a preset makes its ID invalid for future jobs but does not affect job history.

Naming conventions are important when using many presets. A consistent naming scheme (for example, [client]_[source-format]_to_[target-format]_[version]) makes it easy to find the right preset without needing to inspect its contents.

Preset IDs in Code

Preset IDs are UUID strings. Store them in your application's environment configuration or secrets manager rather than hardcoding them in source code. This makes it easy to swap presets between environments (development, staging, production) without changing application code.

# Example: store as an environment variable
CCCONVERTER_PRESET_SRT_TO_STL="abc12345-0000-0000-0000-000000000001"

# Use it in a curl request
curl -X POST https://api.closedcaptionconverter.com/jobs \
-H "x-api-key: $CCCONVERTER_API_KEY" \
-F "source=@input.srt" \
-F "preset_id=$CCCONVERTER_PRESET_SRT_TO_STL"