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
- Remove or rephrase flagged terms (violence, sexual content, named people, brands) in the prompt
- If using P-Image input reference imagery, replace the reference image that may be triggering the filter
- Split the prompt and test which phrase triggers the block
- 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
- Avoid named public figures, brands, and graphic terms in prompts
- If passing reference imagery, keep it policy-clean too — the filter inspects inputs
- Maintain a project-level blocklist of terms known to trip Ideogram moderation
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
- Gemini did not generate an image. Try rephrasing your prompt
- ByteDance request failed. Code: {response.error['code']}, me
- Gemini API returned no response candidates. If you are using
- Gemini API blocked the request. Reasons: {blocked_reasons}
- Gemini did not generate an image. Model response: {model_mes
AI-assisted analysis of Comfy-Org/ComfyUI@1c6d8d45b3 (2026-08-14).
Data as JSON: /api/errors/584736f92f52799e.
Report an issue: GitHub.