Uncensored AI image generator API: price per image

What one image costs with the safety checker off: live prices for every uncensored AI image generator and edit model on one key, per size and per 100 images.

Published October 25, 2026 · prices as of October 27, 2026

Every uncensored AI image generator on this key, priced per image with the safety checker off: 11 image models and 18 price tiers, read from the live catalog on 2026-10-27. The table comes first, then what each model is for, what 100 and 1,000 images cost, where other APIs do better, and the exact request.

Price per image with the safety checker off

Every row is a price tier of an uncensored image model on this key, read from the live catalog on 2026-10-27 and sorted by price per image. A tier is the settings the price applies to; the first tier that matches a request is the one charged. The 100-image column is that price times 100, nothing added.

ModelSettingsPer image100 imagesImages per $10
CyberRealistic XL Uncensoredsize 512x512$0.0136$1.36735
WAI Illustrious SDXL Uncensoredsize 512x512$0.0136$1.36735
CyberRealistic XL Uncensoredany settings$0.0204$2.04490
WAI Illustrious SDXL Uncensoredany settings$0.0204$2.04490
CyberRealistic XL Uncensoredsize 2048x2048$0.0272$2.72367
WAI Illustrious SDXL Uncensoredsize 2048x2048$0.0272$2.72367
Anime Image Uncensoredresolution 1K$0.03$3.00333
Lustify SDXL Uncensoredany settings$0.0313$3.13319
Seedream 5.0 Lite Edit Uncensoredany settings$0.0313$3.13319
Qwen Image 2.1 Uncensoredresolution 1K$0.0375$3.75266
Vision Image Uncensoredany settings$0.04$4.00250
Anime Image Uncensoredresolution 2K$0.045$4.50222
Chroma Uncensoredany settings$0.08$8.00125
Qwen Edit Uncensoredany settings$0.08$8.00125
Qwen Image 3 Uncensoredany settings$0.08$8.00125
Vision Pro Image Uncensoredresolution 1K$0.0938$9.38106
Vision Pro Image Uncensoredresolution 2K$0.0938$9.38106
Qwen Image 2.1 Uncensoredresolution 2K$0.20$20.0050

11 image models, 18 base tiers, 7 of the 11 with enable_safety_checker defaulting to false. The same catalog feeds the image and video models page, each model’s own page and the console, so the number you see here is the number the request is charged.

Prices are per output image. A request with n: 4 on a model that takes n is charged four times the tier price. Resolution picks the tier on the models that have more than one; the aspect ratio never changes the price.

Which uncensored AI image generator to pick

Pick an edit model (Qwen Edit Uncensored, Seedream 5.0 Lite Edit Uncensored) when the job starts from an image you already have. Pick a text-to-image model when it starts from a prompt, and among those choose by the settings you need, since the price gap between the base tiers is $0.0136 to $0.20 per image.

Anime Image Uncensored

Anime and illustration styles from a text prompt. The negative prompt and the seed are plain settings, so a character sheet can be reproduced frame to frame. From $0.03 per image at resolution 1K; settings: size 1:1, 3:2, 2:3, 4:3, 3:4, 16:9, 9:16, 21:9; resolution 1K or 2K; output png, jpeg; negative prompt; seed. Model id anime-image-uncensored.

Chroma Uncensored

A general text-to-image model with one price for any setting, so a 2K render costs the same as a 1K one. From $0.08 per image; settings: size 1:1, 4:3, 3:4, 16:9, 9:16, 2:3, 3:2, 21:9; resolution 1K or 1.5K or 2K; output jpeg, png. Model id chroma-uncensored.

CyberRealistic XL Uncensored

CyberRealistic XL Uncensored is an uncensored image model on this key. From $0.0136 per image at size 512x512; settings: size 1024x1024, 1024x768, 768x1024, 1408x1024, 1024x1408, 1920x1088, 1088x1920, 512x512, 2048x2048; up to 4 images per request. Model id cyberrealistic-xl-uncensored.

Lustify SDXL Uncensored

An SDXL-family build with one price for any size and up to 15 images per request, for batches of a fixed style. From $0.0313 per image; settings: size 2K, 3K, 1:1, 4:3, 3:4, 16:9, 9:16, 3:2, 2:3, 21:9; up to 15 images per request; an optional reference image. Model id lustify-sdxl-uncensored.

