← Blog

November 10, 2026 · images · nsfw · guides

An NSFW image generation API: uncensored image models on one OpenAI compatible endpoint

Generate NSFW and uncensored images by API: Lustify, PornMaster, Pony, Illustrious anime, Juggernaut XL, Qwen Image 3 and more on one OpenAI compatible endpoint with no account. Models, code and which to pick.

Most image APIs refuse anything adult. OpenAI, Google and the big hosted APIs block nudity outright, and many "uncensored" sites only work in their own web app, with no API. OpenUncensored serves 17 uncensored image models, including the explicit Lustify, PornMaster and Pony checkpoints and the most popular anime models, through one OpenAI compatible endpoint. If your code already calls client.images.generate, change the base URL and it works.

The models

Model id Best for Notes
Z-Image Turbo z-image-turbo Photoreal Fast, cheap, follows plain English prompts. The best default.
Lustify v8 lustify-v8 Explicit photo SDXL fine-tune built for explicit adult photography. The most permissive photo model.
Lustify v7 lustify-v7 Explicit photo The previous Lustify release. Some prefer its skin tones.
Lustify SDXL lustify-sdxl Explicit photo The original Lustify checkpoint.
Chroma chroma General Uncensored FLUX.1-schnell derivative. Strongest at following long, detailed prompts.
Qwen Image qwen-image General Best at rendering text inside the image (signs, captions, covers).
Qwen Image 3 Uncensored qwen-image-3-uncensored Photoreal The most detailed output, at 1K or 2K. The priciest model here.
HiDream O1 Dev hidream-o1-dev Photoreal Fast 2K model that allows adult content.
Juggernaut XL juggernaut-xl Photoreal The most downloaded SDXL photoreal checkpoint. Great lighting and people.
CyberRealistic XL cyberrealistic-xl Photoreal Photoreal SDXL, especially strong on people and skin.
PornMaster pornmaster Explicit photo SDXL checkpoint for explicit adult photography.
Pony Diffusion V6 XL pony-diffusion-v6 Stylised / Pony The original Pony model for stylised and adult art. Needs score tags.
CyberRealistic Pony cyberrealistic-pony Stylised / Pony Photoreal Pony fine-tune. Pony prompt tags with realistic output.
Pony Realism pony-realism Stylised / Pony Realistic Pony fine-tune for adult content. Needs score tags.
WAI Illustrious wai-illustrious Anime The most popular Illustrious anime checkpoint. Start with "masterpiece, best quality".
Hassaku XL hassaku-xl Anime Illustrious based anime checkpoint for adult art.
NoobAI XL noobai-xl Anime Illustrious derived base trained on Danbooru and e621 tags. Prompt with booru tags.

Models marked as Civitai checkpoints run on Civitai's own generator, and their creators get a share of every image.

Every model is routed to its cheapest provider, with automatic fallback to the next one if a provider is down.

Call it

curl https://openuncensored.com/api/v1/images/generations \
  -H "Authorization: Bearer $OU_API_KEY" -H "Content-Type: application/json" \
  -d '{"model": "z-image-turbo", "prompt": "a woman in a red dress on a rooftop at night, neon city behind her, cinematic", "size": "1024x1024"}'

The response is the standard OpenAI shape: data[0].b64_json (or data[0].url for some providers) plus an ou object with the provider and the cost of the request. With the OpenAI Python SDK:

import base64, urllib.request
from openai import OpenAI

client = OpenAI(base_url="https://openuncensored.com/api/v1", api_key="ou-...")

result = client.images.generate(
    model="lustify-v8",
    prompt="boudoir photo of a woman in her thirties, soft window light, 85mm, film grain",
    size="1024x1536",
)
image = result.data[0]
data = base64.b64decode(image.b64_json) if image.b64_json else urllib.request.urlopen(image.url).read()
open("boudoir.png", "wb").write(data)

Parameters

  • model: an id from the table, or GET https://openuncensored.com/api/v1/images/models for the live list with prices.
  • prompt: up to 8000 characters.
  • size: 1024x1024 (default), 1024x1536, 1536x1024, 1024x1792, 1792x1024 or 512x512.
  • n: 1 to 4 images. Each one is billed.
  • negative_prompt: what to keep out of the image, for the Civitai checkpoints, for example "blurry, extra fingers, watermark".

Nothing is stored on our side: the image comes back in the response and is gone from our servers.

Which one to pick

  • Photoreal, safe default: z-image-turbo. Fast and cheap, and good at plain sentences.
  • Explicit photography: lustify-v8, or pornmaster and cyberrealistic-xl for a different look.
  • Anime and hentai style: wai-illustrious or noobai-xl with booru style tags.
  • Stylised and furry art: pony-diffusion-v6 with Pony score tags.
  • Highest detail: qwen-image-3-uncensored at 1536x1024 or larger, which it renders at 2K.

The prompting guide compares them in more detail, with the prompt format each one expects.

No code? Use the desktop app

The OpenUncensored desktop app has the same image models built in as a tool. Ask its uncensored assistant for a picture in plain words and it writes the prompt, picks a model and saves the images to a folder on your Mac.

What is allowed

Adult content between adults is allowed on every model listed here. Three things are not, and the providers refuse them: anything involving minors or anyone who looks underage, real people (celebrities, people you know, lookalikes) without their consent, and non consensual imagery. If you publish what you make, label it as AI generated and follow the rules of the site you post on.

Get a key

No account and no sign up. Buy prepaid credits at openuncensored.com/credits and you get an ou-... key. The same key works for every text and image model, in the API, the playground and the desktop app. Each image is billed from your credits, typically one to five cents; the models page shows the live price of each one.

Frequently asked questions

Is there an API for NSFW image generation?

Yes. OpenUncensored serves uncensored image models, including explicit SDXL checkpoints such as Lustify and PornMaster, Pony models and Illustrious anime models, through an OpenAI compatible /v1/images/generations endpoint. Adult content between adults is allowed.

Does the OpenAI SDK work with it?

Yes. Set the base URL to https://openuncensored.com/api/v1, use an OpenUncensored key and call client.images.generate with one of the image model ids.

What is not allowed?

Anything involving minors or people who look underage, real people without their consent, and non consensual imagery. Providers refuse those requests.

How much does an image cost?

Typically one to five cents per image depending on the model, paid from prepaid credits. The models page shows the live price of each model.