{ "$schema": "https://json-schema.org/draft/2020-12/schema", "title": "ST1JSON Schema", "type": "object", "properties": { "category": { "type": "object", "required": ["name", "description", "keywords", "subcategories"], "properties": { "name": { "type": "string", "description": "The name of the main meme category (e.g. 'Work Life')" }, "description": { "type": "string", "description": "A short overview of the category's theme or tone" }, "keywords": { "type": "array", "items": { "type": "string" }, "description": "General tags to help filter or search within the category" }, "subcategories": { "type": "array", "minItems": 1, "items": { "type": "object", "required": ["name", "description", "meme_angles", "keywords", "sample_captions"], "properties": { "name": { "type": "string", "description": "Subcategory title (e.g. 'Corporate')" }, "description": { "type": "string", "description": "Explains the vibe, setting, or memeable themes of the subcategory" }, "meme_angles": { "type": "array", "items": { "type": "string" }, "description": "Typical perspectives or scenes for memes in this subcategory" }, "keywords": { "type": "array", "items": { "type": "string" }, "description": "Search tags or filters specific to the subcategory" }, "sample_captions": { "type": "array", "items": { "type": "string" }, "description": "Sample captions (POV, one-liners, etc.) for seeding meme generation" } } } } } } }, "required": ["category"] }