Skip to content

madoo.transcript-segments/v1

Madoo timed transcript — Provider-neutral speech segments or words with media-relative timestamps.

Reference madoo.transcript-segments/v1
Schema id urn:madoo:schema:transcript-segments:v1
Version 1.0.0
Served at GET /api/v1/json-schemas/madoo.transcript-segments/v1 · MCP get_json_schema
  • Produced by: ai/speech_to_text → segments
  • Read by: aggregate/transcript → segments, video/subtitles → segments
Field Type Required Rules Description
schema "madoo.transcript-segments/v1" yes
granularity one of "segment", "word" yes
language string or null yes max length 35
segments array of objects yes min items 1; max items 100000
segments[].start number yes ≥ 0; ≤ 21600
segments[].end number yes ≤ 21600; > 0
segments[].text string yes min length 1; max length 20000
segments[].speaker string or null yes max length 256
segments[].kind one of "speech", "audio_event" yes
madoo.transcript-segments/v1 (JSON Schema)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "urn:madoo:schema:transcript-segments:v1",
"title": "Madoo timed transcript",
"description": "Provider-neutral speech segments or words with media-relative timestamps. Ordering and end-after-start are also checked semantically by the runtime.",
"type": "object",
"additionalProperties": false,
"required": [
"schema",
"granularity",
"language",
"segments"
],
"properties": {
"schema": {
"const": "madoo.transcript-segments/v1"
},
"granularity": {
"type": "string",
"enum": [
"segment",
"word"
]
},
"language": {
"type": [
"string",
"null"
],
"maxLength": 35,
"examples": [
"en"
]
},
"segments": {
"type": "array",
"minItems": 1,
"maxItems": 100000,
"items": {
"$ref": "#/$defs/segment"
}
}
},
"$defs": {
"segment": {
"type": "object",
"additionalProperties": false,
"required": [
"start",
"end",
"text",
"speaker",
"kind"
],
"properties": {
"start": {
"type": "number",
"minimum": 0,
"maximum": 21600,
"examples": [
12.4
]
},
"end": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 21600,
"examples": [
15.1
]
},
"text": {
"type": "string",
"minLength": 1,
"maxLength": 20000,
"examples": [
"Welcome to our product update."
]
},
"speaker": {
"type": [
"string",
"null"
],
"maxLength": 256,
"examples": [
"speaker_0"
]
},
"kind": {
"type": "string",
"enum": [
"speech",
"audio_event"
],
"examples": [
"speech"
]
}
}
}
}
}