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 |
Where it appears
Section titled “Where it appears”- Produced by:
ai/speech_to_text→segments - Read by:
aggregate/transcript→segments,video/subtitles→segments
Fields
Section titled “Fields”| 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 |
The complete schema
Section titled “The complete schema”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" ] } } } }}