{
    "$schema": "http://json-schema.org/draft-07/schema#",
    "type": "object",
    "required": ["category"],
    "properties": {
        "category": {
            "type": "object",
            "required": ["name", "description", "keywords", "subcategories"],
            "properties": {
                "name": { "type": "string" },
                "description": { "type": "string" },
                "keywords": {
                    "type": "array",
                    "items": { "type": "string" }
                },
                "subcategories": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "required": ["name", "description", "meme_angles", "keywords", "sample_captions"],
                        "properties": {
                            "name": { "type": "string" },
                            "description": { "type": "string" },
                            "meme_angles": {
                                "type": "array",
                                "items": { "type": "string" }
                            },
                            "keywords": {
                                "type": "array",
                                "items": { "type": "string" }
                            },
                            "sample_captions": {
                                "type": "array",
                                "items": { "type": "string" }
                            }
                        }
                    }
                }
            }
        }
    }
}
