madoo.caption-translation-block/v1
Madoo translated caption block — Validated translated texts aligned one-to-one with the immutable cue IDs of a caption block.
| Reference | madoo.caption-translation-block/v1 |
| Schema id | urn:madoo:schema:caption-translation-block:v1 |
| Version | 1.0.0 |
| Served at | GET /api/v1/json-schemas/madoo.caption-translation-block/v1 · MCP get_json_schema |
Where it appears
Section titled “Where it appears”- Produced by:
ai/caption_translation→translation - Read by:
aggregate/caption_track→translations
Fields
Section titled “Fields”| Field | Type | Required | Rules | Description |
|---|---|---|---|---|
schema |
"madoo.caption-translation-block/v1" |
yes | ||
track_id |
string | yes | min length 1; max length 256 | |
block_id |
string | yes | min length 1; max length 256 | |
block_index |
integer | yes | ≥ 0; ≤ 9999 | |
source_language |
string or null | yes | max length 35 | |
target_language |
string | yes | min length 1; max length 35 | |
translations |
array of objects | yes | min items 1; max items 100 | |
translations[].id |
string | yes | min length 1; max length 128 | |
translations[].text |
string | yes | min length 1; max length 20000 | |
issues |
array of objects | max items 416 | ||
issues[].code |
string | yes | min length 1; max length 128 | |
issues[].severity |
"warning" |
yes | ||
issues[].message |
string | yes | min length 1; max length 2000 | |
issues[].fallback |
string | yes | min length 1; max length 20000 | |
issues[].cue_id |
string or null | max length 128 |
The complete schema
Section titled “The complete schema”madoo.caption-translation-block/v1 (JSON Schema)
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "urn:madoo:schema:caption-translation-block:v1", "title": "Madoo translated caption block", "description": "Validated translated text aligned to immutable cue IDs. Timing and speakers remain owned by the source caption track.", "type": "object", "additionalProperties": false, "required": [ "schema", "track_id", "block_id", "block_index", "source_language", "target_language", "translations" ], "properties": { "schema": { "const": "madoo.caption-translation-block/v1" }, "track_id": { "type": "string", "minLength": 1, "maxLength": 256 }, "block_id": { "type": "string", "minLength": 1, "maxLength": 256 }, "block_index": { "type": "integer", "minimum": 0, "maximum": 9999 }, "source_language": { "type": [ "string", "null" ], "maxLength": 35 }, "target_language": { "type": "string", "minLength": 1, "maxLength": 35, "examples": [ "it" ] }, "translations": { "type": "array", "minItems": 1, "maxItems": 100, "items": { "$ref": "#/$defs/translation" } }, "issues": { "type": "array", "maxItems": 416, "items": { "$ref": "#/$defs/issue" } } }, "$defs": { "translation": { "type": "object", "additionalProperties": false, "required": [ "id", "text" ], "properties": { "id": { "type": "string", "minLength": 1, "maxLength": 128, "examples": [ "cue-0001" ] }, "text": { "type": "string", "minLength": 1, "maxLength": 20000, "examples": [ "Benvenuti al nostro aggiornamento sul prodotto." ] } } }, "issue": { "type": "object", "additionalProperties": false, "required": [ "code", "severity", "message", "fallback" ], "properties": { "code": { "type": "string", "minLength": 1, "maxLength": 128 }, "severity": { "const": "warning" }, "message": { "type": "string", "minLength": 1, "maxLength": 2000 }, "fallback": { "type": "string", "minLength": 1, "maxLength": 20000 }, "cue_id": { "type": [ "string", "null" ], "maxLength": 128 } } } }}