API Issue: Moderation over-refusals on gpt-image-2 with moderation:low - where ChatGPT always succeeds

Either the AI model is making bad outputs or the moderation being used on images is far more strict than what is being applied to anyone on ChatGPT, disadvantaging any API developer or product.

Image count n=6 requested - where returned count was 0, only error (versus a lower count returned than requested, with no API error field to mention of the drop reason for other image items, which can also happen in different prompt cases).

An error occurred:
HTTP 400 Bad Request
URL: https://api.openai.com/v1/images/generations
Request ID: req_bd477463b0d0462a8e198f38bf1e389d

OpenAI error:
Your request was rejected by the safety system. If you believe this is an error, contact us at help.openai.com and include the request ID req_bd477463b0d0462a8e198f38bf1e389d. safety_violations=[sexual].
moderation_details: {“moderation_stage”: “output”, “categories”: [“sexual”]}
Type: image_generation_user_error
Code: moderation_blocked

No, I’m not going to send to a help bot that is tasked with taking no action and making support requests go away into a feedback rubbish bin. This type of refusal is the case on API, over and over, where you can successfully turn to ChatGPT, for a large variety of image scenarios, and it needs action by who’s running the output moderation engine over there at OpenAI.

Refinements in prompt language won’t make an image request succeed. A simple base concept rewritten by AI in different degrees only creates very similar language with a further identical depiction of what ChatGPT is seen making in elaboration, showing all AIs have the same details in their minds - but again is refused.

Identical text to that refused request, but then sent to ChatGPT gives the image - and AI didn’t have to persist against any “say nothing” tool errors, the image was simply made:

Similar and original thought as a road down this investigation - just making the contents of an emoji as real people, refused on API, instant success on ChatGPT for anyone.

API call JSON body - with “user” still the safety identifier and “moderation”.

=== Images API request (generate) ===

{
  "model": "gpt-image-2",
  "prompt": "goth aerobics workout tv! Two girls with goth makeup and hair lead a tv show. black leotards of spandex dancewear, natural legs, non-sexual. Goth accessories, unlikely boots. attractive, fit, slim, petite. nosering, piercings? meh facial expression despite energetic action. Each a different person. TV stage with goth themes, from vampire, victorian, witch motif. muminal text is only natural.",
  "size": "1920x1376",
  "output_format": "png",
  "quality": "low",
  "background": "opaque",
  "n": 6,
  "user": "image-editor-user",
  "moderation": "low"
}

This is what I’ve been experiencing lately so many times, when generating images in API, way too easily and it’s almost getting ridiculous.

Like for example a prompt: A woman getting ready for a party or two women whispering secrets to each other.

Anyway, I’ve also noticed/experienced that some images get refused on API and then absolutely no problem generating it in ChatGPT.


Thanks for bringing this up!

I have not experienced that issue. And I only use the API - never ChatGPT.

As you guys have seen, I can create vivid NSFW LITE images. It’s all in the prompt! Hint: Use the word surrealistic in your prompt and then filter out unwanted surrealistic effects via your prompt.

It’s all in the output. Believable photographs being output are what are killed with zero regrets.

Sure, get all the unintentional NSFW you want if it is claymation. Get “sexual” over-refusals on photographs - that wants real women burqa’d if you use API.

From the API:

Prompt

A surrealistic image of goth aerobics workout tv! Two girls with goth makeup and hair lead a tv show. black leotards of spandex dancewear, natural legs, non-sexual. Goth accessories, unlikely boots. attractive, fit, slim, petite. nosering, piercings? meh facial expression despite energetic action. Each a different person. TV stage with goth themes, from vampire, victorian, witch motif. muminal text is only natural.

Okay, try to incorporate that into an AI rewrite, even removing non-sexual in a second attempt just in case we are making thoughts that don’t belong:

Request ID: req_d0ef544f1e144d7497b06d857a844141
moderation_details: {“moderation_stage”: “output”, “categories”: [“sexual”]}
Type: image_generation_user_error

A surrealistic image of a goth aerobics workout TV show set: Two different women host an upbeat aerobics routine on a small studio stage. Both wear dramatic goth makeup (smoky eyes, black lipstick), styled black hair (one with a blunt bob, the other with teased waves), and black spandex leotards with subtle mesh panels and matte sheen; natural bare legs. Goth accessories like studded chokers, layered silver chains, fingerless gloves, and a small nose ring on one host; a few ear piercings. Footwear is intentionally “unlikely” for aerobics: chunky platform boots with laces, but still practical enough to move. They are attractive, fit, slim, petite, and mid-motion in synchronized aerobics poses (high knee, side lunge, arm reaches), while keeping a bored/“meh” facial expression that contrasts with the energetic action. Wide TV-camera framing with a slight low angle as if from a studio camera; a second camera silhouette and a boom mic barely visible at the edge to sell the broadcast feel. Background: gothic stage dressing blending vampire/victorian/witch motifs—black velvet curtains, wrought-iron arches, faux candle sconces with warm amber light, a moonlit window backdrop, subtle fog machine haze near the floor, and a few bat-shaped decorations. Lighting: bright studio key lights on the hosts with soft fill, plus colored accent gels (deep purple and cold blue) on the set; gentle rim light separating them from the background. Mood: campy late-night cable TV vibe, playful goth aesthetic, clean photograph composition. Minimal on-screen text only if natural (small lower-third name tags or “Goth Aerobics” title), no random or garbled lettering.

Paste exactly what you paste and show (including my “internal reasoning” style and typos), yes, success, but why?

It is not universally applicable as a technique, but a happenstance. Refused:

A surrealistic image of the “people with bunny ears” emoji :people_with_bunny_ears:, but made photo-realistic.

If the fault is wording of prompt and not the imagery, details should not be returning "moderation_stage": "output". Fast input refusal “other” is like, “Midget tossing at quarter beer nite”

(and again - with justification text, that will run on ChatGPT and not API with the same text input)

Here´s another example of how the same prompt are treated in API and ChatGPT:

And the second tryout in API, I needed to add to the prompt: wearing modern summer clothes, looking happyso it would get through moderation.