{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/mediaruntime/main/json-schema/mediaruntime-capabilities-response-schema.json",
  "title": "CapabilitiesResponse",
  "x-generated": "2026-09-28",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/mediaruntime-discovery-api-openapi.yml#/components/schemas/CapabilitiesResponse",
  "properties": {
    "capabilities": {
      "additionalProperties": {
        "type": "string"
      },
      "title": "Capabilities",
      "type": "object"
    },
    "features": {
      "additionalProperties": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Features",
      "type": "object"
    },
    "notes": {
      "items": {
        "type": "string"
      },
      "title": "Notes",
      "type": "array"
    },
    "output_aliases": {
      "additionalProperties": {
        "$ref": "#/$defs/OutputAliasCapability"
      },
      "title": "Output Aliases",
      "type": "object"
    },
    "output_types": {
      "additionalProperties": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "title": "Output Types",
      "type": "object"
    },
    "preset_overrides": {
      "additionalProperties": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "title": "Preset Overrides",
      "type": "object"
    },
    "preset_requirement_replacements": {
      "additionalProperties": {
        "items": {
          "type": "string"
        },
        "type": "array"
      },
      "title": "Preset Requirement Replacements",
      "type": "object"
    },
    "presets": {
      "additionalProperties": {
        "$ref": "#/$defs/PresetCapability"
      },
      "title": "Presets",
      "type": "object"
    },
    "public_presets": {
      "items": {
        "type": "string"
      },
      "title": "Public Presets",
      "type": "array"
    }
  },
  "required": [
    "capabilities",
    "output_types",
    "preset_overrides",
    "preset_requirement_replacements",
    "presets",
    "public_presets",
    "features",
    "output_aliases",
    "notes"
  ],
  "type": "object",
  "$defs": {
    "OutputAliasCapability": {
      "description": "A stable alias and the complete output recipe it materializes.",
      "properties": {
        "artifacts": {
          "items": {
            "type": "string"
          },
          "title": "Artifacts",
          "type": "array"
        },
        "output": {
          "additionalProperties": true,
          "title": "Output",
          "type": "object"
        },
        "preset": {
          "title": "Preset",
          "type": "string"
        },
        "tier": {
          "title": "Tier",
          "type": "string"
        },
        "type": {
          "title": "Type",
          "type": "string"
        }
      },
      "required": [
        "type",
        "preset",
        "tier",
        "artifacts",
        "output"
      ],
      "title": "OutputAliasCapability",
      "type": "object"
    },
    "PresetCapability": {
      "description": "One preset entry returned by the public capability catalogue.",
      "properties": {
        "artifacts": {
          "items": {
            "type": "string"
          },
          "title": "Artifacts",
          "type": "array"
        },
        "base_tier": {
          "title": "Base Tier",
          "type": "string"
        },
        "codec": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Codec"
        },
        "container": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Container"
        },
        "description": {
          "title": "Description",
          "type": "string"
        },
        "output_type": {
          "title": "Output Type",
          "type": "string"
        },
        "parameterized": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "null"
            }
          ],
          "title": "Parameterized"
        },
        "source_kinds": {
          "items": {
            "type": "string"
          },
          "title": "Source Kinds",
          "type": "array"
        }
      },
      "required": [
        "output_type",
        "source_kinds",
        "base_tier",
        "description",
        "artifacts"
      ],
      "title": "PresetCapability",
      "type": "object"
    }
  }
}