{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "link": {
      "properties": {
        "label": {
          "description": "Text shown for the link; clients show the URL's host when absent.",
          "maxGraphemes": 40,
          "maxLength": 240,
          "type": "string"
        },
        "uri": {
          "description": "An https URL.",
          "format": "uri",
          "maxLength": 1000,
          "type": "string"
        }
      },
      "required": [
        "uri"
      ],
      "type": "object"
    },
    "main": {
      "description": "How a creator presents their Bluvy Tube channel, on top of their Bluesky profile (name, avatar and bio stay in app.bsky.actor.profile): a longer about text, a banner, links, and the videos to feature. One per account, written to the creator's own repo. See App\\Creator\\ChannelProfileService in the Bluvy Tube source for the writer.",
      "key": "literal:self",
      "record": {
        "properties": {
          "about": {
            "description": "Free-text channel description, shown on the channel's About tab. Plain text; line breaks are kept.",
            "maxGraphemes": 2000,
            "maxLength": 12000,
            "type": "string"
          },
          "allowClips": {
            "default": true,
            "description": "Whether others may cut short clips (app.bluvy.tube.clip) from this channel's videos on Bluvy Tube.",
            "type": "boolean"
          },
          "banner": {
            "accept": [
              "image/png",
              "image/jpeg",
              "image/webp"
            ],
            "description": "Channel banner, displayed at a 3:1 ratio.",
            "maxSize": 2000000,
            "type": "blob"
          },
          "featuredVideo": {
            "description": "A video post of this account, shown first on the channel's home tab to its followers.",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "links": {
            "description": "Links shown on the channel (website, shop, other networks).",
            "items": {
              "ref": "#link",
              "type": "ref"
            },
            "maxLength": 5,
            "type": "array"
          },
          "trailerVideo": {
            "description": "A video post of this account, shown first on the channel's home tab to visitors who don't follow it yet.",
            "ref": "com.atproto.repo.strongRef",
            "type": "ref"
          },
          "updatedAt": {
            "description": "Client-declared timestamp of the last change.",
            "format": "datetime",
            "type": "string"
          }
        },
        "required": [
          "updatedAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "app.bluvy.tube.channel",
  "lexicon": 1
}
