madoo.image-text-layers/v1
Madoo professional still-image text layers — One to 32 stable-ID text layers with deterministic z-order and optional complete style snapshots.
| Reference | madoo.image-text-layers/v1 |
| Schema id | urn:madoo:schema:image-text-layers:v1 |
| Version | 1.0.0 |
| Served at | GET /api/v1/json-schemas/madoo.image-text-layers/v1 · MCP get_json_schema |
Where it appears
Section titled “Where it appears”- Read by:
image/text_overlay→layers - Saved in the parameter:
image/text_overlay→text_layers
Fields
Section titled “Fields”| Field | Type | Required | Rules | Description |
|---|---|---|---|---|
schema |
"madoo.image-text-layers/v1" |
yes | ||
layers |
array of objects | yes | min items 1; max items 32 | |
layers[].id |
string | yes | min length 1; max length 80 | |
layers[].text |
string | yes | min length 1; max length 4000 | |
layers[].zIndex |
integer | yes | ≥ -1000; ≤ 1000 | |
layers[].typography |
object or null |
The complete schema
Section titled “The complete schema”madoo.image-text-layers/v1 (JSON Schema)
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "urn:madoo:schema:image-text-layers:v1", "title": "Madoo professional still-image text layers", "type": "object", "additionalProperties": false, "required": [ "schema", "layers" ], "properties": { "schema": { "const": "madoo.image-text-layers/v1" }, "layers": { "type": "array", "minItems": 1, "maxItems": 32, "items": { "type": "object", "additionalProperties": false, "required": [ "id", "text", "zIndex" ], "properties": { "id": { "type": "string", "minLength": 1, "maxLength": 80 }, "text": { "type": "string", "minLength": 1, "maxLength": 4000 }, "zIndex": { "type": "integer", "minimum": -1000, "maximum": 1000 }, "typography": { "anyOf": [ { "$ref": "#/$defs/typography" }, { "type": "null" } ] } } } } }, "$defs": { "typography": { "type": "object", "additionalProperties": false, "required": [ "schema", "preset", "font", "size", "text", "layout", "outline", "shadow", "background" ], "properties": { "schema": { "const": "madoo.image-typography/v1" }, "preset": { "enum": [ "minimal", "retail_price", "lower_third_still", "quote_card", "task_card", "custom" ] }, "font": { "$ref": "#/$defs/fontReference" }, "size": { "type": "object" }, "text": { "type": "object" }, "layout": { "type": "object" }, "outline": { "type": "object" }, "shadow": { "type": "object" }, "background": { "type": "object" } } }, "fontReference": { "type": "object", "required": [ "schema", "familyGuid", "versionGuid", "family", "variant", "weight", "style", "fingerprint" ], "properties": { "schema": { "const": "madoo.font-reference/v1" }, "familyGuid": { "type": "string", "format": "uuid" }, "versionGuid": { "type": "string", "format": "uuid" }, "family": { "type": "string", "minLength": 1, "maxLength": 100 }, "variant": { "type": "string", "minLength": 1, "maxLength": 100 }, "weight": { "type": "integer", "minimum": 100, "maximum": 900, "multipleOf": 100 }, "style": { "enum": [ "normal", "italic" ] }, "fingerprint": { "type": "string", "pattern": "^[0-9a-f]{64}$" } } } }}