MediaRuntime · Schema

RecipeCreateRequest

Media ProcessingVideoAudioRuntimeVideo EncodingAudio ProcessingImage ProcessingContent ModerationMedia APIAsynchronous Processing

Properties

Name Type Description
description string
name string
template object
View JSON Schema on GitHub

JSON Schema

mediaruntime-recipe-create-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-recipe-create-request-schema.json",
  "title": "RecipeCreateRequest",
  "x-generated": "2026-09-28",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/mediaruntime-recipes-api-openapi.yml#/components/schemas/RecipeCreateRequest",
  "properties": {
    "description": {
      "default": "",
      "maxLength": 500,
      "title": "Description",
      "type": "string"
    },
    "name": {
      "pattern": "^[a-z][a-z0-9-]{2,63}$",
      "title": "Name",
      "type": "string"
    },
    "template": {
      "$ref": "#/$defs/RecipeTemplate"
    }
  },
  "required": [
    "name",
    "template"
  ],
  "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"
    },
    "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"
    },
    "RecipeTemplate": {
      "description": "Processing policy stored in one immutable hosted-recipe version.",
      "properties": {
        "moderation": {
          "anyOf": [
            {
              "$ref": "#/$defs/ModerationConfig"
            },
            {
              "type": "null"
            }
          ]
        },
        "outputs": {
          "items": {
            "anyOf": [
              {
                "$ref": "#/$defs/TranscodeOutput"
              },
              {
                "type": "string"
              }
            ]
          },
          "maxItems": 10,
          "title": "Outputs",
          "type": "array"
        },
        "watermark": {
          "anyOf": [
            {
              "$ref": "#/$defs/WatermarkConfig"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "title": "RecipeTemplate",
      "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-recipe-create-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.