Home / Developers
Developers

An SDK for real-time interactive video.

Install the client, mint a session token on your server, and stream in a few lines. Public docs from day one - no sales call required.

Quickstart

Three calls to a live session

The SDK handles transport, decode, input capture and QoE reporting. You mint a short-lived session token server-side, then hand it to the client.

// 1. Install the SDK
//    npm i @xtreamlink/sdk

import { XtreamStream } from '@xtreamlink/sdk'

// 2. Mint a short-lived session token on your own server.
//    Your API key never touches the browser.
const { session_token } = await fetch('/api/xtream/session', {
  method: 'POST',
  body: JSON.stringify({ model: 'any-compliant-video-model' })
}).then((r) => r.json())

// 3. Create the stream and mount it into any element.
const stream = new XtreamStream({ modelName: 'any-compliant-video-model' })
stream.mount('#player')

// 4. Lifecycle: idle | connecting | ready
stream.on('statusChanged', (status) => console.log(status))
stream.on('error', (detail) => console.error(detail))

// 5. Connect with the token, disconnect when you're done.
await stream.connect(session_token)
stream.disconnect()
Frames

Own the pixels when you need to

By default the SDK renders for you. Turn rendering off and you receive decoded frames directly, while input still lands on the mounted surface.

// Optional: take the raw decoded frames yourself instead of letting
// the SDK paint them. Useful for custom overlays or post-processing.
const stream = new XtreamStream({
  modelName: 'any-compliant-video-model',
  renderToCanvas: false,
});

stream.on('frame', (frame) => {
  ctx.drawImage(frame, 0, 0)
  frame.close() // required: release the frame once drawn
});
Clients

One integration contract, every platform

Web

WebTransport-native player, no plugin or extension. Mount into any element with stream.mount() or drive it headless.

Mobile

iOS and Android client libraries with the same two-path transport and QoE reporting as the web SDK.

TV & embedded

Lightweight client for TV operating systems and embedded/automotive targets. Glasses support on the roadmap.

Reference

Everything an integration needs

Session reference

Token minting, session lifecycle, authentication and timeouts, and stream health events.

QoE metrics glossary

Definitions for every metric in the analytics dashboard: glass-to-glass latency, frame delivery rate, stall count, path health.

Sample apps

A minimal generative-video demo and a minimal Unreal pixel-streaming demo, both wired end-to-end.

Status & changelog

Client release notes and infrastructure status, kept current as XtreamMOTION evolves out of early access.