{
"id": "art.graphik.series",
"defs": {
"main": {
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"title",
"createdAt"
],
"properties": {
"slug": {
"type": "string",
"maxLength": 200,
"description": "Optional URL-friendly identifier, unique within the creator's repo."
},
"tags": {
"type": "array",
"items": {
"type": "string",
"maxLength": 64
},
"maxLength": 32,
"description": "Genre / subject tags."
},
"cover": {
"type": "blob",
"accept": [
"image/png",
"image/jpeg",
"image/webp",
"image/avif"
],
"maxSize": 10000000,
"description": "Cover image."
},
"title": {
"type": "string",
"maxLength": 1000,
"description": "Display title of the series.",
"maxGraphemes": 100
},
"banner": {
"type": "blob",
"accept": [
"image/png",
"image/jpeg",
"image/webp",
"image/avif"
],
"maxSize": 10000000,
"description": "Wide banner for the series page header."
},
"format": {
"type": "string",
"maxLength": 16,
"description": "`page` for discrete pages (print-derived), `strip` for continuous vertical scroll (webtoons). Decides which reader surface an issue opens in.",
"knownValues": [
"page",
"strip"
]
},
"status": {
"type": "string",
"maxLength": 16,
"description": "Publication status.",
"knownValues": [
"ongoing",
"completed",
"hiatus",
"cancelled"
]
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "When the series was created."
},
"description": {
"type": "string",
"maxLength": 10000,
"description": "Synopsis shown on the series page.",
"maxGraphemes": 1000
},
"contributors": {
"type": "array",
"items": {
"ref": "#contributor",
"type": "ref"
},
"maxLength": 64,
"description": "Credited collaborators besides the owning repo."
},
"contentRating": {
"type": "string",
"maxLength": 16,
"description": "Self-declared content rating. Advisory: labelers remain authoritative for anything that must actually be hidden.",
"knownValues": [
"all-ages",
"teen",
"mature",
"explicit"
]
},
"readingDirection": {
"type": "string",
"maxLength": 16,
"description": "Reading order of the work itself. A property of the comic, not a reader preference — manga is rtl regardless of who is reading it.",
"knownValues": [
"ltr",
"rtl"
]
}
}
},
"description": "A comic series — the container a reader follows. Individual chapters/issues are separate art.graphik.issue records that point back at this one."
},
"contributor": {
"type": "object",
"required": [
"did"
],
"properties": {
"did": {
"type": "string",
"format": "did"
},
"role": {
"type": "string",
"maxLength": 64,
"description": "Free text — writer, artist, colorist, letterer, translator, editor."
}
}
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}