MemeGenerationVariant is a JSON Structure definition published by Memesio, describing 16 properties, of which 10 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.
{
"$schema": "https://json-structure.org/meta/core/v0/#",
"$id": "https://raw.githubusercontent.com/api-evangelist/memesio/main/json-structure/memesio-memegenerationvariant-structure.json",
"name": "MemeGenerationVariant",
"description": "JSON Schema for Memesio MemeGenerationVariant, extracted from https://memesio.com/api/openapi (Memesio API Contracts v0.1.0).",
"type": "object",
"required": [
"id",
"mode",
"providerId",
"variantKind",
"memeUrl",
"pageUrl",
"templateName",
"fallbackUsed",
"attempts",
"estimatedCostUsd"
],
"properties": {
"id": {
"type": "string"
},
"mode": {
"type": "string",
"enum": [
"template"
]
},
"providerId": {
"type": "string"
},
"variantKind": {
"type": "string",
"enum": [
"template_captioned",
"rendered_image"
]
},
"memeUrl": {
"type": [
"string",
"null"
]
},
"pageUrl": {
"type": [
"string",
"null"
]
},
"templateName": {
"type": [
"string",
"null"
]
},
"templateSlug": {
"type": [
"string",
"null"
]
},
"sourceImageUrl": {
"type": [
"string",
"null"
]
},
"templateSelectionStrategy": {
"type": [
"string",
"null"
],
"enum": [
"provided_template",
"provided_image",
"library_search",
"recommendation",
null
]
},
"captionGenerationStrategy": {
"type": [
"string",
"null"
],
"enum": [
"openai",
"heuristic",
"provided",
null
]
},
"captions": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"text",
"x",
"y",
"fontSize"
],
"properties": {
"id": {
"type": "string"
},
"text": {
"type": "string"
},
"x": {
"type": "double"
},
"y": {
"type": "double"
},
"fontSize": {
"type": "double"
},
"rotationDeg": {
"type": "double"
},
"hidden": {
"type": "boolean"
},
"locked": {
"type": "boolean"
},
"boxWidthPct": {
"type": "double"
},
"boxHeightPct": {
"type": "double"
},
"paddingPct": {
"type": "double"
},
"maxLines": {
"type": "int32"
},
"lineHeight": {
"type": "double"
},
"backgroundEnabled": {
"type": "boolean"
},
"backgroundColor": {
"type": "string"
},
"backgroundOpacity": {
"type": "double"
},
"letterSpacingEm": {
"type": "double"
},
"shadowStrength": {
"type": "double"
},
"color": {
"type": "string"
},
"stroke": {
"type": "string"
},
"fontFamily": {
"type": "string",
"enum": [
"impact",
"arial"
]
},
"textAlign": {
"type": "string",
"enum": [
"left",
"center",
"right"
]
},
"semanticRole": {
"type": "string",
"enum": [
"setup",
"contrast",
"punchline",
"reaction",
"label"
]
},
"preferredCase": {
"type": "string",
"enum": [
"uppercase",
"sentence",
"title",
"preserve"
]
},
"exampleText": {
"type": "string"
},
"recommendedWordsMin": {
"type": "int32",
"minimum": 1
},
"recommendedWordsMax": {
"type": "int32",
"minimum": 1
},
"recommendedCharsMin": {
"type": "int32",
"minimum": 1
},
"recommendedCharsMax": {
"type": "int32",
"minimum": 1
}
}
}
},
"editable": {
"type": "boolean"
},
"fallbackUsed": {
"type": "boolean"
},
"attempts": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
}
},
"estimatedCostUsd": {
"type": "double",
"minimum": 0
}
}
}