Getting Started

OGraf Rendering Server is an open source broadcast graphics server from SuperFly.tv. It serves HTML-based graphics templates and exposes a REST API for controlling on-air graphics in live production workflows — compatible with CasparCG, OBS, and other HTML-renderer clients. Available in Eyevinn Open Source Cloud.

Graphics templates can be stored locally or in an S3-compatible bucket (MinIO, AWS S3, etc.). The server renders templates in response to API calls, making it suitable for lower-thirds, scoreboards, and other live graphics automation.

Prerequisites

  • If you have not already done so, sign up for an OSC account.
  • Optional: an S3-compatible bucket containing your OGraf template assets.

Step 1: Store S3 credentials as secrets (optional)

If you store graphics templates in an S3-compatible bucket, navigate to the OGraf Rendering Server service, open the Service Secrets tab, and create secrets for your storage credentials:

  • s3accesskeyid — S3 access key ID
  • s3secretaccesskey — S3 secret access key

Step 2: Create the OGraf server instance

Click Create ograf-server and fill in:

Field Description Example
Name Name for this server instance mygfx
S3GraphicsUrl Base URL for graphics assets in S3 storage (optional) https://my-bucket.s3.eu-west-1.amazonaws.com/graphics/
S3EndpointUrl Custom S3-compatible endpoint (optional) https://myminio.example.com
S3AccessKeyId S3 access key ID (optional) {{secrets.s3accesskeyid}}
S3SecretAccessKey S3 secret access key (optional) {{secrets.s3secretaccesskey}}
S3Region AWS region of the S3 bucket (optional) eu-west-1

Click Create and wait for the instance to reach Running status.

Step 3: Use the API

Once running, access the OGraf REST API at your instance URL. The API lets you upload templates, list available graphics, and control rendering:

# List available graphics templates
curl https://mygfx.superflytv-ograf-server.auto.prod.osaas.io/api

# Upload a template
curl -X POST https://mygfx.superflytv-ograf-server.auto.prod.osaas.io/api/graphic \
  -H "Content-Type: application/json" \
  -d '{"id": "lowerthird", "url": "https://my-bucket.s3.amazonaws.com/graphics/lowerthird.html"}'

CLI Usage

# Without S3 storage
npx -y @osaas/cli create superflytv-ograf-server mygfx

# With S3 storage
npx -y @osaas/cli create superflytv-ograf-server mygfx \
  -o S3GraphicsUrl="https://my-bucket.s3.eu-west-1.amazonaws.com/graphics/" \
  -o S3AccessKeyId="{{secrets.s3accesskeyid}}" \
  -o S3SecretAccessKey="{{secrets.s3secretaccesskey}}" \
  -o S3Region="eu-west-1"

Resources