BerriAI/litellm · error · ValueError

video support download is not supported for {custom_llm_prov

Error message

video support download is not supported for {custom_llm_provider}

What it means

Provider-support check in video download: decoding video_id (or the explicit argument) resolved a provider with no video download implementation, so the content fetch is rejected before any HTTP call.

Source

Thrown at litellm/videos/main.py:333

        litellm_call_id: Final[str | None] = kwargs.get("litellm_call_id", None)
        _is_async: Final = kwargs.pop("async_call", False) is True

        # Try to decode provider from video_id if not explicitly provided
        if custom_llm_provider is None:
            decoded: Final = decode_video_id_with_provider(video_id)
            custom_llm_provider = decoded.get("custom_llm_provider") or "openai"

        # get llm provider logic
        litellm_params: Final = GenericLiteLLMParams(**kwargs)

        # get provider config
        video_provider_config: Final[BaseVideoConfig | None] = ProviderConfigManager.get_provider_video_config(
            model=None,
            provider=litellm.LlmProviders(custom_llm_provider),
        )

        if video_provider_config is None:
            raise ValueError(f"video support download is not supported for {custom_llm_provider}")

        local_vars.update(kwargs)
        # For video content download, we don't need complex optional parameter handling
        # Just pass the basic parameters that are relevant for content download
        video_content_request_params: Final[dict] = {
            "video_id": video_id,
        }

        # Pre Call logging
        litellm_logging_obj.update_from_kwargs(
            kwargs=kwargs,
            model="",
            user=kwargs.get("user"),
            optional_params=dict(video_content_request_params),
            litellm_params={
                "litellm_call_id": litellm_call_id,
                **video_content_request_params,
            },

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Use a provider that supports downloading generated videos, or implement it in a custom provider wrapper for {custom_llm_provider}.
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at litellm/videos/main.py:333 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of BerriAI/litellm@77b7c6c40c (2026-08-18). Data as JSON: /api/errors/beac440be01864b2. Report an issue: GitHub.