Comfy-Org/ComfyUI · error · Exception

The generation was blocked by Ideogram's content safety filt

Error message

The generation was blocked by Ideogram's content safety filter. Adjust the prompt and try again.

What it means

Raised by IdeogramPImage when no image URLs came back AND at least one returned record has is_image_safe explicitly False. This is the explicit content-safety branch: Ideogram accepted the request but its safety review blocked the image from being delivered. The message tells the user the block came from Ideogram, not from ComfyUI.

Source

Thrown at comfy_api_nodes/nodes_ideogram.py:659

            quality=quality,
            resolution=resolution,
            aspect_ratio=V3_RATIO_MAP[aspect_ratio],
            prompt_upsampling=prompt_upsampling,
            seed=seed,
        )
        response = await sync_op(
            cls,
            ApiEndpoint(path="/proxy/ideogram/text-to-image/p-image-ideogram", method="POST"),
            response_model=IdeogramGenerateResponse,
            data=request,
            max_retries=1,
        )
        if not response.data:
            raise Exception("No images were generated in the response")
        image_urls = [image_data.url for image_data in response.data if image_data.url]
        if not image_urls:
            if any(image_data.is_image_safe is False for image_data in response.data):
                raise Exception(
                    "The generation was blocked by Ideogram's content safety filter. "
                    "Adjust the prompt and try again."
                )
            raise Exception("No image URLs were generated in the response")
        return IO.NodeOutput(
            await download_and_process_images(image_urls),
            response.data[0].prompt or prompt,
        )


class IdeogramExtension(ComfyExtension):
    @override
    async def get_node_list(self) -> list[type[IO.ComfyNode]]:
        return [
            IdeogramV3,
            IdeogramV4,
            IdeogramPImage,
        ]

View on GitHub (pinned to 1c6d8d45b3)

Solutions

  1. Remove or rephrase flagged terms (violence, sexual content, named people, brands) in the prompt
  2. If using P-Image input reference imagery, replace the reference image that may be triggering the filter
  3. Split the prompt and test which phrase triggers the block
  4. Consult Ideogram's content policy for the account's region
Defensive patterns

Strategy: validation

Try / catch

try:
    out = await ideogram_p_image_node(prompt=prompt)
except Exception as e:
    if "content safety filter" in str(e):
        prompt = rewrite_prompt(prompt)  # strip flagged terms
        out = await ideogram_p_image_node(prompt=prompt)
    else:
        raise

Prevention

When it happens

Trigger: Any IdeogramPImage generation whose prompt (and optional input imagery) is flagged by Ideogram's safety classifier — e.g. violent, sexual, celebrity, or trademark-heavy prompts. The response contains records with is_image_safe=False and no downloadable URL.

Common situations: Prompts with public-figure names, graphic language, or brand characters; P-Image input image itself flagged; region-specific policy differences.

Related errors


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