Comfy-Org/ComfyUI · error · ValueError

1080p resolution is only available for grok-imagine-video-1.

Error message

1080p resolution is only available for grok-imagine-video-1.5, not '{model}'.

What it means

Grok video generation validation: 1080p resolution is exclusive to the grok-imagine-video-1.5 model. Selecting 1080p with any other model in the dropdown raises this client-side error before the /proxy/xai/v1/videos/generations call. The message echoes the offending model id for easy diagnosis.

Source

Thrown at comfy_api_nodes/nodes_grok.py:723

                  {"type":"usd","usd": $is15 ? $total * 1.43 : $total}
                )
                """,
            ),
        )

    @classmethod
    async def execute(
        cls,
        model: str,
        prompt: str,
        resolution: str,
        aspect_ratio: str,
        duration: int,
        seed: int,
        image: Input.Image | None = None,
    ) -> IO.NodeOutput:
        if resolution == "1080p" and model != "grok-imagine-video-1.5":
            raise ValueError(f"1080p resolution is only available for grok-imagine-video-1.5, not '{model}'.")
        image_url = None
        if image is not None:
            if get_number_of_images(image) != 1:
                raise ValueError("Only one input image is supported.")
            image_url = InputUrlObject(url=f"data:image/png;base64,{tensor_to_base64_string(image)}")
        if image is None or model != "grok-imagine-video-1.5":
            validate_string(prompt, strip_whitespace=True, min_length=1)
        initial_response = await sync_op(
            cls,
            ApiEndpoint(path="/proxy/xai/v1/videos/generations", method="POST"),
            data=VideoGenerationRequest(
                model=_GROK_VIDEO_MODEL_API_IDS.get(model, model),
                image=image_url,
                prompt=prompt,
                resolution=resolution,
                duration=duration,
                aspect_ratio=None if aspect_ratio == "auto" else aspect_ratio,
                seed=seed,

View on GitHub (pinned to 1c6d8d45b3)

Solutions

  1. Switch resolution to 720p (or a supported value) when using a non-1.5 model.
  2. Switch the model to 'grok-imagine-video-1.5' to keep 1080p.
  3. After plugin updates, re-pick both values from the dropdown so stored ids match the current list.

Example fix

# before
await grok_video_generate(model='grok-imagine-video', resolution='1080p', ...)  # raises

# after
await grok_video_generate(model='grok-imagine-video-1.5', resolution='1080p', ...)
Defensive patterns

Strategy: validation

Validate before calling

if resolution == "1080p":
    assert model == "grok-imagine-video-1.5", f"1080p requires grok-imagine-video-1.5, got {model}"

Prevention

When it happens

Trigger: execute(model='grok-imagine-video' or any non-1.5 id, resolution='1080p'). The check is a simple string comparison on both values, so any alias that is not exactly 'grok-imagine-video-1.5' fails.

Common situations: Workflows saved with resolution='1080p' then run against an older model id; users switching models to save cost while keeping the 1080p setting; model list changes after a plugin update renaming model ids.

Related errors


AI-assisted analysis of Comfy-Org/ComfyUI@1c6d8d45b3 (2026-08-14). Data as JSON: /api/errors/fa7f16244ee7e3c0. Report an issue: GitHub.