# org.duckdns.uan1.media.photo

> Published by [atclip.bsky.social](https://lexicon.garden/identity/did:plc:2cs7nlndz3ampan46i74d5gn)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:2cs7nlndz3ampan46i74d5gn/org.duckdns.uan1.media.photo)
- [Documentation](https://lexicon.garden/lexicon/did:plc:2cs7nlndz3ampan46i74d5gn/org.duckdns.uan1.media.photo/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:2cs7nlndz3ampan46i74d5gn/org.duckdns.uan1.media.photo/examples)

## Definitions

### `org.duckdns.uan1.media.photo#aspectRatio`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `height` | `integer` | Yes |  |
| `width` | `integer` | Yes |  |

### `org.duckdns.uan1.media.photo`

**Type**: `record`

A photo, stored next to its album. Without an album it belongs to the wall album. Only public photos carry the image: PDS blobs are readable by anyone who knows the CID, so the image of a non-public photo stays with the appview.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `album` | `ref` → `com.atproto.repo.strongRef` | No |  |
| `alt` | `string` | No |  |
| `aspectRatio` | `ref` → `#aspectRatio` | No |  |
| `caption` | `string` | No |  |
| `createdAt` | `string` (datetime) | Yes |  |
| `image` | `blob` | No |  |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "aspectRatio": {
      "properties": {
        "height": {
          "minimum": 1,
          "type": "integer"
        },
        "width": {
          "minimum": 1,
          "type": "integer"
        }
      },
      "required": [
        "width",
        "height"
      ],
      "type": "object"
    },
    "main": {
      "description": "A photo, stored next to its album. Without an album it belongs to the wall album. Only public photos carry the image: PDS blobs are readable by anyone who knows the CID, so the image of a non-public photo stays with the appview.",
      "key": "tid",
      "record": {
        "properties": {
          "album": {
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "alt": {
            "maxGraphemes": 500,
            "maxLength": 5000,
            "type": "string"
          },
          "aspectRatio": {
            "ref": "#aspectRatio",
            "type": "ref"
          },
          "caption": {
            "maxGraphemes": 2000,
            "maxLength": 20000,
            "type": "string"
          },
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "image": {
            "accept": [
              "image/webp",
              "image/jpeg",
              "image/png",
              "image/avif"
            ],
            "maxSize": 10000000,
            "type": "blob"
          }
        },
        "required": [
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "org.duckdns.uan1.media.photo",
  "lexicon": 1
}
```
