BerriAI/litellm · error · ValueError

Video is still processing (status: {status}). Please wait an

Error message

Video is still processing (status: {status}). Please wait and try again.

What it means

State guard while extracting a video URL: the task has not finished — its status is a pending/processing state — so no output URL exists yet; the caller is told to wait and retry rather than treating it as a hard failure.

Source

Thrown at litellm/llms/runwayml/videos/transformation.py:373

        return url, params

    def _extract_video_url_from_response(self, response_data: dict[str, Any]) -> str:
        """
        Helper method to extract video URL from RunwayML response.
        Shared between sync and async transforms.
        """
        # Extract video URL from the output field
        video_url = None
        if "output" in response_data and response_data["output"]:
            output: Final = response_data["output"]
            video_url = output[0] if isinstance(output, list) else output

        if not video_url:
            # Check if the video generation failed or is still processing
            status: Final = response_data.get("status", "UNKNOWN")
            if status in ["PENDING", "RUNNING", "THROTTLED"]:
                raise ValueError(f"Video is still processing (status: {status}). Please wait and try again.")
            elif status == "FAILED":
                failure_reason: Final = response_data.get("failure", "Unknown error")
                raise ValueError(f"Video generation failed: {failure_reason}")
            else:
                raise ValueError("Video URL not found in response. Video may not be ready yet.")

        return video_url

    def transform_video_content_response(
        self,
        raw_response: httpx.Response,
        logging_obj: LiteLLMLoggingObj,
    ) -> bytes:
        """
        Transform the RunwayML video content download response (synchronous).

        RunwayML's task endpoint returns JSON with a video URL in the output field.
        We need to extract the URL and download the video.

View on GitHub (pinned to 77b7c6c40c)

Solutions

  1. Poll again after waiting; the video is still processing.
  2. Increase timeout if using a blocking call.

Example fix

# wait, then retrieve the video again with the same task id.
Defensive patterns

Strategy: retry

When it happens

Trigger: Triggered when retrieving a RunwayML video that is still processing.

Common situations: See trigger scenarios.


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