app.gainforest.ac.multimedia

gainforest.earth

{
  "id": "app.gainforest.ac.multimedia",
  "defs": {
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "subjectPart",
          "file",
          "createdAt"
        ],
        "properties": {
          "file": {
            "type": "blob",
            "accept": [
              "image/jpeg",
              "image/jpg",
              "image/png",
              "image/webp",
              "image/heic",
              "image/heif",
              "image/tiff",
              "image/tif",
              "image/gif",
              "image/bmp",
              "image/svg+xml",
              "audio/wav",
              "audio/x-wav",
              "audio/mpeg",
              "audio/mp3",
              "audio/mp4",
              "audio/x-m4a",
              "audio/aac",
              "audio/flac",
              "audio/x-flac",
              "audio/ogg",
              "audio/opus",
              "audio/webm",
              "video/mp4",
              "video/quicktime",
              "video/webm",
              "video/x-matroska"
            ],
            "maxSize": 104857600,
            "description": "The media file blob. Images up to 100MB, audio up to 100MB, video up to 100MB. For PDS-stored compressed versions; original full-res referenced via accessUri."
          },
          "format": {
            "type": "string",
            "description": "MIME type of the media file (e.g. image/webp, audio/flac). Should match the blob's actual content type.",
            "maxGraphemes": 128
          },
          "caption": {
            "type": "string",
            "description": "Human-readable description of the media content.",
            "maxGraphemes": 1024
          },
          "creator": {
            "type": "string",
            "description": "Name of the person or agent who created the media resource.",
            "maxGraphemes": 256
          },
          "siteRef": {
            "type": "string",
            "format": "at-uri",
            "description": "AT-URI of the organization site record where this media was captured."
          },
          "accessUri": {
            "type": "string",
            "format": "uri",
            "description": "URI to the original full-resolution media resource (e.g. S3 URL). The PDS blob is a compressed variant; this points to the archival original.",
            "maxGraphemes": 2048
          },
          "createdAt": {
            "type": "string",
            "format": "datetime",
            "description": "Timestamp of record creation in the ATProto PDS."
          },
          "createDate": {
            "type": "string",
            "format": "datetime",
            "description": "Date and time the media resource was originally created (e.g. when the photo was taken)."
          },
          "subjectPart": {
            "type": "string",
            "description": "The part of the organism depicted, using TDWG Audubon Core subjectPart controlled values (http://rs.tdwg.org/acpart/values/). Examples: entireOrganism, leaf, bark, flower, fruit, seed, stem, twig, bud, root.",
            "knownValues": [
              "entireOrganism",
              "leaf",
              "bark",
              "flower",
              "fruit",
              "seed",
              "stem",
              "twig",
              "bud",
              "root",
              "head",
              "wing",
              "shell",
              "unspecifiedPart"
            ],
            "maxGraphemes": 128
          },
          "occurrenceRef": {
            "type": "string",
            "format": "at-uri",
            "description": "AT-URI of the dwc.occurrence record this media is evidence for."
          },
          "subjectPartUri": {
            "type": "string",
            "format": "uri",
            "description": "Full IRI of the subjectPart term from the TDWG controlled vocabulary. Example: http://rs.tdwg.org/acpart/values/p0002 for bark."
          },
          "variantLiteral": {
            "type": "string",
            "description": "AC variant describing the quality/size of this service access point. Values: Thumbnail, Lower Quality, Medium Quality, Good Quality, Best Quality, Offline.",
            "knownValues": [
              "Thumbnail",
              "Lower Quality",
              "Medium Quality",
              "Good Quality",
              "Best Quality",
              "Offline"
            ],
            "maxGraphemes": 64
          },
          "subjectOrientation": {
            "type": "string",
            "description": "Viewing orientation relative to the subject, using TDWG Audubon Core subjectOrientation controlled values. Examples: dorsal, ventral, lateral, anterior, posterior.",
            "maxGraphemes": 128
          }
        }
      }
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "description": "Audubon Core multimedia resource record. Represents a single media item (image, audio, video, spectrogram) associated with a biodiversity occurrence. Based on the TDWG Audiovisual Core standard (http://www.tdwg.org/standards/638). Each media item is a separate record linked to a dwc.occurrence via occurrenceRef."
}

Validate Record

Validate a record against app.gainforest.ac.multimedia

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:qoti4acfmc5wg6zzmtix6hse
CID
bafyreihgq54pcv2nslrtziidegf6xjl2he43rpapxis2dwrspx6or4siou
Indexed At
2026-03-27 15:24 UTC
AT-URI
at://did:plc:qoti4acfmc5wg6zzmtix6hse/com.atproto.lexicon.schema/app.gainforest.ac.multimedia

Lexicon Garden

@