Skip to content

madoo.caption-translation-quality/v1

Madoo caption translation quality — Cue coverage, timing preservation, bounded-repair counts and warnings for a translated caption track.

Reference madoo.caption-translation-quality/v1
Schema id urn:madoo:schema:caption-translation-quality:v1
Version 1.0.0
Served at GET /api/v1/json-schemas/madoo.caption-translation-quality/v1 · MCP get_json_schema
  • Produced by: aggregate/caption_track → quality_report
Field Type Required Rules Description
schema "madoo.caption-translation-quality/v1" yes
complete boolean yes
source_track_id string yes min length 1; max length 256
translated_track_id string yes min length 1; max length 512
target_language string yes min length 1; max length 35
block_count integer yes ≥ 0; ≤ 10000
source_cue_count integer yes ≥ 0; ≤ 10000
translated_cue_count integer yes ≥ 0; ≤ 10000
timings_preserved boolean yes
pending_cue_count integer ≥ 0; ≤ 10000
repaired_cue_count integer ≥ 0; ≤ 10000
repair_round integer ≥ 0; ≤ 1
warnings array of objects yes max items 1000
warnings[].code string yes min length 1; max length 128
warnings[].message string yes min length 1; max length 2000
madoo.caption-translation-quality/v1 (JSON Schema)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "urn:madoo:schema:caption-translation-quality:v1",
"title": "Madoo caption translation quality",
"description": "Cue coverage, immutable timing and one bounded cue-level repair round. Complete is semantic: source-text fallbacks remain pending even when structural cue coverage is one-to-one.",
"type": "object",
"additionalProperties": false,
"required": [
"schema",
"complete",
"source_track_id",
"translated_track_id",
"target_language",
"block_count",
"source_cue_count",
"translated_cue_count",
"timings_preserved",
"warnings"
],
"properties": {
"schema": {
"const": "madoo.caption-translation-quality/v1"
},
"complete": {
"type": "boolean"
},
"source_track_id": {
"type": "string",
"minLength": 1,
"maxLength": 256
},
"translated_track_id": {
"type": "string",
"minLength": 1,
"maxLength": 512
},
"target_language": {
"type": "string",
"minLength": 1,
"maxLength": 35,
"examples": [
"it"
]
},
"block_count": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"source_cue_count": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"translated_cue_count": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"timings_preserved": {
"type": "boolean"
},
"pending_cue_count": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"repaired_cue_count": {
"type": "integer",
"minimum": 0,
"maximum": 10000
},
"repair_round": {
"type": "integer",
"minimum": 0,
"maximum": 1
},
"warnings": {
"type": "array",
"maxItems": 1000,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"message": {
"type": "string",
"minLength": 1,
"maxLength": 2000
}
}
}
}
}
}