Qwen Edit Uncensored

Qwen Edit Uncensored is an uncensored image model on this key. From $0.08 per image; settings: up to 4 images per request; a source image is required. Model id qwen-edit-uncensored.

Qwen Image 2.1 Uncensored

Text to image and image editing in one model: send image_urls to edit, mask_url to edit one region, and background transparent for cut-outs. From $0.0375 per image at resolution 1K; settings: size 1:1, 4:3, 3:4, 3:2, 2:3, 16:9, 9:16, 21:9, 9:21, auto; resolution 1K or 2K; output png, webp, jpeg; seed; mask; an optional reference image. Model id qwen-image-2.1-uncensored.

Qwen Image 3 Uncensored

Qwen Image 3 Uncensored is an uncensored image model on this key. From $0.08 per image; settings: resolution 1K or 2K; up to 4 images per request. Model id qwen-image-3-uncensored.

Seedream 5.0 Lite Edit Uncensored

An edit model: every call starts from an image you send. One price for any size, and n goes up to 15 variations per request. From $0.0313 per image; settings: size 2K, 3K, 1:1, 4:3, 3:4, 16:9, 9:16, 3:2, 2:3, 21:9; up to 15 images per request; a source image is required. Model id seedream-5.0-lite-edit-uncensored.

Vision Image Uncensored

One price for any setting and an optional reference image, for fast drafts at a known cost. From $0.04 per image; settings: size 1:1, 4:3, 3:4, 16:9, 9:16; an optional reference image. Model id vision-image-uncensored.

Vision Pro Image Uncensored

The higher-quality sibling of Vision Image, with 1K and 2K output and jpeg or png. From $0.0938 per image at resolution 1K; settings: size 1:1, 4:3, 3:4, 16:9, 9:16, 2:3, 3:2, 21:9; resolution 1K or 2K; output jpeg, png. Model id vision-pro-image-uncensored.

WAI Illustrious SDXL Uncensored

WAI Illustrious SDXL Uncensored is an uncensored image model on this key. From $0.0136 per image at size 512x512; settings: size 1024x1024, 1024x768, 768x1024, 1408x1024, 1024x1408, 1920x1088, 1088x1920, 512x512, 2048x2048; up to 4 images per request. Model id illustrious-xl-uncensored.

Lustify SDXL Uncensored and Qwen Image 2.1 Uncensored and Vision Image Uncensored take image_urls as an option, so one model id covers both a fresh render and a variation of a reference. Anime Image Uncensored, CyberRealistic XL Uncensored, Qwen Image 2.1 Uncensored, Vision Pro Image Uncensored, WAI Illustrious SDXL Uncensored price 1K and 2K output differently, so the resolution you send is the cost lever on those models.

By job, then. Product variations and background swaps go to an edit model, because the source image is the brief. Anime and illustration go to the anime model, where the negative prompt and the seed keep a character consistent across a set. Images with text in them, or cut-outs on a transparent background, go to Qwen Image, which lists both settings. Fast drafts at volume go to the Vision model with one tier for any setting, and the final render of the same brief goes to Vision Pro or Chroma at 2K. Every one of these answers the same endpoint with the same key, so switching is a change of model id and nothing else.

Video is the same key and the same catalog. LTX-2.3 Image-to-Video Uncensored, Wan 3.0 Image-to-Video Uncensored, Wan 3.0 Video Uncensored is priced per second of output, by resolution. The per-second table is in the uncensored video generator API post and on the LTX-2.3 Image-to-Video Uncensored page.

Settings that change the price, and settings that do not

On the image endpoint, size is OpenAI’s WIDTHxHEIGHT string. The API reads the two numbers, picks the nearest aspect ratio the model lists, and on a model with a resolution setting picks the resolution from the longer side. The ratio never changes the price; the resolution can. A model whose size parameter accepts free pixel values is sent the size as written.

resolution is the setting that moves the price. Anime Image Uncensored, CyberRealistic XL Uncensored, Qwen Image 2.1 Uncensored, Vision Pro Image Uncensored, WAI Illustrious SDXL Uncensored have a 1K tier and a 2K tier. Chroma Uncensored, Lustify SDXL Uncensored, Qwen Edit Uncensored, Qwen Image 3 Uncensored, Seedream 5.0 Lite Edit Uncensored, Vision Image Uncensored have one tier for any setting, so the largest size costs what the smallest does. When the tier matters, set resolution yourself under input instead of inferring it from size. An explicit setting wins over the mapped one, and the charge follows the setting the model receives.

