The Streams Console is the ready-made web app that runs live video and video-on-demand. You do not have to write code first. From the console, you can:
  • Create live inputs.
  • Give encoders an ingest endpoint.
  • Record and manage VOD assets.
  • Mint the API keys and signing keys that your apps use.
  • Configure webhooks.
  • Watch delivery quality across the edge relay network in real time.
The console is for operators and developers who own an org’s streaming. Open it at https://streams.clutchcall.dev and pick the Streams product.
Streams is a plan-gated product. If your org’s plan does not include it, the create buttons (New live stream, Create API key, and others) show as disabled with an “upgrade” tooltip. Ask an org admin to upgrade, or see Usage & billing.

What’s in the console

Overview

Your streaming home: concurrent viewers, glass-to-glass latency, 24h egress, a “Go live in 3 calls” quickstart, your ingest/playback endpoints, live-now list, and recent webhook events.

Live streams

The table of persistent live inputs: status, viewers, egress, latency. It has search, filters, bulk actions, and a New live stream button.

Assets

Your VOD library: recordings auto-captured from live inputs plus direct uploads, each with a playback id, quality, duration, and 24h play count.

Relay network

The edge map: active PoPs, per-region cache-hit ratio, origin→edge fan-out, and viewers per relay.

Analytics

Unique viewers, watch time, latency percentiles, rebuffer ratio, first-frame, the viewers-vs-latency twin chart, and a by-region breakdown. You can export the data to CSV.

API keys

Bearer API keys, signing keys for signed playback and webhook signatures, and a recent event-delivery table.

Webhooks

Register endpoints for signed event POSTs. Pause or resume them. View the signing key that signs every delivery.

Request logs

The full webhook event-delivery log: response codes, attempts, timing, and one-click resend.

Usage & billing

Your plan and metered pools (delivery minutes, egress, storage) for the current cycle, with a daily delivery chart.

Go live: create a live stream

A live input is a persistent endpoint that you point an encoder at. Create one. Save the stream key that the console shows you once. Then publish.
1

Open the create dialog

On Overview or Live streams, click New live stream in the top-right.
2

Name it and choose a relay region

Enter a Name. The name shows on the live-streams table and on any recordings. Pick a Relay region. Leave it on auto (anycast) to route each viewer to the nearest healthy PoP, or pin a specific region from the dropdown.
3

Set the ingest and recording options

  • Low-latency mode (on by default) — WebTransport ingest, MoQT delivery for sub-second glass-to-glass.
  • Record automatically to a VOD asset (on by default) — the system captures every broadcast as an asset that you can replay later.
4

Create and save the stream key

Click Create. The console shows the cleartext stream key exactly once in a dialog. Copy it and store it securely before you close the dialog. You cannot view it again later.
The console shows the stream key only at creation (and after a reset). If you lose the key, you must reset it. A reset invalidates the old key.
5

Point your encoder at the ingest endpoint

Open the input’s detail page (click its row). The Ingest panel gives you the endpoint to set in your encoder, together with your stream key. WebTransport encoders publish over MoQ. Encoders without WebTransport fall back to RTMP/SRT automatically with the same key.
When the relay sees your first publish, the input changes to Active/Live. Its viewers, bitrate, dropped-frame %, and glass-to-glass latency then populate on the detail page.

Manage a live input

The stream detail page (click any row in Live streams) is where you operate a single input. It has tabs across the top: Setup, Analytics, Embed, Recordings, and Logs.
1

Watch the live preview and QoE

The Live preview panel shows a LIVE/OFFLINE indicator and live mini-stats: concurrent Viewers, Glass-to-glass p50, delivered Bitrate, and Dropped %. The stats refresh every few seconds.
2

Copy playback details for viewers

In the Playback panel, copy the Playback id and the low-latency MoQ subscribe URL. Give them to viewers or to your player.
3

Generate a signed playback URL

Click Generate signed playback URL to mint a short-lived (1-hour) token bound to your org’s active playback signing key. The relay checks this token before it permits playback. The URL itself is the auth.
Signing requires an active playback signing key. If you did not create one, create it first on the API keys screen.
4

Grab the embed snippet

On the Embed tab / snippet panel, toggle options (Low-latency, Autoplay (muted), Signed URL only, Show viewer count) and click Copy embed to get an <iframe> that you can paste into any page.
5

Reset the stream key or delete the input

Use Reset stream key (top-right) to rotate the key. The console shows the new cleartext once. Any encoder on the old key stops immediately. Use Delete to soft-delete the input. The system keeps existing recording assets.
You can also run bulk actions from the Live streams table. Select rows. Then use the bulk bar to Start recording, Stop recording, or Reset key across many inputs at once.

Publish and manage VOD assets

The Assets screen is your on-demand library. Assets come from two places: recordings auto-captured from live inputs, and files that you upload directly.
1

Upload a video

Click Upload (top-right) and pick a video file (.mp4, .mov, .mkv, .webm). Uploads are resumable. Progress shows on the button and as a live tile in the grid. An upload that started on another device also appears here.
2

