{
"id": "app.bivri.feed.createArtwork",
"defs": {
"main": {
"type": "procedure",
"input": {
"schema": {
"type": "object",
"required": [
"title",
"media"
],
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string",
"maxLength": 640,
"minLength": 1,
"maxGraphemes": 64
},
"maxLength": 8,
"description": "Author-chosen tags used for discovery and search."
},
"langs": {
"type": "array",
"items": {
"type": "string",
"format": "language"
},
"maxLength": 3,
"description": "Human languages of the artwork's title and description."
},
"media": {
"type": "array",
"items": {
"ref": "app.bivri.feed.artwork#mediaItem",
"type": "ref"
},
"maxLength": 50,
"minLength": 1,
"description": "Images making up the artwork, in display order. At least one is required. Blobs are uploaded beforehand through com.atproto.repo.uploadBlob, and the items together may not exceed 200MB — a total this schema cannot express."
},
"title": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "Title of the artwork. An artwork cannot be published without one.",
"maxGraphemes": 50
},
"labels": {
"refs": [
"com.atproto.label.defs#selfLabels"
],
"type": "union",
"description": "Self-label values the author declares on this artwork, such as a spoiler warning. These are author metadata, not platform moderation decisions."
},
"description": {
"type": "string",
"maxLength": 3000,
"description": "Free-form description of the artwork.",
"maxGraphemes": 300
}
}
},
"encoding": "application/json"
},
"output": {
"schema": {
"type": "object",
"required": [
"uri",
"cid"
],
"properties": {
"cid": {
"type": "string",
"format": "cid",
"description": "CID of the artwork record that was written."
},
"uri": {
"type": "string",
"format": "at-uri",
"description": "AT URI of the artwork record that was written."
}
}
},
"encoding": "application/json"
}
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1,
"description": "Publish a new artwork to the authenticated member's repository. Requires an OAuth session; the record is written to the member's own PDS."
}