# net.wireservice.component.photo

> 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.photo)
- [Documentation](https://lexicon.garden/lexicon/did:plc:lktj64hp7lc3fzuf6iyy7lwj/net.wireservice.component.photo/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:lktj64hp7lc3fzuf6iyy7lwj/net.wireservice.component.photo/examples)

## Definitions

### `net.wireservice.component.photo`

**Type**: `object`

Photo component. Semantically distinct from image: used for photographs rather than illustrations or graphics. Same properties as image.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `accessibilityCaption` | `string` | No | Accessibility description for screen readers. |
| `aspectRatio` | `ref` → `net.wireservice.defs#aspectRatio` | Yes |  |
| `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 |  |
| `layout` | `string` | No |  |
| `style` | `string` | No |  |
| `url` | `string` (uri) | No | External URL for the photo. |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Photo component. Semantically distinct from image: used for photographs rather than illustrations or graphics. Same properties as image.",
      "properties": {
        "accessibilityCaption": {
          "description": "Accessibility description for screen readers.",
          "maxGraphemes": 2000,
          "maxLength": 20000,
          "type": "string"
        },
        "aspectRatio": {
          "ref": "net.wireservice.defs#aspectRatio",
          "type": "ref"
        },
        "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",
            "image/gif"
          ],
          "maxSize": 5000000,
          "type": "blob"
        },
        "layout": {
          "maxLength": 256,
          "type": "string"
        },
        "style": {
          "maxLength": 256,
          "type": "string"
        },
        "url": {
          "description": "External URL for the photo.",
          "format": "uri",
          "type": "string"
        }
      },
      "required": [
        "aspectRatio"
      ],
      "type": "object"
    }
  },
  "id": "net.wireservice.component.photo",
  "lexicon": 1
}
```
