{
"id": "pics.2bit.actor.profile",
"defs": {
"main": {
"key": "literal:self",
"type": "record",
"record": {
"type": "object",
"properties": {
"gear": {
"type": "string",
"maxLength": 100,
"description": "Main rig flex slot."
},
"avatar": {
"type": "bytes",
"maxLength": 3584,
"minLength": 3584,
"description": "128x112 2bpp Game Boy Camera tile data, same layout as pics.2bit.feed.photo#image. Square avatars are produced by cropping at render time, not on write."
},
"labels": {
"ref": "com.atproto.label.defs#selfLabels",
"type": "ref",
"description": "Self-applied labels on this account. 2bit.pics writes at most `!no-unauthenticated`, the atproto value meaning \"don't show this account to logged-out viewers\" - the same one Bluesky writes for its own logged-out visibility setting, so other clients already know how to read it."
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "When this profile record was first published."
},
"updatedAt": {
"type": "string",
"format": "datetime",
"description": "When this profile record was last edited. Unset on a profile that has never been edited since creation."
},
"description": {
"type": "string",
"maxLength": 2560,
"maxGraphemes": 256
},
"displayName": {
"type": "string",
"maxLength": 640,
"maxGraphemes": 64
},
"avatarColors": {
"type": "array",
"items": {
"type": "integer",
"maximum": 16777215,
"minimum": 0
},
"maxLength": 4,
"minLength": 4,
"description": "Four 24-bit RGB colors (0 to 0xFFFFFF) corresponding to the avatar's 2bpp pixel values 0 through 3, where 0 is lightest and 3 is darkest."
}
}
},
"description": "A 2bit.pics profile."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}