n multiplies. CyberRealistic XL Uncensored (up to 4) and Lustify SDXL Uncensored (up to 15) and Qwen Edit Uncensored (up to 4) and Qwen Image 3 Uncensored (up to 4) and Seedream 5.0 Lite Edit Uncensored (up to 15) and WAI Illustrious SDXL Uncensored (up to 4) make several images in one request and charge the tier price for each. A model without n answers a request for two images with a 400 that says to send two requests, and charges nothing. Sending four requests of one image and one request of four cost the same; the single request is one connection and one generation id.

Free settings, where a model lists them: output_format (png, jpeg or webp), seed for a repeatable result, negative_prompt for what to keep out of the frame, background: "transparent" for cut-outs, and prompt_extend, on by default where it exists, which lets the model rewrite a short prompt into a fuller one before rendering. Turn prompt_extend off when the prompt must be followed to the letter, for a product shot or a layout with text. None of these changes the tier.

enable_safety_checker is listed on 7 of the 11 image models with a default of false. Leaving it out of the request is the same as sending false, and the price is the same either way; there is no separate charge and no separate model id for the unfiltered path.

What a batch costs

The catalog prices are small enough that the batch size is what moves the bill, so here is the same arithmetic at 100 and 1,000 images, each model at its base tier. Balance is prepaid: the minimum top-up is $10, and bonus credit is added at +5% at $200, +10% at $500, +15% at $1,000, so a $200 top-up settles 5% more images than the table shows. The bonus tiers come from the same constants the console uses.

ModelBase tierPer image100 images1,000 images
Anime Image Uncensoredresolution 1K$0.03$3.00$30.00
Chroma Uncensoredany settings$0.08$8.00$80.00
CyberRealistic XL Uncensoredsize 512x512$0.0136$1.36$13.60
Lustify SDXL Uncensoredany settings$0.0313$3.13$31.30
Qwen Edit Uncensoredany settings$0.08$8.00$80.00
Qwen Image 2.1 Uncensoredresolution 1K$0.0375$3.75$37.50
Qwen Image 3 Uncensoredany settings$0.08$8.00$80.00
Seedream 5.0 Lite Edit Uncensoredany settings$0.0313$3.13$31.30
Vision Image Uncensoredany settings$0.04$4.00$40.00
Vision Pro Image Uncensoredresolution 1K$0.0938$9.38$93.80
WAI Illustrious SDXL Uncensoredsize 512x512$0.0136$1.36$13.60

Two workloads, costed from the same rows. A storefront with 250 products and four variations of each is 1,000 edits, which is $80.00 on Qwen Edit Uncensored. A 24-page comic at six panels a page is 144 panels, which is $4.32 at 1K on Anime Image Uncensored and $6.48 at 2K. Neither needs a plan: the balance is debited per image as each generation is accepted, and a re-roll of one panel costs one panel.

Two rules keep the arithmetic honest. The price is quoted from the request before anything runs and charged when the model accepts the task, so a batch never costs more than the tier times the count. A generation that fails is refunded in full, automatically, so a failed run is not in the bill.

For a per-token comparison of the chat side of the same key, the pricing page lists every chat model’s input and output rate from the same live catalog.

Where other image APIs win, and where this one does

Venice sells its image, text, video and audio models behind one API dashboard with zero data retention, and its consumer app comes with the same account; that is one place to read everything. Its API and plan prices change and are not on record here, so read them on venice.ai/pricing rather than from a number in this post (description read from Google’s results page on 2026-10-19).

The first organic result for “uncensored ai image generator api” is a post that names the exact models behind its endpoint (Seedream 5.0 Lite and Seedream 4.5 builds, per its page title on 2026-10-19). Naming the model is the right way to sell an image API, and this post does the same.

