> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://mediakind.ferndocs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://mediakind.ferndocs.com/_mcp/server.

# MediaKind platform

MediaKind builds video infrastructure for broadcasters, pay-TV operators, and
streaming services. Following the June 2026 merger with Harmonic's video
business, the platform spans three product families, all documented here.

#### [mk.io](/mkio/getting-started)

Cloud video. Register storage, run transcode jobs, publish assets, and
operate live channels and events.

#### [Beam](/beam/quick-start)

Channel origination on MediaKind appliances, plus the device fleet and the
networks and sites they run on.

#### [Harmonic VOS](/harmonic/vos-overview)

The VOS video processing platform — asset acquisition, playout, packaging,
and scrambling.

## How the APIs relate

The cloud APIs — Media, Live, Management, and Templates — share a base URL and
a single bearer token, and are routinely combined in one automation flow. Beam's
APIs manage physical devices and the channels running on them. VOS is deployed
per cluster and addressed at its own host.

| Product  | APIs                               | Deployment                           |
| -------- | ---------------------------------- | ------------------------------------ |
| mk.io    | Media, Live, Management, Templates | Cloud, `https://app.mk.io`           |
| Beam     | Channels, Fleets, Infrastructure   | Cloud control plane, on-prem devices |
| Harmonic | VOS                                | On-premises, per cluster             |

> **Note**
>
> New here? Start with [Which API to use](/platform/getting-started/which-api) to find the right
> surface for the resource you want to manage, then
> [Authentication](/platform/getting-started/authentication) to get a token.

## SDKs

One client per language covers every API above, with each one namespaced so the
products stay distinct:

**`TypeScript`**

```typescript title="TypeScript"
import { MediaKind } from "@mediakind/sdk";

const client = new MediaKind({ apiToken: process.env.MEDIAKIND_API_TOKEN });

const assets = await client.media.assets.list();
const channels = await client.channels.channels.list();
```

**`Python`**

```python title="Python"
import os
from mediakind import MediaKind

client = MediaKind(api_token=os.environ["MEDIAKIND_API_TOKEN"])

assets = client.media.assets.list()
channels = client.channels.channels.list()
```

See [TypeScript](/platform/sdk-typescript) and [Python](/platform/sdk-python)
for installation and the full namespace map.