Getting Started

Encore Profile Server is an open source HTTP server that stores and serves SVT Encore transcoding profiles from an S3-compatible object store. Instead of embedding profiles inside Encore's configuration, you store YAML or JSON profile files in a bucket and point Encore at this server — making it easy to update profiles without restarting your transcoding pipeline.

It also exposes a /feelinglucky endpoint that can generate new profiles using the Anthropic Claude API, given a free-text instruction.

Prerequisites

  • An OSC account. Sign up here.
  • A running MinIO instance (or any S3-compatible store) to hold the profile files.
  • A running SVT Encore instance that will consume the profiles.

Step 1: Create a MinIO instance

Navigate to MinIO and create an instance. Note the internal URL, root user, and root password shown on the instance card.

Create a bucket named encore-profiles inside MinIO (use the MinIO web console at the instance's public URL and log in with the root credentials).

Upload your Encore profile YAML files to that bucket.

Step 2: Create an Encore Profile Server instance

Navigate to Encore Profile ServerCreate encore-profile-server and fill in:

Field Required Description
name Yes Instance name (alphanumeric).
s3Endpoint No Internal URL of your MinIO instance. Default: http://localhost:9000.
s3Region No S3 region identifier. Default: us-east-1.
s3AccessKey No MinIO root user (access key). Default: minioadmin.
s3SecretKey No MinIO root password (secret key). Default: minioadmin.
s3Bucket No Bucket containing the profile files. Default: encore-profiles.
s3Prefix No Optional path prefix to limit profile discovery to a subfolder.
anthropicApiKey No Anthropic API key — only required for the /feelinglucky AI profile generation endpoint.
anthropicModel No Claude model to use for profile generation. Default: claude-sonnet-4-5-20250929.

Click Create. Once the status turns green, note the instance URL.

Step 3: Point SVT Encore at the profile server

Update your Encore instance configuration to use the profile server URL as its profile source. Refer to the SVT Encore documentation for the specific configuration key — typically profilesUrl or an equivalent field in the Encore config.

Usage example

List available profiles:

curl https://<profile-server-url>/profiles

Fetch a specific profile by name:

curl https://<profile-server-url>/profiles/program

Generate a new profile with AI (requires anthropicApiKey):

curl -X POST https://<profile-server-url>/feelinglucky \
  -H "Content-Type: application/json" \
  -d '{"instruction": "Create a profile for 1080p ABR with 3 quality levels targeting streaming"}'

CLI usage

# Create a MinIO instance first
osc create minio-minio myprofilestore \
  -o RootUser="myuser" \
  -o RootPassword="mypassword"

# Then create the profile server
osc create grusell-encore-profile-server myprofileserver \
  -o s3Endpoint="<minio-internal-url>" \
  -o s3AccessKey="myuser" \
  -o s3SecretKey="mypassword" \
  -o s3Bucket="encore-profiles"

Resources