Comfy-Org/ComfyUI · error · ValueError

4K resolution is not supported for kling-image-o1 model.

Error message

4K resolution is not supported for kling-image-o1 model.

What it means

Raised by OmniProImageNode.execute when model_name is 'kling-image-o1' and resolution is '4K'. Note the case difference from the video nodes: the image node uses '4K'; o1 image generation tops out at 2K, so the combination is rejected before prompt validation.

Source

Thrown at comfy_api_nodes/nodes_kling.py:1435

                )
                """,
            ),
        )

    @classmethod
    async def execute(
        cls,
        model_name: str,
        prompt: str,
        resolution: str,
        aspect_ratio: str,
        series_amount: str = "disabled",
        reference_images: Input.Image | None = None,
        seed: int = 0,
    ) -> IO.NodeOutput:
        _ = seed
        if model_name == "kling-image-o1" and resolution == "4K":
            raise ValueError("4K resolution is not supported for kling-image-o1 model.")
        prompt = normalize_omni_prompt_references(prompt)
        validate_string(prompt, min_length=1, max_length=2500)
        image_list: list[OmniImageParamImage] = []
        if reference_images is not None:
            if get_number_of_images(reference_images) > 10:
                raise ValueError("The maximum number of reference images is 10.")
            for i in reference_images:
                validate_image_dimensions(i, min_width=300, min_height=300)
                validate_image_aspect_ratio(i, (1, 2.5), (2.5, 1))
            for i in await upload_images_to_comfyapi(cls, reference_images, wait_label="Uploading reference image"):
                image_list.append(OmniImageParamImage(image=i))
        use_series = series_amount != "disabled"
        if use_series and model_name == "kling-image-o1":
            raise ValueError("kling-image-o1 does not support series generation.")
        response = await sync_op(
            cls,
            ApiEndpoint(path="/proxy/kling/v1/images/omni-image", method="POST"),
            response_model=TaskStatusResponse,

View on GitHub (pinned to 1c6d8d45b3)

Solutions

  1. Set resolution to '2K' or '1080p' when using kling-image-o1
  2. Use kling-image-2 or another 4K-capable model if 4K output is required
  3. Upscale the o1 output locally if only pixel dimensions matter

Example fix

// before
model_name = "kling-image-o1"
resolution = "4K"

// after
model_name = "kling-image-o1"
resolution = "2K"
Defensive patterns

Strategy: validation

Validate before calling

def o1_image_resolution_ok(model_name: str, resolution: str) -> bool:
    return model_name != "kling-image-o1" or resolution != "4K"

Prevention

When it happens

Trigger: OmniPro image node with model_name='kling-image-o1' and the resolution combo set to '4K' (the non-o1 kling-image models do accept 4K).

Common situations: Switching the model dropdown on a 4K image workflow to try o1 without lowering resolution.

Related errors


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