Skip to content

madoo.video-highlight-candidates/v1

Madoo video highlight candidates — Bounded, provider-neutral highlight suggestions for one source-video segment.

Reference madoo.video-highlight-candidates/v1
Schema id urn:madoo:schema:video-highlight-candidates:v1
Version 1.0.0
Served at GET /api/v1/json-schemas/madoo.video-highlight-candidates/v1 · MCP get_json_schema
  • Produced by: ai/video_highlight_analysis → candidates
  • Read by: aggregate/video_highlight_plan → candidates
Field Type Required Rules Description
schema "madoo.video-highlight-candidates/v1" yes
segment_id string yes min length 1; max length 160
segment_index integer yes ≥ 0
segment_start number yes ≥ 0
segment_end number yes > 0
candidates array of objects yes max items 20
candidates[].id string yes min length 1; max length 200
candidates[].start number yes ≥ 0
candidates[].end number yes > 0
candidates[].score number yes ≥ 0; ≤ 1
candidates[].title string yes min length 1; max length 160
candidates[].reason string yes min length 1; max length 500
candidates[].topic string yes min length 1; max length 120
candidates[].kind string yes min length 1; max length 64
candidates[].standalone boolean yes
warnings array of objects yes max items 100
warnings[].code string yes min length 1; max length 128
warnings[].message string yes min length 1; max length 1000
warnings[].candidate_index integer or null ≥ 0
madoo.video-highlight-candidates/v1 (JSON Schema)
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "urn:madoo:schema:video-highlight-candidates:v1",
"title": "Madoo Video Highlight Candidates v1",
"description": "Provider-neutral, bounded highlight suggestions for one source-video segment.",
"type": "object",
"required": [
"schema",
"segment_id",
"segment_index",
"segment_start",
"segment_end",
"candidates",
"warnings"
],
"properties": {
"schema": {
"const": "madoo.video-highlight-candidates/v1"
},
"segment_id": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"segment_index": {
"type": "integer",
"minimum": 0
},
"segment_start": {
"type": "number",
"minimum": 0
},
"segment_end": {
"type": "number",
"exclusiveMinimum": 0
},
"candidates": {
"type": "array",
"maxItems": 20,
"items": {
"$ref": "#/$defs/candidate"
}
},
"warnings": {
"type": "array",
"maxItems": 100,
"items": {
"$ref": "#/$defs/warning"
}
}
},
"$defs": {
"candidate": {
"type": "object",
"required": [
"id",
"start",
"end",
"score",
"title",
"reason",
"topic",
"kind",
"standalone"
],
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"start": {
"type": "number",
"minimum": 0
},
"end": {
"type": "number",
"exclusiveMinimum": 0
},
"score": {
"type": "number",
"minimum": 0,
"maximum": 1
},
"title": {
"type": "string",
"minLength": 1,
"maxLength": 160
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 500
},
"topic": {
"type": "string",
"minLength": 1,
"maxLength": 120
},
"kind": {
"type": "string",
"minLength": 1,
"maxLength": 64
},
"standalone": {
"type": "boolean"
}
},
"additionalProperties": false
},
"warning": {
"type": "object",
"required": [
"code",
"message"
],
"properties": {
"code": {
"type": "string",
"minLength": 1,
"maxLength": 128
},
"message": {
"type": "string",
"minLength": 1,
"maxLength": 1000
},
"candidate_index": {
"type": [
"integer",
"null"
],
"minimum": 0
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}