madoo.media-technical-info/v1
Madoo media technical information — Normalized technical facts for a storage-backed image, audio, or video asset.
| Reference | madoo.media-technical-info/v1 |
| Schema id | urn:madoo:schema:media-technical-info:v1 |
| Version | 1.0.0 |
| Served at | GET /api/v1/json-schemas/madoo.media-technical-info/v1 · MCP get_json_schema |
Where it appears
Section titled “Where it appears”- Produced by:
media/technical_info→info - Read by:
utility/dubbing_manifest→final_video_info,utility/dubbing_manifest→master_info
Fields
Section titled “Fields”| Field | Type | Required | Rules | Description |
|---|---|---|---|---|
schema |
"madoo.media-technical-info/v1" |
yes | ||
mediaKind |
one of "image", "audio", "video" |
yes | ||
declaredContentType |
string or null | yes | max length 255 | |
detectedContentType |
string | yes | min length 1; max length 255 | |
containerFormat |
string or null | yes | max length 255 | |
sizeBytes |
integer | yes | ≥ 0 | |
durationMilliseconds |
integer or null | yes | ≥ 0 | |
bitrateBitsPerSecond |
integer or null | yes | ≥ 0 | |
width |
integer or null | yes | ≥ 1 | |
height |
integer or null | yes | ≥ 1 | |
frameRate |
number or null | yes | > 0 | |
rotationDegrees |
one of 0, 90, 180, 270, null |
yes | ||
hasAudio |
boolean | yes | ||
videoStreams |
array of objects | yes | max items 64 | |
videoStreams[].index |
integer | yes | ≥ 0 | |
videoStreams[].codec |
string | yes | min length 1; max length 128 | |
videoStreams[].width |
integer or null | yes | ≥ 1 | |
videoStreams[].height |
integer or null | yes | ≥ 1 | |
videoStreams[].frameRate |
number or null | yes | > 0 | |
videoStreams[].rotationDegrees |
one of 0, 90, 180, 270, null |
yes | ||
videoStreams[].pixelFormat |
string or null | yes | max length 128 | |
videoStreams[].language |
string or null | yes | max length 32 | |
videoStreams[].isAttachedPicture |
boolean | yes | ||
videoStreams[].isPrimary |
boolean | yes | ||
audioStreams |
array of objects | yes | max items 64 | |
audioStreams[].index |
integer | yes | ≥ 0 | |
audioStreams[].codec |
string | yes | min length 1; max length 128 | |
audioStreams[].channels |
integer or null | yes | ≥ 1 | |
audioStreams[].channelLayout |
string or null | yes | max length 128 | |
audioStreams[].sampleRateHz |
integer or null | yes | ≥ 1 | |
audioStreams[].bitrateBitsPerSecond |
integer or null | yes | ≥ 0 | |
audioStreams[].language |
string or null | yes | max length 32 | |
audioStreams[].isPrimary |
boolean | yes | ||
probe |
object | yes | no other fields | |
probe.name |
string | yes | min length 1; max length 128 | |
probe.version |
string | yes | min length 1; max length 64 | |
warnings |
array of objects | yes | max items 256 | |
warnings[].code |
string | yes | min length 1; max length 128 | |
warnings[].message |
string | yes | min length 1; max length 2000 | |
warnings[].path |
string or null | yes | max length 500 |
The complete schema
Section titled “The complete schema”madoo.media-technical-info/v1 (JSON Schema)
{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "urn:madoo:schema:media-technical-info:v1", "title": "Madoo Media Technical Info v1", "description": "Normalized technical facts measured from a storage-backed image, audio, or video asset.", "type": "object", "required": [ "schema", "mediaKind", "declaredContentType", "detectedContentType", "containerFormat", "sizeBytes", "durationMilliseconds", "bitrateBitsPerSecond", "width", "height", "frameRate", "rotationDegrees", "hasAudio", "videoStreams", "audioStreams", "probe", "warnings" ], "properties": { "schema": { "const": "madoo.media-technical-info/v1" }, "mediaKind": { "type": "string", "enum": [ "image", "audio", "video" ] }, "declaredContentType": { "type": [ "string", "null" ], "maxLength": 255 }, "detectedContentType": { "type": "string", "minLength": 1, "maxLength": 255 }, "containerFormat": { "type": [ "string", "null" ], "maxLength": 255 }, "sizeBytes": { "type": "integer", "minimum": 0 }, "durationMilliseconds": { "type": [ "integer", "null" ], "minimum": 0 }, "bitrateBitsPerSecond": { "type": [ "integer", "null" ], "minimum": 0 }, "width": { "type": [ "integer", "null" ], "minimum": 1 }, "height": { "type": [ "integer", "null" ], "minimum": 1 }, "frameRate": { "type": [ "number", "null" ], "exclusiveMinimum": 0 }, "rotationDegrees": { "type": [ "integer", "null" ], "enum": [ 0, 90, 180, 270, null ] }, "hasAudio": { "type": "boolean" }, "videoStreams": { "type": "array", "maxItems": 64, "items": { "type": "object", "required": [ "index", "codec", "width", "height", "frameRate", "rotationDegrees", "pixelFormat", "language", "isAttachedPicture", "isPrimary" ], "properties": { "index": { "type": "integer", "minimum": 0 }, "codec": { "type": "string", "minLength": 1, "maxLength": 128 }, "width": { "type": [ "integer", "null" ], "minimum": 1 }, "height": { "type": [ "integer", "null" ], "minimum": 1 }, "frameRate": { "type": [ "number", "null" ], "exclusiveMinimum": 0 }, "rotationDegrees": { "type": [ "integer", "null" ], "enum": [ 0, 90, 180, 270, null ] }, "pixelFormat": { "type": [ "string", "null" ], "maxLength": 128 }, "language": { "type": [ "string", "null" ], "maxLength": 32 }, "isAttachedPicture": { "type": "boolean" }, "isPrimary": { "type": "boolean" } }, "additionalProperties": false } }, "audioStreams": { "type": "array", "maxItems": 64, "items": { "type": "object", "required": [ "index", "codec", "channels", "channelLayout", "sampleRateHz", "bitrateBitsPerSecond", "language", "isPrimary" ], "properties": { "index": { "type": "integer", "minimum": 0 }, "codec": { "type": "string", "minLength": 1, "maxLength": 128 }, "channels": { "type": [ "integer", "null" ], "minimum": 1 }, "channelLayout": { "type": [ "string", "null" ], "maxLength": 128 }, "sampleRateHz": { "type": [ "integer", "null" ], "minimum": 1 }, "bitrateBitsPerSecond": { "type": [ "integer", "null" ], "minimum": 0 }, "language": { "type": [ "string", "null" ], "maxLength": 32 }, "isPrimary": { "type": "boolean" } }, "additionalProperties": false } }, "probe": { "type": "object", "required": [ "name", "version" ], "properties": { "name": { "type": "string", "minLength": 1, "maxLength": 128 }, "version": { "type": "string", "minLength": 1, "maxLength": 64 } }, "additionalProperties": false }, "warnings": { "type": "array", "maxItems": 256, "items": { "type": "object", "required": [ "code", "message", "path" ], "properties": { "code": { "type": "string", "minLength": 1, "maxLength": 128 }, "message": { "type": "string", "minLength": 1, "maxLength": 2000 }, "path": { "type": [ "string", "null" ], "maxLength": 500 } }, "additionalProperties": false } } }, "additionalProperties": false}