Wait for processing

New assets move through Uploading → Processing → Ready. The tile shows a progress bar, then a “Transcoding…” state, then a playable thumbnail with its quality (for example, 1080p) and duration.
3

Find and filter assets

Use the search box (name / id / playback id) and the Status and Quality filter chips to narrow the grid. The KPI strip shows totals: Assets, Ready, Processing, Storage, and Plays · 24h.
4

Play or delete an asset

Click a Ready tile to open its playback. Use the small delete (×) button on a tile to remove the asset and its stored video. The console asks you to confirm.
Recordings from a live input also show under that input’s Recordings tab on its detail page, with a live count badge.

Mint and rotate API keys

The API keys screen holds the credentials that your server-side code uses to call the Streams API.
1

Create an API key

Click Create API key (or New key). In the dialog, set a Name (for example, “Production server”). Choose an Environment (live or test). Select the Scopes you want: read, ingest, playback, write.
2

Save the token once

Click Create. The console shows the bearer token once. Copy it and set it as Authorization: Bearer <token> in your app. After that, the table shows only a masked preview.
You cannot show a full token later. To get a fresh cleartext value, you must revoke the old key and create a new one.
3

Rotate or revoke

Use Revoke on a key’s row to stop its authentication immediately. Deployed clients on that key will break until you swap in a new key. To rotate a key:
  1. Create the replacement key.
  2. Deploy it.
  3. Revoke the old key.

Signing keys (for signed playback and webhooks)

1

Generate a signing key

In the Signing keys panel, click Generate signing key. Choose what it is Used for: Signed playback URLs or Webhook signature. All keys are Ed25519. Click Generate. The console then lists the public key.
2

Retire a key safely

Click Retire on an active key. The key stays valid for 30 more days, so existing signed URLs and webhook signatures continue to verify. Then the system removes the key. Mint a replacement before that window closes.

Configure webhooks

The Webhooks screen registers HTTPS endpoints that receive signed event POSTs with automatic retry and backoff.
1

Add an endpoint

Click Add endpoint. Enter the URL and the Event types to subscribe to. Event types are comma-separated, and * matches everything (for example, video.live_stream.*).
2

Store the signing secret

On create, the console shows the HMAC signing secret once. Save it. Set it on your endpoint to check the signature header on every delivery.
The console shows the signing secret only once, at creation. Store it before you close the dialog.
3

Pause, resume, or delete

Each endpoint row shows a health state (Healthy, Paused, or Failing (Nx)). Use Pause/Resume to stop or restart deliveries. Use Delete to remove an endpoint. Its delivery history stays in the logs.
The console mints a webhook signing key automatically with your first endpoint. You can see it in the Signing keys panel on this screen.

Monitor delivery live

1

Read the Overview KPIs

Overview shows the top-line numbers, which refresh on a timer: Concurrent viewers, Live streams, P50 glass-to-glass (target 250 ms), Egress · 24h, and edge Cache hit. The Live now panel lists active inputs with per-stream viewers and latency.
2

Dig into Analytics

Open Analytics for a 24-hour view: Unique viewers, Watch time, latency percentiles (P50/P90/P95/P99), Rebuffer ratio, and First frame. The twin chart overlays concurrent viewers against p50 latency. The By edge region table divides the data per PoP.
3

Export a report

Click Export CSV on Analytics to download the loaded 24h viewers-vs-latency series (one row per 10-minute bucket).
4

Check the Relay network

Open Relay network to see active PoPs on the edge map, per-region cache-hit ratio, the origin → edge fan-out (one upstream, N relays), and viewers per relay. Click Refresh to get the latest PoP health.
A telemetry health banner appears at the top of Overview, Analytics, and Relay network if the metrics rollup is degraded. The banner tells you when numbers can be stale.

Inspect webhook deliveries

1

Open Request logs

Go to Request logs for the full event-delivery table (most recent 100): event type, object, endpoint, response code, attempt number, and time.
2

Filter by outcome

Use the All / Delivered / Failed buttons in the header to narrow to successful or failed deliveries (the Failed button shows the failure count).
3

Resend a delivery

Click Resend on any row to re-queue that event for delivery. This is useful after you repair an endpoint that returned errors.

Track usage and billing

1

Review your plan and pools

On Usage & billing, the Current plan card shows your tier and status. It also shows usage meters for Delivery minutes, Egress, Encoding minutes (passthrough — no transcode), and Storage (VOD) against your plan pools.
2

See the cycle estimate and daily chart

The Estimated this cycle card summarizes metered usage. The Delivery minutes · this cycle chart plots per-day delivery over the last 30 days.
3

Upgrade when you hit a cap

Click Upgrade plan to review pricing. Invoices appear in the Invoices table at the end of each billing cycle.

Next steps

  • Streams — Details — how ingest, packaging, and signed playback work end to end.
  • SDK Methods — the control-plane and data-plane APIs behind the console actions.
  • Recipes and Cookbook — copy-paste flows for going live, uploading VOD, and playing back in code.