social.skyphone.video.post

riyo.skyphone.social

Documentation

Canonical video record. The video blob and durationMs MUST NOT change after creation; replacing the video requires a new record. This record intentionally carries no human-readable metadata: title, description, thumbnail and the announcement post live in a social.skyphone.video.meta record with the same record key in the same repo.

main record

Canonical video record. The video blob and durationMs MUST NOT change after creation; replacing the video requires a new record. This record intentionally carries no human-readable metadata: title, description, thumbnail and the announcement post live in a social.skyphone.video.meta record with the same record key in the same repo.

Record Key tid Timestamp-based ID

Properties

aspectRatio ref app.bsky.embed.defs#aspectRatio Required

Pixel dimensions of the canonical video, as measured by the transcoding worker. Required so clients can reserve layout before the blob is fetched.

captions array of ref app.bsky.embed.video#caption Optional

Optional WebVTT caption tracks, same shape as app.bsky.embed.video#caption. Absence means no captions were supplied; it does not mean the video has burned-in subtitles.

maxLength: 20 items
compat blob Optional

Bluesky-compatible mp4, only produced for videos of 3 minutes or less, at most 100MB.

maxSize: 100.0 MB
createdAt string datetime Required

When this record was created.

durationMs integer Required

Duration in milliseconds, as measured by the transcoding worker (ffprobe), not client-reported.

minimum: 0maximum: 3600000
video blob Required

Server-side transcoded canonical video (H.264/AAC, up to 1080p, at most 1GB).

maxSize: 1073.7 MB
View raw schema
{
  "key": "tid",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "video",
      "durationMs",
      "aspectRatio",
      "createdAt"
    ],
    "properties": {
      "video": {
        "type": "blob",
        "accept": [
          "video/mp4"
        ],
        "maxSize": 1073741824,
        "description": "Server-side transcoded canonical video (H.264/AAC, up to 1080p, at most 1GB)."
      },
      "compat": {
        "type": "blob",
        "accept": [
          "video/mp4"
        ],
        "maxSize": 100000000,
        "description": "Bluesky-compatible mp4, only produced for videos of 3 minutes or less, at most 100MB."
      },
      "captions": {
        "type": "array",
        "items": {
          "ref": "app.bsky.embed.video#caption",
          "type": "ref"
        },
        "maxLength": 20,
        "description": "Optional WebVTT caption tracks, same shape as app.bsky.embed.video#caption. Absence means no captions were supplied; it does not mean the video has burned-in subtitles."
      },
      "createdAt": {
        "type": "string",
        "format": "datetime",
        "description": "When this record was created."
      },
      "durationMs": {
        "type": "integer",
        "maximum": 3600000,
        "minimum": 0,
        "description": "Duration in milliseconds, as measured by the transcoding worker (ffprobe), not client-reported."
      },
      "aspectRatio": {
        "ref": "app.bsky.embed.defs#aspectRatio",
        "type": "ref",
        "description": "Pixel dimensions of the canonical video, as measured by the transcoding worker. Required so clients can reserve layout before the blob is fetched."
      }
    }
  },
  "description": "Canonical video record. The video blob and durationMs MUST NOT change after creation; replacing the video requires a new record. This record intentionally carries no human-readable metadata: title, description, thumbnail and the announcement post live in a social.skyphone.video.meta record with the same record key in the same repo."
}

Lexicon Garden

@