Skip to navigation

VOS overview

Harmonic's Video Operating System, now part of the MediaKind platform.

VOS is Harmonic’s software-based video processing platform. MediaKind acquired the Harmonic video business in June 2026, and the VOS public API is documented here alongside mk.io and Beam.

The API surface covers 425 operations across 47 functional areas, versioned with the VOS build — this reference tracks 1.30.0.0.

Functional areas

Asset Acquisition

Ingest from file servers, S3, HLS and DASH sources; record from a live channel; manage source files and segments.

Playout Backend

Schedule and control playout, including graphics, logos, and live events.

Monitor Service

Service, audio, video, and data profile status, plus the event stream.

VCM Variant Channels

Variant channel configuration and delivery prefixes.

Scrambling and DRM

CAS and DRM key management, descrambling keys, and SSL certificates.

Packaging and origin

OriginEngine, CMAF and DASH packaging, and Syndicate Cloud distribution.

The largest areas by operation count:

AreaOperations
Asset Acquisition49
Playout Backend41
Monitor Service25
VCM Variant Channels24
Scrambling DRM21
Syndicate Cloud20
Mux App Configure19

Deployment and base URL

Unlike mk.io and Beam, VOS is deployed on premises and addressed per cluster. Requests go to your own appliance, not a MediaKind-hosted endpoint:

https://<your-vos-host>/cluster1/vos-api

The published VOS spec declares no security scheme, so this reference shows no auth requirement. Real deployments sit behind your own network controls and appliance credentials — confirm the scheme for your cluster with your MediaKind contact before writing against it. The SDKs send the standard platform bearer token, which you can override per request.

Using VOS from the SDKs

VOS lives under the vos namespace in both SDKs, with its own base URL:

import { MediaKind } from "@mediakind/sdk";
const client = new MediaKind({
apiToken: process.env.MEDIAKIND_API_TOKEN,
environment: { vos: "https://vos.example.net/cluster1/vos-api" },
});
const status = await client.vos.monitorService.getServiceStatus();