Skip to content

madoo.caption-block/v1

Madoo caption block — One bounded group of caption cues plus read-only neighbouring context for translation.

Reference madoo.caption-block/v1
Schema id urn:madoo:schema:caption-block:v1
Version 1.0.0
Served at GET /api/v1/json-schemas/madoo.caption-block/v1 · MCP get_json_schema

One of the two forms of madoo.caption-block-family/v1, the contract on the ports.

Field Type Required Rules Description
schema "madoo.caption-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
cues array of objects yes min items 1; max items 100
cues[].id string yes min length 1; max length 128
cues[].text string yes min length 1; max length 20000
cues[].speaker string or null yes max length 128
cues[].kind string yes min length 1; max length 64
context_before string or null yes max length 20000
context_after string or null yes max length 20000
madoo.caption-block/v1 (JSON Schema)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "urn:madoo:schema:caption-block:v1",
"title": "Madoo caption block",
"description": "One bounded group of source cues. Neighbouring context is read-only and is not part of the translated cue set.",
"type": "object",
"additionalProperties": false,
"required": [
"schema",
"track_id",
"block_id",
"block_index",
"source_language",
"cues",
"context_before",
"context_after"
],
"properties": {
"schema": {
"const": "madoo.caption-block/v1"
},
"track_id": {
"type": "string",
"minLength": 1,
"maxLength": 256,
"examples": [
"source-track"
]
},
"block_id": {
"type": "string",
"minLength": 1,
"maxLength": 256,
"examples": [
"source-track:block:0000"
]
},
"block_index": {
"type": "integer",
"minimum": 0,
"maximum": 9999
},
"source_language": {
"type": [
"string",
"null"
],
"maxLength": 35,
"examples": [
"en"
]
},
"cues": {
"type": "array",
"minItems": 1,
"maxItems": 100,
"items": {
"$ref": "#/$defs/cue"
}
},
"context_before": {
"type": [
"string",
"null"
],
"maxLength": 20000
},
"context_after": {
"type": [
"string",
"null"
],
"maxLength": 20000
}
},
"$defs": {
"cue": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"text",
"speaker",
"kind"
],
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 128,
"examples": [
"cue-0001"
]
},
"text": {
"type": "string",
"minLength": 1,
"maxLength": 20000,
"examples": [
"Welcome to our product update."
]
},
"speaker": {
"type": [
"string",
"null"
],
"maxLength": 128,
"examples": [
"speaker_0"
]
},
"kind": {
"type": "string",
"minLength": 1,
"maxLength": 64,
"examples": [
"speech"
]
}
}
}
}
}