Quickstart

From zero to a playable adaptive-bitrate stream in about five minutes. This uses the Node SDK; the same steps apply in any of the thirteen SDKs.

1. Get a key

Request access and you'll receive a project API key that looks like sk_live_…. Keep it server-side. Export it so the SDK can read it:

export REZEIS_KEY="sk_live_xxxxxxxxxxxxxxxx"

2. Install an SDK

npm install rezeis

3. Your first encode

Point the job at any public MP4. Rezeis probes it, picks a ladder, and returns a job id immediately.

import Rezeis from 'rezeis';
const rz = new Rezeis(process.env.REZEIS_KEY);

const job = await rz.jobs.create({
  input: 'https://storage.rezeis.click/samples/bbb-1080p.mp4',
  profile: 'abr-720p',
  outputs: ['hls'],
});
console.log(job.id); // job_8f2a71c4

4. Track progress

For production, set a webhook on the job and react to job.ready. To watch it locally, poll:

let j = await rz.jobs.get(job.id);
while (j.status !== 'ready' && j.status !== 'failed') {
  await new Promise(r => setTimeout(r, 2000));
  j = await rz.jobs.get(job.id);
  console.log(j.status, j.progress ?? '');
}

5. Play it back

When status is ready, the asset's playback URL is a standard HLS master manifest. Any player understands it — here's the Rezeis React player:

import { Player } from '@rezeis/react';

<Player src={j.playback} autoPlay controls />

Or hand the same URL to hls.js, Video.js, AVPlayer or ExoPlayer.

Next steps

  • Swap abr-720p for auto to let per-title analysis choose the ladder.
  • Add "dash" to outputs for DASH alongside HLS.
  • Protect private content with playback tokens.
  • Wire up webhooks so your app reacts the moment a job is ready.

Get your key   Full reference →