pics.2bit.feed.photo

2bit.pics

{
  "id": "pics.2bit.feed.photo",
  "defs": {
    "gear": {
      "type": "object",
      "properties": {
        "notes": {
          "type": "string",
          "maxLength": 300
        },
        "device": {
          "type": "string",
          "maxLength": 100,
          "description": "e.g. 'Game Boy Camera (1998)', 'Analogue Pocket + GB Camera', 'Game Boy Pocket'"
        },
        "software": {
          "type": "string",
          "maxLength": 100,
          "description": "e.g. emulator name, dithering tool/algorithm name"
        },
        "transferTool": {
          "type": "string",
          "maxLength": 100,
          "description": "e.g. 'GB Camera Capture Cable', 'BennVenn cart reader'"
        },
        "captureMethod": {
          "enum": [
            "cartridge",
            "emulator",
            "software",
            "other"
          ],
          "type": "string"
        }
      },
      "description": "Self-reported capture equipment/method. Optional, but encouraged - this is the whole hobby."
    },
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "image",
          "colors",
          "createdAt"
        ],
        "properties": {
          "image": {
            "type": "bytes",
            "maxLength": 3584,
            "minLength": 3584,
            "description": "128x112 2bpp Game Boy Camera tile data: 16x14 tiles in row-major order, 16 bytes per tile (8 rows of low+high bit-plane bytes, MSB-first)."
          },
          "colors": {
            "type": "array",
            "items": {
              "type": "integer",
              "maximum": 16777215,
              "minimum": 0
            },
            "maxLength": 4,
            "minLength": 4,
            "description": "Four 24-bit RGB colors (0 to 0xFFFFFF) corresponding to 2bpp pixel values 0 through 3, where 0 is lightest and 3 is darkest."
          },
          "metadata": {
            "ref": "#metadata",
            "type": "ref"
          },
          "createdAt": {
            "type": "string",
            "format": "datetime",
            "description": "When this photo record was published."
          }
        }
      },
      "description": "A single 4-shade, low-resolution photo. The core record of 2bit.pics."
    },
    "metadata": {
      "type": "object",
      "properties": {
        "alt": {
          "type": "string",
          "maxLength": 3000,
          "description": "Alt text for accessibility.",
          "maxGraphemes": 300
        },
        "gear": {
          "ref": "#gear",
          "type": "ref"
        },
        "caption": {
          "type": "string",
          "maxLength": 5000,
          "description": "Free-text caption.",
          "maxGraphemes": 500
        },
        "capturedAt": {
          "type": "string",
          "format": "datetime",
          "description": "When the photograph was captured, if known."
        }
      },
      "description": "Optional descriptive and capture metadata for the photo."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}

Validate Record

Validate a record against pics.2bit.feed.photo

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:sbmntiflmknij2axeck3w6u7
CID
bafyreih4rbpkog3bbyg2xqvoyj6uz7i7jyuhb4vmo5t6opnimw45p2xm3m
Indexed At
2026-08-15 16:46 UTC
AT-URI
at://did:plc:sbmntiflmknij2axeck3w6u7/com.atproto.lexicon.schema/pics.2bit.feed.photo

Version History (6 versions)

Lexicon Garden

@