MediaRuntime · Schema

CreateJobRequest

Create one asynchronous media job. Choose exactly one input form: source, the legacy file_url field, or inputs for a batch. Choose either a hosted recipe or explicit processing options. Terminal events are sent to the account webhook destination configured in MediaRuntime.

Media ProcessingVideoAudioRuntimeVideo EncodingAudio ProcessingImage ProcessingContent ModerationMedia APIAsynchronous Processing

Properties

Name Type Description
file_url object GCS URI (gs://) or Public HTTP URL
inputs object Optional multi-input batch request. Use this instead of source/file_url for additive batch fan-out.
metadata object Opaque caller metadata persisted with the job and echoed in completion webhooks.
moderation object Optional premium moderation request for image or video inputs.
outputs array Output recipes as explicit objects or frozen alias strings. May be empty ONLY for an analysis-only job — currently a job with moderation enabled, which produces a verdict and no media.
recipe object Hosted recipe reference, optionally pinned as name@version.
source object Canonical single input: an HTTP(S)/gs:// string or an object containing only a url field. Mutually exclusive with file_url and inputs.
watermark object Optional premium watermark request; overlays the account's logo onto every output.
View JSON Schema on GitHub

JSON Schema

mediaruntime-create-job-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/mediaruntime/main/json-schema/mediaruntime-create-job-request-schema.json",
  "title": "CreateJobRequest",
  "description": "Create one asynchronous media job. Choose exactly one input form: source, the legacy file_url field, or inputs for a batch. Choose either a hosted recipe or explicit processing options. Terminal events are sent to the account webhook destination configured in MediaRuntime.",
  "x-generated": "2026-09-28",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/mediaruntime-jobs-api-openapi.yml#/components/schemas/CreateJobRequest",
  "oneOf": [
    {
      "not": {
        "anyOf": [
          {
            "required": [
              "file_url"
            ]
          },
          {
            "required": [
              "inputs"
            ]
          }
        ]
      },
      "required": [
        "source"
      ]
    },
    {
      "not": {
        "anyOf": [
          {
            "required": [
              "source"
            ]
          },
          {
            "required": [
              "inputs"
            ]
          }
        ]
      },
      "required": [
        "file_url"
      ]
    },
    {
      "not": {
        "anyOf": [
          {
            "required": [
              "source"
            ]
          },
          {
            "required": [
              "file_url"
            ]
          }
        ]
      },
      "required": [
        "inputs"
      ]
    }
  ],
  "properties": {
    "file_url": {
      "anyOf": [
        {
          "maxLength": 2048,
          "minLength": 1,
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "GCS URI (gs://) or Public HTTP URL",
      "title": "File Url"
    },
    "inputs": {
      "anyOf": [
        {
          "items": {
            "$ref": "#/$defs/JobInput"
          },
          "maxItems": 25,
          "minItems": 1,
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "description": "Optional multi-input batch request. Use this instead of source/file_url for additive batch fan-out.",
      "title": "Inputs"
    },
    "metadata": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "description": "Opaque caller metadata persisted with the job and echoed in completion webhooks.",
      "title": "Metadata"
    },
    "moderation": {
      "anyOf": [
        {
          "$ref": "#/$defs/ModerationConfig"
        },
        {
          "type": "null"
        }
      ],
      "description": "Optional premium moderation request for image or video inputs."
    },
    "outputs": {
      "description": "Output recipes as explicit objects or frozen alias strings. May be empty ONLY for an analysis-only job — currently a job with moderation enabled, which produces a verdict and no media.",
      "items": {
        "anyOf": [
          {
            "$ref": "#/$defs/TranscodeOutput"
          },
          {
            "type": "string"
          }
        ]
      },
      "maxItems": 10,
      "title": "Outputs",
      "type": "array"
    },
    "recipe": {
      "anyOf": [
        {
          "maxLength": 80,
          "minLength": 3,
          "pattern": "^[a-z][a-z0-9-]{2,63}(?:@[1-9][0-9]*)?$",
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "description": "Hosted recipe reference, optionally pinned as name@version.",
      "title": "Recipe"
    },
    "source": {
      "anyOf": [
        {
          "maxLength": 2048,
          "minLength": 1,
          "type": "string"
        },
        {
          "$ref": "#/$defs/SourceUrl"
        },
        {
          "type": "null"
        }
      ],
      "description": "Canonical single input: an HTTP(S)/gs:// string or an object containing only a url field. Mutually exclusive with file_url and inputs.",
      "title": "Source"
    },
    "watermark": {
      "anyOf": [
        {
          "$ref": "#/$defs/WatermarkConfig"
        },
        {
          "type": "null"
        }
      ],
      "description": "Optional premium watermark request; overlays the account's logo onto every output."
    }
  },
  "type": "object",
  "$defs": {
    "AnimationConfig": {
      "properties": {
        "duration": {
          "default": 6.0,
          "exclusiveMinimum": 0.0,
          "maximum": 30.0,
          "title": "Duration",
          "type": "number"
        },
        "fps": {
          "default": 15.0,
          "exclusiveMinimum": 0.0,
          "maximum": 30.0,
          "title": "Fps",
          "type": "number"
        },
        "loop": {
          "default": 0,
          "description": "0 means infinite",
          "maximum": 65535.0,
          "minimum": 0.0,
          "title": "Loop",
          "type": "integer"
        },
        "quality": {
          "anyOf": [
            {
              "maximum": 100.0,
              "minimum": 1.0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "description": "Optional animated WebP quality. Do not send this field for lossless APNG.",
          "title": "Quality"
        },
        "start_time": {
          "default": 0.0,
          "maximum": 604800.0,
          "minimum": 0.0,
          "title": "Start Time",
          "type": "number"
        },
        "width": {
          "default": 720,
          "maximum": 1920.0,
          "minimum": 1.0,
          "title": "Width",
          "type": "integer"
        }
      },
      "title": "AnimationConfig",
      "type": "object"
    },
    "AudioOptions": {
      "properties": {
        "bitrate_bps": {
          "default": 0,
          "maximum": 10000000.0,
          "minimum": 0.0,
          "title": "Bitrate Bps",
          "type": "integer"
        },
        "channels": {
          "default": 0,
          "maximum": 32.0,
          "minimum": 0.0,
          "title": "Channels",
          "type": "integer"
        },
        "codec": {
          "anyOf": [
            {
              "maxLength": 32,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "aac, mp3, opus, ac3",
          "title": "Codec"
        }
      },
      "title": "AudioOptions",
      "type": "object"
    },
    "AudiogramArtworkFit": {
      "enum": [
        "contain",
        "cover",
        "blurred_background"
      ],
      "title": "AudiogramArtworkFit",
      "type": "string"
    },
    "AudiogramCaptionPosition": {
      "enum": [
        "top",
        "bottom"
      ],
      "title": "AudiogramCaptionPosition",
      "type": "string"
    },
    "AudiogramConfig": {
      "additionalProperties": false,
      "description": "Bounded public controls for composing audio, artwork, and captions.",
      "properties": {
        "artwork_fit": {
          "$ref": "#/$defs/AudiogramArtworkFit",
          "default": "blurred_background"
        },
        "artwork_source": {
          "maxLength": 2048,
          "minLength": 1,
          "title": "Artwork Source",
          "type": "string"
        },
        "background_color": {
          "default": "#101827",
          "pattern": "^#[0-9A-Fa-f]{6}$",
          "title": "Background Color",
          "type": "string"
        },
        "burn_captions": {
          "default": false,
          "title": "Burn Captions",
          "type": "boolean"
        },
        "caption_font_scale": {
          "default": 1.0,
          "maximum": 1.5,
          "minimum": 0.75,
          "title": "Caption Font Scale",
          "type": "number"
        },
        "caption_position": {
          "$ref": "#/$defs/AudiogramCaptionPosition",
          "default": "bottom"
        },
        "captions_source": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Captions Source"
        },
        "duration_sec": {
          "default": 60.0,
          "exclusiveMinimum": 0.0,
          "maximum": 300.0,
          "title": "Duration Sec",
          "type": "number"
        },
        "fps": {
          "default": 30,
          "maximum": 30.0,
          "minimum": 15.0,
          "title": "Fps",
          "type": "integer"
        },
        "layout": {
          "$ref": "#/$defs/AudiogramLayout",
          "default": "square"
        },
        "loudness_target_lufs": {
          "default": -16.0,
          "maximum": -12.0,
          "minimum": -24.0,
          "title": "Loudness Target Lufs",
          "type": "number"
        },
        "normalize_audio": {
          "default": false,
          "title": "Normalize Audio",
          "type": "boolean"
        },
        "start_time_sec": {
          "default": 0.0,
          "maximum": 604800.0,
          "minimum": 0.0,
          "title": "Start Time Sec",
          "type": "number"
        },
        "waveform_color": {
          "default": "#5B5CFF",
          "pattern": "^#[0-9A-Fa-f]{6}$",
          "title": "Waveform Color",
          "type": "string"
        },
        "waveform_gain": {
          "default": 2.0,
          "maximum": 4.0,
          "minimum": 0.5,
          "title": "Waveform Gain",
          "type": "number"
        }
      },
      "required": [
        "artwork_source"
      ],
      "title": "AudiogramConfig",
      "type": "object"
    },
    "AudiogramLayout": {
      "enum": [
        "square",
        "portrait",
        "landscape"
      ],
      "title": "AudiogramLayout",
      "type": "string"
    },
    "ContactSheetConfig": {
      "properties": {
        "columns": {
          "default": 4,
          "maximum": 10.0,
          "minimum": 1.0,
          "title": "Columns",
          "type": "integer"
        },
        "duration_sec": {
          "default": 0.0,
          "description": "Selected source duration; zero means the remaining video.",
          "maximum": 21600.0,
          "minimum": 0.0,
          "title": "Duration Sec",
          "type": "number"
        },
        "format": {
          "$ref": "#/$defs/ContactSheetFormat",
          "default": "jpg"
        },
        "interval_sec": {
          "default": 10.0,
          "maximum": 3600.0,
          "minimum": 0.5,
          "title": "Interval Sec",
          "type": "number"
        },
        "max_sheets": {
          "default": 4,
          "maximum": 20.0,
          "minimum": 1.0,
          "title": "Max Sheets",
          "type": "integer"
        },
        "quality": {
          "default": 80,
          "maximum": 100.0,
          "minimum": 1.0,
          "title": "Quality",
          "type": "integer"
        },
        "rows": {
          "default": 4,
          "maximum": 10.0,
          "minimum": 1.0,
          "title": "Rows",
          "type": "integer"
        },
        "start_time_sec": {
          "default": 0.0,
          "maximum": 604800.0,
          "minimum": 0.0,
          "title": "Start Time Sec",
          "type": "number"
        },
        "tile_height": {
          "default": 180,
          "maximum": 640.0,
          "minimum": 36.0,
          "title": "Tile Height",
          "type": "integer"
        },
        "tile_width": {
          "default": 320,
          "maximum": 640.0,
          "minimum": 64.0,
          "title": "Tile Width",
          "type": "integer"
        }
      },
      "title": "ContactSheetConfig",
      "type": "object"
    },
    "ContactSheetFormat": {
      "enum": [
        "jpg",
        "png",
        "webp"
      ],
      "title": "ContactSheetFormat",
      "type": "string"
    },
    "GifPreviewConfig": {
      "properties": {
        "duration": {
          "default": 5.0,
          "exclusiveMinimum": 0.0,
          "maximum": 600.0,
          "title": "Duration",
          "type": "number"
        },
        "enabled": {
          "default": false,
          "title": "Enabled",
          "type": "boolean"
        },
        "fps": {
          "default": 10.0,
          "exclusiveMinimum": 0.0,
          "maximum": 60.0,
          "title": "Fps",
          "type": "number"
        },
        "start_time": {
          "default": 0.0,
          "maximum": 604800.0,
          "minimum": 0.0,
          "title": "Start Time",
          "type": "number"
        },
        "width": {
          "default": 320,
          "maximum": 4096.0,
          "minimum": 1.0,
          "title": "Width",
          "type": "integer"
        }
      },
      "title": "GifPreviewConfig",
      "type": "object"
    },
    "ImageFormat": {
      "enum": [
        "jpg",
        "png",
        "webp",
        "avif"
      ],
      "title": "ImageFormat",
      "type": "string"
    },
    "ImageRendition": {
      "properties": {
        "format": {
          "$ref": "#/$defs/ImageFormat"
        },
        "height": {
          "maximum": 16384.0,
          "minimum": 1.0,
          "title": "Height",
          "type": "integer"
        },
        "max_bytes": {
          "anyOf": [
            {
              "maximum": 100000000.0,
              "minimum": 256.0,
              "type": "integer"
            },
            {
              "type": "null"
            }
          ],
          "description": "Optional hard encoded-file ceiling for JPG/WebP. The job fails rather than returning an oversized rendition.",
          "title": "Max Bytes"
        },
        "min_quality": {
          "default": 1,
          "description": "Lowest quality the bounded search may use when max_bytes is set.",
          "maximum": 100.0,
          "minimum": 1.0,
          "title": "Min Quality",
          "type": "integer"
        },
        "mode": {
          "default": "cover",
          "maxLength": 32,
          "minLength": 1,
          "title": "Mode",
          "type": "string"
        },
        "quality": {
          "default": 80,
          "maximum": 100.0,
          "minimum": 1.0,
          "title": "Quality",
          "type": "integer"
        },
        "width": {
          "maximum": 16384.0,
          "minimum": 1.0,
          "title": "Width",
          "type": "integer"
        }
      },
      "required": [
        "width",
        "height",
        "format"
      ],
      "title": "ImageRendition",
      "type": "object"
    },
    "JobInput": {
      "properties": {
        "file_url": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Permanent legacy spelling of source for one batch item.",
          "title": "File Url"
        },
        "input_id": {
          "anyOf": [
            {
              "maxLength": 128,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "Caller-supplied stable identifier for this input within a batch",
          "title": "Input Id"
        },
        "metadata": {
          "anyOf": [
            {
              "additionalProperties": true,
              "type": "object"
            },
            {
              "type": "null"
            }
          ],
          "description": "Opaque per-input metadata persisted with the child job and echoed in batch webhooks.",
          "title": "Metadata"
        },
        "source": {
          "anyOf": [
            {
              "maxLength": 2048,
              "minLength": 1,
              "type": "string"
            },
            {
              "$ref": "#/$defs/SourceUrl"
            },
            {
              "type": "null"
            }
          ],
          "description": "Canonical batch input: an HTTP(S)/gs:// string or an object containing only a url field. Mutually exclusive with file_url.",
          "title": "Source"
        }
      },
      "title": "JobInput",
      "type": "object"
    },
    "ModerationCheck": {
      "enum": [
        "sexual",
        "violence",
        "dangerous"
      ],
      "title": "ModerationCheck",
      "type": "string"
    },
    "ModerationConfig": {
      "properties": {
        "checks": {
          "items": {
            "$ref": "#/$defs/ModerationCheck"
          },
          "maxItems": 3,
          "minItems": 1,
          "title": "Checks",
          "type": "array"
        },
        "enabled": {
          "default": false,
          "title": "Enabled",
          "type": "boolean"
        },
        "mode": {
          "$ref": "#/$defs/ModerationMode",
          "default": "report"
        }
      },
      "title": "ModerationConfig",
      "type": "object"
    },
    "ModerationMode": {
      "enum": [
        "report",
        "block"
      ],
      "title": "ModerationMode",
      "type": "string"
    },
    "OutputType": {
      "enum": [
        "mp4",
        "webm",
        "hls",
        "dash",
        "audio",
        "image",
        "social",
        "gif",
        "frames"
      ],
      "title": "OutputType",
      "type": "string"
    },
    "PlaceholderConfig": {
      "properties": {
        "lqip_max_bytes": {
          "default": 4096,
          "maximum": 16384.0,
          "minimum": 256.0,
          "title": "Lqip Max Bytes",
          "type": "integer"
        },
        "lqip_quality": {
          "default": 50,
          "maximum": 100.0,
          "minimum": 1.0,
          "title": "Lqip Quality",
          "type": "integer"
        },
        "max_dimension": {
          "default": 32,
          "maximum": 100.0,
          "minimum": 8.0,
          "title": "Max Dimension",
          "type": "integer"
        },
        "source_time_sec": {
          "default": 0.0,
          "maximum": 604800.0,
          "minimum": 0.0,
          "title": "Source Time Sec",
          "type": "number"
        }
      },
      "title": "PlaceholderConfig",
      "type": "object"
    },
    "PrivacyDetector": {
      "enum": [
        "face",
        "license_plate",
        "text"
      ],
      "title": "PrivacyDetector",
      "type": "string"
    },
    "PrivacyFailureMode": {
      "enum": [
        "fail_closed",
        "report_only"
      ],
      "title": "PrivacyFailureMode",
      "type": "string"
    },
    "PrivacyRedactionConfig": {
      "additionalProperties": false,
      "description": "Explicit, bounded controls for automated visual privacy redaction.",
      "properties": {
        "box_padding_ratio": {
          "default": 0.15,
          "maximum": 0.5,
          "minimum": 0.0,
          "title": "Box Padding Ratio",
          "type": "number"
        },
        "detectors": {
          "items": {
            "$ref": "#/$defs/PrivacyDetector"
          },
          "maxItems": 3,
          "minItems": 1,
          "title": "Detectors",
          "type": "array"
        },
        "failure_mode": {
          "$ref": "#/$defs/PrivacyFailureMode",
          "default": "fail_closed"
        },
        "include_debug_observations": {
          "default": false,
          "title": "Include Debug Observations",
          "type": "boolean"
        },
        "max_frames": {
          "default": 1800,
          "maximum": 18000.0,
          "minimum": 1.0,
          "title": "Max Frames",
          "type": "integer"
        },
        "min_confidence": {
          "default": 0.6,
          "maximum": 0.99,
          "minimum": 0.3,
          "title": "Min Confidence",
          "type": "number"
        },
        "pixel_block_size": {
          "default": 24,
          "maximum": 128.0,
          "minimum": 4.0,
          "title": "Pixel Block Size",
          "type": "integer"
        },
        "privacy_strength": {
          "default": "strong",
          "enum": [
            "standard",
            "strong"
          ],
          "title": "Privacy Strength",
          "type": "string"
        },
        "sample_interval_sec": {
          "default": 0.2,
          "maximum": 30.0,
          "minimum": 0.1,
          "title": "Sample Interval Sec",
          "type": "number"
        },
        "solid_color": {
          "default": "#000000",
          "pattern": "^#[0-9A-Fa-f]{6}$",
          "title": "Solid Color",
          "type": "string"
        },
        "style": {
          "$ref": "#/$defs/PrivacyRedactionStyle",
          "default": "blur"
        }
      },
      "required": [
        "detectors"
      ],
      "title": "PrivacyRedactionConfig",
      "type": "object"
    },
    "PrivacyRedactionStyle": {
      "enum": [
        "blur",
        "pixelate",
        "solid"
      ],
      "title": "PrivacyRedactionStyle",
      "type": "string"
    },
    "SourceUrl": {
      "additionalProperties": false,
      "description": "The first extensible source object; other source kinds remain reserved.",
      "properties": {
        "url": {
          "maxLength": 2048,
          "minLength": 1,
          "title": "Url",
          "type": "string"
        }
      },
      "required": [
        "url"
      ],
      "title": "SourceUrl",
      "type": "object"
    },
    "SubtitleConfig": {
      "properties": {
        "enabled": {
          "default": false,
          "title": "Enabled",
          "type": "boolean"
        },
        "format": {
          "$ref": "#/$defs/SubtitleFormat",
          "default": "both"
        },
        "languages": {
          "items": {
            "type": "string"
          },
          "maxItems": 10,
          "minItems": 1,
          "title": "Languages",
          "type": "array"
        },
        "max_audio_minutes": {
          "default": 0,
          "maximum": 1440.0,
          "minimum": 0.0,
          "title": "Max Audio Minutes",
          "type": "integer"
        },
        "model": {
          "default": "base",
          "maxLength": 64,
          "minLength": 1,
          "title": "Model",
          "type": "string"
        },
        "translate_to_english": {
          "default": false,
          "title": "Translate To English",
          "type": "boolean"
        }
      },
      "title": "SubtitleConfig",
      "type": "object"
    },
    "SubtitleFormat": {
      "enum": [
        "srt",
        "vtt",
        "both"
      ],
      "title": "SubtitleFormat",
      "type": "string"
    },
    "ThumbnailConfig": {
      "properties": {
        "cols": {
          "default": 5,
          "maximum": 20.0,
          "minimum": 1.0,
          "title": "Cols",
          "type": "integer"
        },
        "enabled": {
          "default": false,
          "title": "Enabled",
          "type": "boolean"
        },
        "format": {
          "$ref": "#/$defs/ImageFormat",
          "default": "jpg"
        },
        "interval_sec": {
          "default": 2.0,
          "exclusiveMinimum": 0.0,
          "maximum": 86400.0,
          "title": "Interval Sec",
          "type": "number"
        },
        "max_sheets": {
          "default": 10,
          "maximum": 100.0,
          "minimum": 1.0,
          "title": "Max Sheets",
          "type": "integer"
        },
        "rows": {
          "default": 5,
          "maximum": 20.0,
          "minimum": 1.0,
          "title": "Rows",
          "type": "integer"
        },
        "tile_height": {
          "default": 90,
          "maximum": 4096.0,
          "minimum": 1.0,
          "title": "Tile Height",
          "type": "integer"
        },
        "tile_width": {
          "default": 160,
          "maximum": 4096.0,
          "minimum": 1.0,
          "title": "Tile Width",
          "type": "integer"
        }
      },
      "title": "ThumbnailConfig",
      "type": "object"
    },
    "TranscodeOutput": {
      "properties": {
        "animation": {
          "anyOf": [
            {
              "$ref": "#/$defs/AnimationConfig"
            },
            {
              "type": "null"
            }
          ]
        },
        "audio": {
          "anyOf": [
            {
              "$ref": "#/$defs/AudioOptions"
            },
            {
              "type": "null"
            }
          ]
        },
        "audiogram": {
          "anyOf": [
            {
              "$ref": "#/$defs/AudiogramConfig"
            },
            {
              "type": "null"
            }
          ]
        },
        "contact_sheet": {
          "anyOf": [
            {
              "$ref": "#/$defs/ContactSheetConfig"
            },
            {
              "type": "null"
            }
          ]
        },
        "gif_preview": {
          "anyOf": [
            {
              "$ref": "#/$defs/GifPreviewConfig"
            },
            {
              "type": "null"
            }
          ]
        },
        "images": {
          "anyOf": [
            {
              "items": {
                "$ref": "#/$defs/ImageRendition"
              },
              "maxItems": 50,
              "type": "array"
            },
            {
              "type": "null"
            }
          ],
          "title": "Images"
        },
        "path_suffix": {
          "anyOf": [
            {
              "maxLength": 128,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Path Suffix"
        },
        "placeholders": {
          "anyOf": [
            {
              "$ref": "#/$defs/PlaceholderConfig"
            },
            {
              "type": "null"
            }
          ]
        },
        "poster_format": {
          "$ref": "#/$defs/ImageFormat",
          "default": "jpg"
        },
        "poster_time_sec": {
          "default": 0.0,
          "maximum": 604800.0,
          "minimum": 0.0,
          "title": "Poster Time Sec",
          "type": "number"
        },
        "preset": {
          "anyOf": [
            {
              "maxLength": 128,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "title": "Preset"
        },
        "privacy_redaction": {
          "anyOf": [
            {
              "$ref": "#/$defs/PrivacyRedactionConfig"
            },
            {
              "type": "null"
            }
          ],
          "description": "Preview: automated privacy redaction for still-image inputs and image outputs only. Video and animated-image redaction are not available."
        },
        "remove_bg": {
          "default": false,
          "title": "Remove Bg",
          "type": "boolean"
        },
        "smart_crop": {
          "default": false,
          "title": "Smart Crop",
          "type": "boolean"
        },
        "subtitles": {
          "anyOf": [
            {
              "$ref": "#/$defs/SubtitleConfig"
            },
            {
              "type": "null"
            }
          ]
        },
        "thumbnails": {
          "anyOf": [
            {
              "$ref": "#/$defs/ThumbnailConfig"
            },
            {
              "type": "null"
            }
          ]
        },
        "type": {
          "$ref": "#/$defs/OutputType"
        },
        "video": {
          "anyOf": [
            {
              "$ref": "#/$defs/VideoOptions"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "type"
      ],
      "title": "TranscodeOutput",
      "type": "object"
    },
    "VideoOptions": {
      "properties": {
        "bitrate_bps": {
          "default": 0,
          "maximum": 2000000000.0,
          "minimum": 0.0,
          "title": "Bitrate Bps",
          "type": "integer"
        },
        "codec": {
          "anyOf": [
            {
              "maxLength": 32,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "h264, hevc, av1, vp9",
          "title": "Codec"
        },
        "fps": {
          "default": 0.0,
          "maximum": 240.0,
          "minimum": 0.0,
          "title": "Fps",
          "type": "number"
        },
        "height": {
          "default": 0,
          "maximum": 16384.0,
          "minimum": 0.0,
          "title": "Height",
          "type": "integer"
        },
        "preset": {
          "anyOf": [
            {
              "maxLength": 64,
              "type": "string"
            },
            {
              "type": "null"
            }
          ],
          "description": "fast, slow, etc.",
          "title": "Preset"
        },
        "two_pass": {
          "default": false,
          "title": "Two Pass",
          "type": "boolean"
        }
      },
      "title": "VideoOptions",
      "type": "object"
    },
    "WatermarkConfig": {
      "properties": {
        "enabled": {
          "default": false,
          "title": "Enabled",
          "type": "boolean"
        }
      },
      "title": "WatermarkConfig",
      "type": "object"
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/mediaruntime-create-job-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.