Self-hosting wins on marginal cost and on control. The Reddit threads on this query and the local studios on GitHub run checkpoints on the user’s own GPU, where an image costs electricity and the checkpoint, the LoRA and the sampler are all yours to pick (results page read 2026-10-19). What it costs is the card, the setup and the hours a batch takes on one machine. An API with a per-image price wins when there is no GPU in the loop, when the batch has to run from a server, a phone or an agent, and when the number on the bill has to be known before the job starts.

The consumer tools on the same results page, Perchance and Mage among them, win for a person who wants a web page and no key at all. This post is for the other case: a script, an app or an agent that calls an endpoint and needs the price per call.

Where this key wins is the arithmetic above. The price per image is on the model page, in the catalog endpoint and in this table before the first call, and it is the same number in all three. The request is OpenAI’s image format, so the SDK you already use needs a base URL and a key, nothing else. The image models and the chat models share one prepaid balance and one key, there is no subscription, and a failed generation is refunded without a ticket. Each image model page, such as Anime Image Uncensored, carries its own tier table and a first request to copy.

The request: generate, edit, or submit and poll

One image, the OpenAI way. size is width by height in pixels; the API maps it onto the model’s own aspect ratio and resolution settings, and n maps onto the model’s image count where it has one.

curl
1curl https://api.uncensoredllm.ai/v1/images/generations \
2 -H "Authorization: Bearer sk-ullm-live-…" \
3 -H "Content-Type: application/json" \
4 -d '{"model": "qwen-image-2.1-uncensored", "prompt": "a lighthouse at dusk, oil on canvas", "size": "1024x1024", "n": 1}'

The call waits for the image, up to about 100 seconds, and answers with a URL on this API. Generated files are kept for 30 days.

json
1{
2 "id": "<generation id>",
3 "created": <unix seconds>,
4 "data": [{ "url": "https://api.uncensoredllm.ai/v1/files/<path>.png" }]
5}

The same request through the OpenAI Python SDK. Anything a model takes beyond the OpenAI fields goes under input in extra_body; here the resolution is set outright and a negative prompt is added, both settings the anime model lists in the catalog.

main.py
1from openai import OpenAI
2
3client = OpenAI(base_url="https://api.uncensoredllm.ai/v1", api_key="sk-ullm-live-…")
4
5image = client.images.generate(
6 model="anime-image-uncensored",
7 prompt="a courier on a rooftop at night, rain, neon signs, anime key visual",
8 size="2048x2048",
9 extra_body={"input": {"resolution": "2K", "negative_prompt": "text, watermark", "output_format": "jpeg"}},
10)
11print(image.data[0].url)

An edit starts from an image you send. The edit models require image_urls; the text-to-image models that list it take it as an option.

curl
1curl https://api.uncensoredllm.ai/v1/images/generations \
2 -H "Authorization: Bearer sk-ullm-live-…" \
3 -H "Content-Type: application/json" \
4 -d '{"model": "qwen-edit-uncensored", "prompt": "replace the sky with a thunderstorm, keep the building", "input": {"image_urls": ["https://example.com/source.png"]}}'

For a batch that should not hold a connection open, submit to /v1/generations with the model’s own settings under input. The API answers 202 Accepted at once with the generation id and its price, and you fetch the result when it is done.

curl
1curl https://api.uncensoredllm.ai/v1/generations \
2 -H "Authorization: Bearer sk-ullm-live-…" \
3 -H "Content-Type: application/json" \
4 -d '{"model": "qwen-image-2.1-uncensored", "input": {"prompt": "a lighthouse at dusk", "resolution": "2K", "size": "16:9"}}'
5# 202 with the generation id and its price; then
6curl https://api.uncensoredllm.ai/v1/generations/<generation id> -H "Authorization: Bearer sk-ullm-live-…"

Ask for response_format: "b64_json" on the image endpoint to get the bytes inline instead of a URL, exactly as OpenAI’s image reference describes it. The base URL, key and model id are the three settings every client needs; the docs page shows them for the OpenAI SDK.

No safety checker runs on the prompt or the output of these builds; enable_safety_checker is a plain parameter that defaults to off. The one rule the API itself enforces on every uncensored model: no prompt may depict a minor, and such a request is refused with content_not_allowed before anything is charged.

The URL in the answer is on this API and stays valid for 30 days; copy the file to your own storage inside that window. Request bodies are not stored by default, so the prompt is not kept once the image is made, unless the key opts in to the 7-day replay in the console.

What each error costs

