madoo.video-highlight-plan/v1
Madoo video highlight plan — Deterministic chronological edit plan selected under an explicit duration budget.
| Reference | madoo.video-highlight-plan/v1 |
| Schema id | urn:madoo:schema:video-highlight-plan:v1 |
| Version | 1.0.0 |
| Served at | GET /api/v1/json-schemas/madoo.video-highlight-plan/v1 · MCP get_json_schema |
Where it appears
Section titled “Where it appears”- Produced by:
aggregate/video_highlight_plan→plan - Read by:
video/edit_timeline→plan
Fields
Section titled “Fields”| Field | Type | Required | Rules | Description |
|---|---|---|---|---|
schema |
"madoo.video-highlight-plan/v1" |
yes | ||
plan_id |
string | yes | min length 1; max length 128 | |
source_duration |
number | yes | > 0 | |
target_duration |
number | yes | ≥ 1 | |
planned_duration |
number | yes | > 0 | |
ordering |
"chronological" |
yes | ||
clips |
array of objects | yes | min items 1; max items 20 | |
clips[].id |
string | yes | min length 1; max length 128 | |
clips[].candidate_id |
string | yes | min length 1; max length 200 | |
clips[].source_start |
number | yes | ≥ 0 | |
clips[].source_end |
number | yes | > 0 | |
clips[].duration |
number | yes | > 0 | |
clips[].score |
number | yes | ≥ 0; ≤ 1 | |
clips[].title |
string | yes | min length 1; max length 160 | |
clips[].reason |
string | yes | min length 1; max length 500 | |
clips[].topic |
string | yes | min length 1; max length 120 | |
clips[].kind |
string | yes | min length 1; max length 64 | |
warnings |
array of objects | yes | max items 500 | |
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 | ||
technique |
object | yes | no other fields | |
technique.name |
string | yes | min length 1; max length 128 | |
technique.version |
string | yes | min length 1; max length 64 |
The complete schema
Section titled “The complete schema”madoo.video-highlight-plan/v1 (JSON Schema)
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "urn:madoo:schema:video-highlight-plan:v1", "title": "Madoo Video Highlight Plan v1", "description": "Deterministic chronological edit plan selected from scored highlight candidates under a duration budget.", "type": "object", "required": [ "schema", "plan_id", "source_duration", "target_duration", "planned_duration", "ordering", "clips", "warnings", "technique" ], "properties": { "schema": { "const": "madoo.video-highlight-plan/v1" }, "plan_id": { "type": "string", "minLength": 1, "maxLength": 128 }, "source_duration": { "type": "number", "exclusiveMinimum": 0 }, "target_duration": { "type": "number", "minimum": 1 }, "planned_duration": { "type": "number", "exclusiveMinimum": 0 }, "ordering": { "const": "chronological" }, "clips": { "type": "array", "minItems": 1, "maxItems": 20, "items": { "$ref": "#/$defs/clip" } }, "warnings": { "type": "array", "maxItems": 500, "items": { "$ref": "#/$defs/warning" } }, "technique": { "$ref": "#/$defs/technique" } }, "$defs": { "clip": { "type": "object", "required": [ "id", "candidate_id", "source_start", "source_end", "duration", "score", "title", "reason", "topic", "kind" ], "properties": { "id": { "type": "string", "minLength": 1, "maxLength": 128 }, "candidate_id": { "type": "string", "minLength": 1, "maxLength": 200 }, "source_start": { "type": "number", "minimum": 0 }, "source_end": { "type": "number", "exclusiveMinimum": 0 }, "duration": { "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 } }, "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 }, "technique": { "type": "object", "required": [ "name", "version" ], "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 128 }, "version": { "type": "string", "minLength": 1, "maxLength": 64 } }, "additionalProperties": false } }, "additionalProperties": false}