NSFW POLICY GUIDES · OPENAI

OpenAI image API NSFW policy for developers, and the alternative

If you already use the OpenAI SDK, the Images API is the first thing you try for an adult product, and the first refusal you get. The policy is worth reading before you design around it.

Written for developers building a product. Policy text read on 21 September 2026 (policy dated 29 October 2025). Re-checked quarterly.

What the OpenAI image generation (gpt-image and DALL-E) policy says

Source: OpenAI Usage Policies.

[Don't use our services for] sexual violence or non-consensual intimate content
[Don't] use of someone's likeness, including their photorealistic image or voice, without their consent in ways that could confuse authenticity
[Our services] must never be used to exploit, endanger, or sexualize anyone under 18 years old

What that means if you are building on it

  • The written rules are about consent, likeness and minors. Fictional adult imagery is not listed as permitted for the API, and the image models' classifiers refuse sexual prompts, as developers document on the OpenAI community forum.
  • You carry responsibility for your users' prompts under the API terms, so an adult product means your key accumulates violations.
  • Because SpicyAPI is OpenAI-compatible, the migration is a base URL and a model name, not a rewrite.

The workarounds, and why they break

  • Prompt engineering around the classifier is unreliable and against the terms.
  • Moderation-endpoint pre-screening only tells you what will be refused; it does not make it allowed.
  • Open models on rented GPUs remove the policy and add an ops bill.

The API alternative for fictional adult content

SpicyAPI is a REST API built for adult products: uncensored text to image, image editing, image to video, text to video and chat behind one key, pay per generation from a prepaid balance, OpenAI SDK compatible. Every prompt is moderated before billing and every request is steered to depict adults only; real people without consent and minors are blocked, and image inputs must be images your account generated.

Same SDK, same images.generate call: set base_url to https://api.spicyapi.com/v1 and model to spicy-image-1 ($0.06 per image). Edits with reference images use spicy-image-edit-1.

curl https://api.spicyapi.com/v1/images/generations \
  -H "Authorization: Bearer $SPICYAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "spicy-image-1", "prompt": "a woman on a beach at golden hour, photorealistic", "size": "832*1216", "n": 1}'

Full reference in the API docs, prices on the pricing page, runnable curl, Python and Node examples in the porn-api repo. See also the porn AI API overview.

FAQ

Does the OpenAI Images API allow NSFW?

OpenAI's usage policies prohibit non-consensual sexual content, likeness misuse and anything involving minors, and the image models refuse sexual prompts in practice. There is no adult tier for the API.

How do I switch an OpenAI image integration to an adult-capable API?

Point the OpenAI SDK at https://api.spicyapi.com/v1 with a SpicyAPI key and change the model to spicy-image-1. The request and response shapes stay the same.

Does SpicyAPI allow real people or deepfakes?

No. SpicyAPI generates fictional adults only. Real people without consent, minors in any form and image inputs you did not generate yourself are blocked before billing, the same lines the mainstream platforms draw. What changes is that fictional adult content is allowed instead of refused.

Can I test it without spending money?

Yes. Create a key with Sandbox ticked and every endpoint answers with sample output at no cost, so you can build the whole integration first. Real generations are billed per call from a prepaid balance with a $50 minimum top-up by card or crypto.

Other platforms