The image endpoint answers every failure in the same error shape, and the charge rule is short: nothing is charged before the model accepts the task, and a task the model fails is refunded. The codes, from the API reference:

  • 400 invalid_request: a setting is out of range, the model makes video rather than images, or n went to a model that makes one image per request. Nothing charged.
  • 401 invalid_api_key and 403 scope_denied: the key is wrong, or the key is scoped to other model ids. Nothing charged.
  • 402 insufficient_balance, spend_cap_reached or monthly_limit_reached: the balance, or a limit you set on the key in the console, would not cover the quoted price. Nothing charged; top up or raise the limit and resend.
  • 404 model_not_found: the id is not in GET /v1/catalog/media. Nothing charged.
  • 413: the body is over 1 MB. Send image URLs rather than inline data.
  • 429 rate_limited, or its busy-model variant: retry with backoff. Nothing charged.
  • 502 generation_failed: the model could not complete the image. Nothing is charged, and a charge already taken comes back to the balance.
  • 504 generation_pending: the image endpoint waited its full window and the model is still working. This one is charged, because the task continues; the generation id is in the response, and the file arrives at GET /v1/generations/{id}.

For a batch, the practical reading is that only two outcomes cost money: a finished image at its tier price, and a pending one that finishes later at the same price. Every other answer leaves the balance where it was.

How the per-image price is set

Each model carries a list of tiers in GET /v1/catalog/media. A tier has a when object naming the settings it covers, a price_usd per unit to four decimals, and list_usd, the developer’s own price when the developer publishes one. The tiers are checked in order and the first match is charged, so a model with one tier and an empty when costs the same at every size.

  • Resolution is the only setting that changes the price on the models with more than one tier; the aspect ratio, the output format and the seed do not.
  • n multiplies the tier price by the image count. A model without an n parameter makes one image per request, and the API says so instead of charging twice.
  • An add-on tier, when a model has one, is added to the base tier for the settings it names; the table above lists add-ons separately.
  • A failed generation is refunded in full. A generation still running after the image endpoint’s wait is charged and continues; its id is in the 504 answer and the file arrives at the generations endpoint.

A script can read the tiers the same way this page does, without a key, and decide the resolution per job from the live number:

sh
1curl -s https://api.uncensoredllm.ai/v1/catalog/media | jq '.data[] | select(.id == "qwen-image-2.1-uncensored") | .pricing'

The answer is the list of tiers for that id, each with its when and price_usd. Cache it for a few minutes; the catalog changes when a model is added or re-priced, and the page you are reading is rebuilt from it on the same schedule.

The console shows the same tiers next to a panel that runs the model with one of your keys, so a price can be checked against a real charge before a batch is scripted. The media page is the list; this post is the per-image arithmetic on top of it, refreshed from the catalog each time it is rendered.

Questions

Yes. Qwen Edit Uncensored edits an image you send in image_urls, with no safety checker on the prompt, at $0.08 per output image on this key. Qwen Image 2.1 Uncensored also edits when image_urls is set and takes a mask_url for one region. See the Qwen Edit Uncensored page.

Lustify SDXL Uncensored and Qwen Image 2.1 Uncensored and Vision Image Uncensored take an optional reference image in image_urls, and the edit models require one. Send the URL of your image in the request and the model works from it instead of from a blank canvas.

Any of the 11 image models on this key: their safety checker is off by default and the prompt is not filtered. Chroma Uncensored is $0.08 per image at any setting, and Qwen Image 2.1 Uncensored is from $0.0375. See every uncensored image and video model.

Create a key in the console, point the OpenAI SDK at https://api.uncensoredllm.ai/v1, and call images.generate with a model id such as qwen-image-2.1-uncensored. The response carries a URL to the image, and the charge is the model's tier price times n. See the setup page.

Venice publishes its own API and plan prices and they change; this post does not quote them. Read venice.ai/pricing for the current figure, and compare it with the per-image table above, which is read from this catalog at render.

Yes, as chroma-uncensored on this key, $0.08 per image with one tier for any setting, through the OpenAI image endpoint or the generations endpoint. See the Chroma Uncensored page.

Get a keyPrepaid from $10, no subscription.

New models and price changes, once a month.

New uncensored builds with their prices, price moves, and what the daily model check found.