# so.sprk.media.video

> Published by [sprk.so](https://lexicon.garden/identity/did:plc:cveom2iroj3mt747sd4qqnr2)

✓ This is the authoritative definition for this NSID.

## Description

A video in a Spark post.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:cveom2iroj3mt747sd4qqnr2/so.sprk.media.video)
- [Documentation](https://lexicon.garden/lexicon/did:plc:cveom2iroj3mt747sd4qqnr2/so.sprk.media.video/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:cveom2iroj3mt747sd4qqnr2/so.sprk.media.video/examples)

## Definitions

### `so.sprk.media.video`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `alt` | `string` | No | Alt text description of the video, for accessibility. |
| `video` | `blob` | Yes |  |
| `captions` | `array` | No |  |
| `aspectRatio` | `ref` → `so.sprk.media.defs#aspectRatio` | No |  |

### `so.sprk.media.video#view`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `alt` | `string` | No |  |
| `cid` | `string` (cid) | Yes |  |
| `playlist` | `string` (uri) | Yes |  |
| `thumbnail` | `string` (uri) | No |  |
| `aspectRatio` | `ref` → `so.sprk.media.defs#aspectRatio` | No |  |

### `so.sprk.media.video#caption`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `file` | `blob` | Yes |  |
| `lang` | `string` (language) | Yes |  |

## Raw Schema

```json
{
  "id": "so.sprk.media.video",
  "defs": {
    "main": {
      "type": "object",
      "required": [
        "video"
      ],
      "properties": {
        "alt": {
          "type": "string",
          "maxLength": 10000,
          "description": "Alt text description of the video, for accessibility.",
          "maxGraphemes": 1000
        },
        "video": {
          "type": "blob",
          "accept": [
            "video/mp4"
          ],
          "maxSize": 314572800
        },
        "captions": {
          "type": "array",
          "items": {
            "ref": "#caption",
            "type": "ref"
          },
          "maxLength": 20
        },
        "aspectRatio": {
          "ref": "so.sprk.media.defs#aspectRatio",
          "type": "ref"
        }
      }
    },
    "view": {
      "type": "object",
      "required": [
        "cid",
        "playlist"
      ],
      "properties": {
        "alt": {
          "type": "string",
          "maxLength": 10000,
          "maxGraphemes": 1000
        },
        "cid": {
          "type": "string",
          "format": "cid"
        },
        "playlist": {
          "type": "string",
          "format": "uri"
        },
        "thumbnail": {
          "type": "string",
          "format": "uri"
        },
        "aspectRatio": {
          "ref": "so.sprk.media.defs#aspectRatio",
          "type": "ref"
        }
      }
    },
    "caption": {
      "type": "object",
      "required": [
        "lang",
        "file"
      ],
      "properties": {
        "file": {
          "type": "blob",
          "accept": [
            "text/vtt"
          ],
          "maxSize": 20000
        },
        "lang": {
          "type": "string",
          "format": "language"
        }
      }
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "description": "A video in a Spark post."
}
```
