---
title: "Fetch a content-addressed MUXL playback blob by CID. Serves either a primary fMP4 archive or a per-track init segment — both are CID-addressed and indistinguishable from the endpoint's point of view. HTTP `Range` headers are honored; HLS media playlists generated by getVideoPlaylist reference this endpoint with `EXT-X-BYTERANGE` to serve segments out of the primary blob. The `did` identifies the owning account for egress accounting: the blob itself is content-addressed and owner-agnostic, so the caller carries the attribution."
method: GET
path: "/xrpc/place.stream.playback.getVideoBlob"
tags: ["place.stream.playback"]
---

# Fetch a content-addressed MUXL playback blob by CID. Serves either a primary fMP4 archive or a per-track init segment — both are CID-addressed and indistinguishable from the endpoint's point of view. HTTP `Range` headers are honored; HLS media playlists generated by getVideoPlaylist reference this endpoint with `EXT-X-BYTERANGE` to serve segments out of the primary blob. The `did` identifies the owning account for egress accounting: the blob itself is content-addressed and owner-agnostic, so the caller carries the attribution.

`GET /xrpc/place.stream.playback.getVideoBlob`

## Query parameters

- `did` string, did, required — DID of the account that owns the record this blob is being served for. Used for egress/usage accounting, not for access control — the blob is served purely by CID.
- `cid` string, required — BLAKE-3 BDASL CID of the requested blob.
- `sid` string — Opaque playback session identifier, propagated unmodified from the media playlist that referenced this blob. Logged for view-count correlation; not used for access control.

## Response `200`

Success

## Other responses

- `400` — Bad Request

## Changes

- **2026-05-20** `3e9273785059` — 1 info
  - endpoint added
- **2026-05-18** `c001420ea608` — 1 breaking
  - api path removed without deprecation
- **2026-05-15** `63354df75daa` — 1 info
  - added the new optional `query` request parameter `sid`
- **2026-05-14** `ec49e1290376` — 1 breaking
  - added the new required `query` request parameter `did`
- **2026-05-14** `510d64b5fee8` — 1 info
  - endpoint added

[Full history](https://skmtc.dev/streamplace/apis/generated-lexicon-api-schema/changes/xrpc/place.stream.playback.getVideoBlob/get.md)

---

[API](https://skmtc.dev/streamplace/apis/generated-lexicon-api-schema.md) · [All operations](https://skmtc.dev/streamplace/apis/generated-lexicon-api-schema/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/streamplace/generated-lexicon-api-schema/revisions/8e2ce7f5d85b/schema)
