    def vk_get_anonym_token(self) -> dict:
        """
        Получение анонимного токена VK Video (2026).

        Больше НЕ парсит JS vkvideo.ru.
        Использует прямой OAuth endpoint login.vk.com.
        """

        # Актуальные параметры веб-клиента VK Video
        # Проверены на vkvideo.ru (июль 2026)
        client_id = "6287487"
        client_secret = "hHbZxrka2uZ6jB1inYsH"
        app_id = "6287487"
        scopes = "video,photos,groups,wall,offline"
        v = "5.199"

        params = {
             "act": "get_anonym_token"
        }

        post_data = {
            "client_id": client_id,
            "client_secret": client_secret,
            "app_id": app_id,
            "scopes": scopes,
            "isApiOauthAnonymEnabled": True,
            "version": "1"
        }

        response = WebApiRequest(headers).request_post(
            "https://login.vk.com/",
            params=params,
            data=post_data
        )

        if type(response) is dict:
            raise RuntimeError(f"VK login request failed: {response}")

        try:
            data = loads(response.text)
        except Exception as e:
            raise RuntimeError(
                f"VK login returned invalid JSON: {response.text[:300]}"
            ) from e

        if "data" not in data:
            raise RuntimeError(
                f"VK anonym token error: {dumps(data, ensure_ascii=False)}"
            )

        token_data = data["data"]

        if not token_data.get("access_token"):
            raise RuntimeError(
                f"VK access_token not found: {dumps(token_data, ensure_ascii=False)}"
            )

        # Добавляем поля, которые ожидает остальной код
        token_data["v"] = v
        token_data["client_id"] = client_id
        token_data["client_secret"] = client_secret
        token_data["app_id"] = app_id
        token_data["scopes"] = scopes

        return token_data