madoo.media-policy/v1
Madoo media policy — Deterministic technical constraints evaluated against media facts.
| Reference | madoo.media-policy/v1 |
| Schema id | urn:madoo:schema:media-policy:v1 |
| Version | 1.0.0 |
| Served at | GET /api/v1/json-schemas/madoo.media-policy/v1 · MCP get_json_schema |
Where it appears
Section titled “Where it appears”- Read by:
media/technical_info→policy - Saved in the parameter:
media/technical_info→policy
Fields
Section titled “Fields”| Field | Type | Required | Rules | Description |
|---|---|---|---|---|
schema |
"madoo.media-policy/v1" |
yes | ||
policyId |
string | yes | min length 1; max length 128 | |
allowedMediaKinds |
array or null | min items 1 | ||
allowedContentTypes |
array or null | min items 1 | ||
maximumSizeBytes |
integer or null | ≥ 1 | ||
minimumDurationMilliseconds |
integer or null | ≥ 0 | ||
maximumDurationMilliseconds |
integer or null | ≥ 0 | ||
minimumWidth |
integer or null | ≥ 1 | ||
maximumWidth |
integer or null | ≥ 1 | ||
minimumHeight |
integer or null | ≥ 1 | ||
maximumHeight |
integer or null | ≥ 1 | ||
allowedVideoCodecs |
array or null | min items 1 | ||
minimumFrameRate |
number or null | > 0 | ||
maximumFrameRate |
number or null | > 0 | ||
allowedRotationDegrees |
array or null | min items 1 | ||
requireAudio |
boolean or null | |||
minimumAudioStreams |
integer or null | ≥ 0; ≤ 64 | ||
maximumAudioStreams |
integer or null | ≥ 0; ≤ 64 | ||
allowedAudioCodecs |
array or null | min items 1 | ||
allowedChannelCounts |
array or null | min items 1 | ||
minimumSampleRateHz |
integer or null | ≥ 1 |
The complete schema
Section titled “The complete schema”madoo.media-policy/v1 (JSON Schema)
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "urn:madoo:schema:media-policy:v1", "title": "Madoo Media Policy v1", "description": "Deterministic constraints evaluated against Madoo media technical facts.", "type": "object", "required": [ "schema", "policyId" ], "properties": { "schema": { "const": "madoo.media-policy/v1" }, "policyId": { "type": "string", "minLength": 1, "maxLength": 128 }, "allowedMediaKinds": { "type": [ "array", "null" ], "minItems": 1, "uniqueItems": true, "items": { "type": "string", "enum": [ "image", "audio", "video" ] } }, "allowedContentTypes": { "type": [ "array", "null" ], "minItems": 1, "uniqueItems": true, "items": { "type": "string", "minLength": 1, "maxLength": 255 } }, "maximumSizeBytes": { "type": [ "integer", "null" ], "minimum": 1 }, "minimumDurationMilliseconds": { "type": [ "integer", "null" ], "minimum": 0 }, "maximumDurationMilliseconds": { "type": [ "integer", "null" ], "minimum": 0 }, "minimumWidth": { "type": [ "integer", "null" ], "minimum": 1 }, "maximumWidth": { "type": [ "integer", "null" ], "minimum": 1 }, "minimumHeight": { "type": [ "integer", "null" ], "minimum": 1 }, "maximumHeight": { "type": [ "integer", "null" ], "minimum": 1 }, "allowedVideoCodecs": { "type": [ "array", "null" ], "minItems": 1, "uniqueItems": true, "items": { "type": "string", "minLength": 1, "maxLength": 128 } }, "minimumFrameRate": { "type": [ "number", "null" ], "exclusiveMinimum": 0 }, "maximumFrameRate": { "type": [ "number", "null" ], "exclusiveMinimum": 0 }, "allowedRotationDegrees": { "type": [ "array", "null" ], "minItems": 1, "uniqueItems": true, "items": { "type": "integer", "enum": [ 0, 90, 180, 270 ] } }, "requireAudio": { "type": [ "boolean", "null" ] }, "minimumAudioStreams": { "type": [ "integer", "null" ], "minimum": 0, "maximum": 64 }, "maximumAudioStreams": { "type": [ "integer", "null" ], "minimum": 0, "maximum": 64 }, "allowedAudioCodecs": { "type": [ "array", "null" ], "minItems": 1, "uniqueItems": true, "items": { "type": "string", "minLength": 1, "maxLength": 128 } }, "allowedChannelCounts": { "type": [ "array", "null" ], "minItems": 1, "uniqueItems": true, "items": { "type": "integer", "minimum": 1, "maximum": 64 } }, "minimumSampleRateHz": { "type": [ "integer", "null" ], "minimum": 1 } }, "additionalProperties": false}