place.stream.playback.getVideoBlob

moderation.stream.place

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "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.",
      "errors": [
        {
          "description": "This node doesn't have the requested CID. The caller should consult place.stream.media.origin records to find a node that does.",
          "name": "BlobNotFound"
        }
      ],
      "output": {
        "encoding": "video/mp4",
        "schema": null
      },
      "parameters": {
        "properties": {
          "cid": {
            "description": "BLAKE-3 BDASL CID of the requested blob.",
            "type": "string"
          },
          "did": {
            "description": "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.",
            "format": "did",
            "type": "string"
          },
          "sid": {
            "description": "Opaque playback session identifier, propagated unmodified from the media playlist that referenced this blob. Logged for view-count correlation; not used for access control.",
            "type": "string"
          }
        },
        "required": [
          "did",
          "cid"
        ],
        "type": "params"
      },
      "type": "query"
    }
  },
  "id": "place.stream.playback.getVideoBlob",
  "lexicon": 1
}

Validate Record

Validate a record against place.stream.playback.getVideoBlob

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:gqtagsooi75obldmytuow57q
CID
bafyreige2qfznyre3c6vfyfrk2cjldscyjhns5hahueqvqoiikkquvhsfq
Indexed At
2026-08-20 16:30 UTC
AT-URI
at://did:plc:gqtagsooi75obldmytuow57q/com.atproto.lexicon.schema/place.stream.playback.getVideoBlob

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • place.stream.playback.getVideoPlaylist querynot from the namespace authority

    Get an HLS CMAF playlist for a video. Returns a master playlist when `track` is omitted, or a single-track media playlist when `track` is supplied. The playlist references each segment + per-track init segment via getVi…

  • place.stream.playback.getLiveSegment querynot from the namespace authority

    Fetch a single live HLS segment, or a track's init segment, from the in-memory live window. `seg` is `init` for the EXT-X-MAP init segment, otherwise the segment's media-sequence number; a cosmetic `.m4s` suffix is acce…

  • place.stream.playback.getLivePlaylist querynot from the namespace authority

    Get an HLS CMAF playlist for a live stream. Returns a master playlist when `track` is omitted, or a single-track media playlist when `track` is supplied. The playlist references each segment + per-track init segment via…

  • Get a blob by its CID from temporary R2 storage. Returns the raw binary content. The authenticated user's temporary blob is retrieved using their DID and the provided CID.

  • place.stream.media.origin recordnot from the namespace authority

    An attestation that a MUXL blob is available for download from the publishing node, retrievable via XRPC (com.atproto.repo.getBlob and similar). Published by the Streamplace node that hosts the blob, not by the user who…

Lexicon Garden

@