# net.wireservice.component.audio

> Published by [wireservice.net](https://lexicon.garden/identity/did:plc:lktj64hp7lc3fzuf6iyy7lwj)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:lktj64hp7lc3fzuf6iyy7lwj/net.wireservice.component.audio)
- [Documentation](https://lexicon.garden/lexicon/did:plc:lktj64hp7lc3fzuf6iyy7lwj/net.wireservice.component.audio/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:lktj64hp7lc3fzuf6iyy7lwj/net.wireservice.component.audio/examples)

## Definitions

### `net.wireservice.component.audio`

**Type**: `object`

Audio component. Supports blob storage for AT Protocol-native audio and optional external URLs. At least one of `audio` or `url` should be provided.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `accessibilityCaption` | `string` | No |  |
| `audio` | `blob` | No | The audio blob. |
| `caption` | `array` | No | Visible caption as an array of text runs with optional formatting marks. |
| `explicitContent` | `boolean` | No |  |
| `hidden` | `boolean` | No |  |
| `identifier` | `string` | No |  |
| `image` | `blob` | No | Thumbnail image for the audio player. |
| `layout` | `string` | No |  |
| `style` | `string` | No |  |
| `url` | `string` (uri) | No | External URL to the audio resource. Alternative or supplement to the blob. |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Audio component. Supports blob storage for AT Protocol-native audio and optional external URLs. At least one of `audio` or `url` should be provided.",
      "properties": {
        "accessibilityCaption": {
          "maxGraphemes": 2000,
          "maxLength": 20000,
          "type": "string"
        },
        "audio": {
          "accept": [
            "audio/mpeg",
            "audio/mp4",
            "audio/wav",
            "audio/ogg",
            "audio/webm"
          ],
          "description": "The audio blob.",
          "maxSize": 50000000,
          "type": "blob"
        },
        "caption": {
          "description": "Visible caption as an array of text runs with optional formatting marks.",
          "items": {
            "ref": "net.wireservice.defs#textRun",
            "type": "ref"
          },
          "type": "array"
        },
        "explicitContent": {
          "type": "boolean"
        },
        "hidden": {
          "type": "boolean"
        },
        "identifier": {
          "maxLength": 256,
          "type": "string"
        },
        "image": {
          "accept": [
            "image/jpeg",
            "image/png",
            "image/webp"
          ],
          "description": "Thumbnail image for the audio player.",
          "maxSize": 2000000,
          "type": "blob"
        },
        "layout": {
          "maxLength": 256,
          "type": "string"
        },
        "style": {
          "maxLength": 256,
          "type": "string"
        },
        "url": {
          "description": "External URL to the audio resource. Alternative or supplement to the blob.",
          "format": "uri",
          "type": "string"
        }
      },
      "type": "object"
    }
  },
  "id": "net.wireservice.component.audio",
  "lexicon": 1
}
```
