{
  "$mulmocast": {
    "version": "1.1"
  },
  "lang": "en",
  "title": "Video Filter Test",
  "speechParams": {
    "speakers": {
      "Presenter": {
        "voiceId": "shimmer",
        "displayName": {
          "en": "Presenter"
        }
      }
    }
  },
  "beats": [
    {
      "speaker": "Presenter",
      "text": "Original.",
      "image": {
        "type": "movie",
        "source": {
          "kind": "url",
          "url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/movies/horse_galloping.mov"
        }
      }
    },
    {
      "speaker": "Presenter",
      "text": "Mono filter.",
      "movieParams": {
        "filters": [
          {
            "type": "mono"
          }
        ]
      },
      "image": {
        "type": "movie",
        "source": {
          "kind": "url",
          "url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/movies/horse_galloping.mov"
        }
      }
    },
    {
      "speaker": "Presenter",
      "text": "Sepia filter.",
      "movieParams": {
        "filters": [
          {
            "type": "sepia"
          }
        ]
      },
      "image": {
        "type": "movie",
        "source": {
          "kind": "url",
          "url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/movies/horse_galloping.mov"
        }
      }
    },
    {
      "speaker": "Presenter",
      "text": "Brightness and contrast filter.",
      "movieParams": {
        "filters": [
          {
            "type": "brightness_contrast",
            "brightness": 0.5,
            "contrast": 1.3
          }
        ]
      },
      "image": {
        "type": "movie",
        "source": {
          "kind": "url",
          "url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/movies/horse_galloping.mov"
        }
      }
    },
    {
      "speaker": "Presenter",
      "text": "Box blur filter.",
      "movieParams": {
        "filters": [
          {
            "type": "blur",
            "radius": 10,
            "power": 1
          }
        ]
      },
      "image": {
        "type": "movie",
        "source": {
          "kind": "url",
          "url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/movies/horse_galloping.mov"
        }
      }
    },
    {
      "speaker": "Presenter",
      "text": "Gaussian blur filter.",
      "movieParams": {
        "filters": [
          {
            "type": "gblur",
            "sigma": 30
          }
        ]
      },
      "image": {
        "type": "movie",
        "source": {
          "kind": "url",
          "url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/movies/horse_galloping.mov"
        }
      }
    },
    {
      "speaker": "Presenter",
      "text": "Glitch noise filter.",
      "movieParams": {
        "filters": [
          {
            "type": "glitch",
            "intensity": 40,
            "style": "noise"
          }
        ]
      },
      "image": {
        "type": "movie",
        "source": {
          "kind": "url",
          "url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/movies/horse_galloping.mov"
        }
      }
    },
    {
      "speaker": "Presenter",
      "text": "Glitch blend filter.",
      "movieParams": {
        "filters": [
          {
            "type": "glitch",
            "intensity": 40,
            "style": "blend"
          }
        ]
      },
      "image": {
        "type": "movie",
        "source": {
          "kind": "url",
          "url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/movies/horse_galloping.mov"
        }
      }
    },
    {
      "speaker": "Presenter",
      "text": "Grain filter.",
      "movieParams": {
        "filters": [
          {
            "type": "grain",
            "intensity": 50
          }
        ]
      },
      "image": {
        "type": "movie",
        "source": {
          "kind": "url",
          "url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/movies/horse_galloping.mov"
        }
      }
    },
    {
      "speaker": "Presenter",
      "text": "Combined contrast and grain filters.",
      "movieParams": {
        "filters": [
          {
            "type": "brightness_contrast",
            "brightness": 0,
            "contrast": 1.2
          },
          {
            "type": "grain",
            "intensity": 20
          }
        ]
      },
      "image": {
        "type": "movie",
        "source": {
          "kind": "url",
          "url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/movies/horse_galloping.mov"
        }
      }
    },
    {
      "speaker": "Presenter",
      "text": "Custom horizontal flip filter.",
      "movieParams": {
        "filters": [
          {
            "type": "custom",
            "filter": "hflip"
          }
        ]
      },
      "image": {
        "type": "movie",
        "source": {
          "kind": "url",
          "url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/movies/horse_galloping.mov"
        }
      }
    },
    {
      "speaker": "Presenter",
      "text": "Hue shift: green tone.",
      "movieParams": {
        "filters": [
          {
            "type": "hue",
            "hue": 120,
            "saturation": 1.8
          }
        ]
      },
      "image": {
        "type": "movie",
        "source": {
          "kind": "url",
          "url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/movies/horse_galloping.mov"
        }
      }
    },
    {
      "speaker": "Presenter",
      "text": "Vibrance: boosted saturation.",
      "movieParams": {
        "filters": [
          {
            "type": "vibrance",
            "intensity": 1.8
          }
        ]
      },
      "image": {
        "type": "movie",
        "source": {
          "kind": "url",
          "url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/movies/horse_galloping.mov"
        }
      }
    },
    {
      "speaker": "Presenter",
      "text": "Negate: inverted colors.",
      "movieParams": {
        "filters": [
          {
            "type": "negate"
          }
        ]
      },
      "image": {
        "type": "movie",
        "source": {
          "kind": "url",
          "url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/movies/horse_galloping.mov"
        }
      }
    },
    {
      "speaker": "Presenter",
      "text": "Unsharp mask: enhanced sharpness.",
      "movieParams": {
        "filters": [
          {
            "type": "unsharp",
            "luma_amount": 3
          }
        ]
      },
      "image": {
        "type": "movie",
        "source": {
          "kind": "url",
          "url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/movies/horse_galloping.mov"
        }
      }
    },
    {
      "speaker": "Presenter",
      "text": "Edge detection: wires mode.",
      "movieParams": {
        "filters": [
          {
            "type": "edgedetect",
            "mode": "wires"
          }
        ]
      },
      "image": {
        "type": "movie",
        "source": {
          "kind": "url",
          "url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/movies/horse_galloping.mov"
        }
      }
    },
    {
      "speaker": "Presenter",
      "text": "Sobel: edge detection filter.",
      "movieParams": {
        "filters": [
          {
            "type": "sobel"
          }
        ]
      },
      "image": {
        "type": "movie",
        "source": {
          "kind": "url",
          "url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/movies/horse_galloping.mov"
        }
      }
    },
    {
      "speaker": "Presenter",
      "text": "Emboss: three D effect.",
      "movieParams": {
        "filters": [
          {
            "type": "emboss"
          }
        ]
      },
      "image": {
        "type": "movie",
        "source": {
          "kind": "url",
          "url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/movies/horse_galloping.mov"
        }
      }
    },
    {
      "speaker": "Presenter",
      "text": "Vertical flip: upside down.",
      "movieParams": {
        "filters": [
          {
            "type": "vflip"
          }
        ]
      },
      "image": {
        "type": "movie",
        "source": {
          "kind": "url",
          "url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/movies/horse_galloping.mov"
        }
      }
    },
    {
      "speaker": "Presenter",
      "text": "Vignette: darkened corners.",
      "movieParams": {
        "filters": [
          {
            "type": "vignette"
          }
        ]
      },
      "image": {
        "type": "movie",
        "source": {
          "kind": "url",
          "url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/movies/horse_galloping.mov"
        }
      }
    },
    {
      "speaker": "Presenter",
      "text": "Pixelize: mosaic effect.",
      "movieParams": {
        "filters": [
          {
            "type": "pixelize",
            "width": 20,
            "height": 20
          }
        ]
      },
      "image": {
        "type": "movie",
        "source": {
          "kind": "url",
          "url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/movies/horse_galloping.mov"
        }
      }
    },
    {
      "speaker": "Presenter",
      "text": "Pseudo color: magma heat map.",
      "movieParams": {
        "filters": [
          {
            "type": "pseudocolor",
            "preset": "magma"
          }
        ]
      },
      "image": {
        "type": "movie",
        "source": {
          "kind": "url",
          "url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/movies/horse_galloping.mov"
        }
      }
    },
    {
      "speaker": "Presenter",
      "text": "Pseudo color: viridis gradient.",
      "movieParams": {
        "filters": [
          {
            "type": "pseudocolor",
            "preset": "viridis"
          }
        ]
      },
      "image": {
        "type": "movie",
        "source": {
          "kind": "url",
          "url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/movies/horse_galloping.mov"
        }
      }
    },
    {
      "speaker": "Presenter",
      "text": "Posterize: reduced color levels.",
      "movieParams": {
        "filters": [
          {
            "type": "elbg",
            "codebook_length": 16
          }
        ]
      },
      "image": {
        "type": "movie",
        "source": {
          "kind": "url",
          "url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/movies/horse_galloping.mov"
        }
      }
    },
    {
      "speaker": "Presenter",
      "text": "Chroma shift: color separation.",
      "movieParams": {
        "filters": [
          {
            "type": "chromashift",
            "cbh": 5,
            "crh": -5
          }
        ]
      },
      "image": {
        "type": "movie",
        "source": {
          "kind": "url",
          "url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/movies/horse_galloping.mov"
        }
      }
    },
    {
      "speaker": "Presenter",
      "text": "Lag fun: motion trail effect.",
      "movieParams": {
        "filters": [
          {
            "type": "lagfun",
            "decay": 0.85
          }
        ]
      },
      "image": {
        "type": "movie",
        "source": {
          "kind": "url",
          "url": "https://github.com/receptron/mulmocast-media/raw/refs/heads/main/movies/horse_galloping.mov"
        }
      }
    }
  ]
}
