{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/memesio/main/json-schema/memesio-freecaptionmemerequest-schema.json", "title": "FreeCaptionMemeRequest", "description": "JSON Schema for Memesio FreeCaptionMemeRequest, extracted from https://memesio.com/api/openapi (Memesio API Contracts v0.1.0).", "type": "object", "required": [ "templateSlug", "captions" ], "properties": { "templateSlug": { "type": "string" }, "captions": { "type": "array", "items": { "oneOf": [ { "type": "string", "maxLength": 300 }, { "type": "object", "required": [ "text" ], "properties": { "id": { "type": "string", "maxLength": 64 }, "text": { "type": "string", "maxLength": 300 }, "x": { "type": "number" }, "y": { "type": "number" }, "fontSize": { "type": "number" }, "boxWidthPct": { "type": "number" }, "boxHeightPct": { "type": "number" }, "maxLines": { "type": "integer", "minimum": 1 }, "textAlign": { "type": "string", "enum": [ "left", "center", "right" ] }, "fontFamily": { "type": "string", "enum": [ "impact", "arial" ] } } } ] } }, "title": { "type": "string", "maxLength": 140 }, "visibility": { "type": "string", "enum": [ "private", "public" ] }, "watermark": { "type": "object", "description": "Caption API requests accept watermark input, but non-premium callers are forced to the default Memesio watermark. Premium callers can customize enabled, text, position, and scale.", "properties": { "enabled": { "type": "boolean" }, "text": { "type": "string", "maxLength": 64 }, "position": { "type": "string", "enum": [ "top_left", "top_right", "bottom_left", "bottom_right" ] }, "scale": { "type": "number", "minimum": 0.6, "maximum": 3 } } } } }