def METHOD_NAME(self):
    self._get_cookies()
    self.follow_vk_redirect()
    video_id = self.match.group("video_id")
    if not video_id:
        return
    log.debug(f"Video ID: {video_id}")
    try:
        data = self.session.http.post(
            self.API_URL,
            params={"act": "show"},
            data={"act": "show", "al": "1", "video": video_id},
            headers={"Referer": self.url},
            schema=validate.Schema(
                validate.transform(lambda text: re.sub(r"^\s*<!--\s*", "", text)),
                validate.parse_json(),
                {"payload": list},
                validate.get(("payload", -1)),
                list,
                validate.get(-1),
                {"player": {"params": [dict]}},
                validate.get(("player", "params", 0)),
                {
                    validate.optional("hls"): validate.url(),
                    validate.optional("manifest"): validate.startswith("<?xml"),
                    validate.optional("md_author"): validate.any(str, None),
                    validate.optional("md_title"): validate.any(str, None),
                },
            ),
        )
    except PluginError:
        log.error("Could not parse API response")
        return
    self.id = video_id
    self.author = data.get("md_author")
    self.title = data.get("md_title")
    hls = data.get("hls")
    if hls:
        return HLSStream.parse_variant_playlist(self.session, hls)
    dash_manifest = data.get("manifest")
    if dash_manifest:
        return DASHStream.parse_manifest(self.session, dash_manifest)