app.didpic.write.uploadBlob

lexicons.didpic.app

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Upload raw image bytes to the authenticated viewer's own PDS, mediated by the AppView using its server-held session (confidential OAuth client only). Mirrors com.atproto.repo.uploadBlob. The returned blob ref is passed into createPost, createComment, or putProfile to attach it to a record. This endpoint applies no per-context size limit beyond a generous ceiling — the PDS enforces the real limit (post/comment 5MB, avatar 1MB, banner 2MB) when the blob is actually attached to a record.",
      "input": {
        "encoding": "*/*"
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "blob": {
              "accept": [
                "image/png",
                "image/jpeg",
                "image/webp"
              ],
              "maxSize": 5000000,
              "type": "blob"
            }
          },
          "required": [
            "blob"
          ],
          "type": "object"
        }
      },
      "type": "procedure"
    }
  },
  "id": "app.didpic.write.uploadBlob",
  "lexicon": 1
}

Validate Record

Validate a record against app.didpic.write.uploadBlob

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:an2jtp4jgkkbtmwfzhpbxawd
CID
bafyreiheinqyvphesanghdkyq3kxotqzg63m3c4ohpmql5vv2oiko7ug4q
Indexed At
2026-10-03 01:29 UTC
AT-URI
at://did:plc:an2jtp4jgkkbtmwfzhpbxawd/com.atproto.lexicon.schema/app.didpic.write.uploadBlob

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • Upload a new blob, to be referenced from a repository record. The blob will be deleted if it is not referenced within a time window (eg, minutes). Blob restrictions (mimetype, size, etc) are enforced when the reference …

  • Upload an image for the profile avatar or banner. Requires group.configure. Binary input like com.atproto.repo.uploadBlob; the group is a parameter because the blob has to land in that group's repo for a profile record …

  • Create an app.didpic.feed.post record on the authenticated viewer's own PDS, mediated by the AppView using its server-held session (confidential OAuth client only). image must come from a prior app.didpic.write.uploadBl…

  • Upload an image blob for scheduled posts. The blob is temporarily stored in Chronosky's storage and will be uploaded to Bluesky PDS when the scheduled post is published.

  • Create an app.didpic.feed.comment record on the authenticated viewer's own PDS, mediated by the AppView using its server-held session (confidential OAuth client only). image, when present, must come from a prior app.did…

Lexicon Garden

@