license: cc-by-4.0
task_categories:
- text-to-image
language: - en
tags: - erotic
- prompt
- caption
- LoRA
- benchmark
- test
- nsfw
- not-for-all-audiences
pretty_name: Erotic Image Prompts
size_categories: - 10K<n<100K
configs: - config_name: default
data_files:- split: train
path: captions.parquet
features: - name: Caption
dtype: string - name: Aspect Ratio
dtype: string - name: Nudity
dtype: string - name: Artistic Quality
dtype: float32 - name: Erotic Score
dtype: float32 - name: Pornographic Score
dtype: float32 - name: Males
dtype: int32 - name: Females
dtype: int32 - name: Clothing
dtype:
sequence: string
- split: train
Dataset Card for Erotic Image Prompts
Dataset Description
Dataset Summary
Large language models (LLMs) are surprisingly bad at creatively inventing new things, even though they are masters of hallucination. Asking an LLM — even an abliterated one — to produce a list of random erotic prompts therefore yields a rather boring, narrow-minded result. This is easy to overcome: give the model some inspiration and let it do what it does best — transform that inspiration into prompts in the style you need.
This dataset contains more than 80,000 erotic-leaning text-to-image prompts, focused on mainstream tastes and female subjects. The author is convinced that erotic and pornographic are different topics, while acknowledging that they are not strictly orthogonal.
To make it easy to reduce the large collection to a workable subset, each prompt is accompanied by metadata and a suggested aspect ratio.
Languages
All prompts are written in English.
Dataset Structure
Data Fields
Each entry consists of a text prompt plus the following metadata fields:
| Field | Description |
|---|---|
Caption |
The prompt itself. Every person in the prompt is named in order of appearance (see Naming convention below). |
Artistic Quality |
A subjective score for quickly filtering on artistic quality. |
Erotic Score |
A subjective score for quickly filtering on erotic content. |
Pornographic Score |
A subjective score for quickly filtering on pornographic content. |
Aspect Ratio |
A suggested aspect ratio for an image generated from this prompt. Only a hint — you do not need to follow it. |
Nudity |
A category to quickly filter the kind of prompts you want to work with. |
Males |
The number of male persons in the prompt. |
Females |
The number of female persons in the prompt. |
Clothing |
A list of the garments and related items worn in this prompt. |
Note on the score columns:
Artistic Quality,Erotic Score, andPornographic Scorewere generated by an LLM in a zero-shot fashion and independently of every other prompt in the set. Expect heavy hallucination in these three values and never use them for training purposes. Their reliability is expected to be very poor; they are provided only as a service to very quickly reduce the number of prompts for further processing.
The same data is provided twice: captions.parquet is the data file used by the dataset viewer and by the datasets library (Clothing is a real list of tags); captions.csv is a plain-file twin with identical rows and columns, where Clothing is written as a tag string list, e.g. ['fabric', 'lace', 'top'] ([] when no garment is mentioned). The CSV is meant for tools that read files instead of using a library; its Clothing cell is a Python list literal, so ast.literal_eval() turns it back into a list.
Naming Convention
Every person in a prompt is given a placeholder name, in order of appearance:
- Women:
Alice,Bella,Clara,Diana,Emma - Men:
Adam,Bob,Charlie,David,Eric
To test a character LoRA, simply replace Alice (or Adam) with the trigger word for your character.
Data Splits
The dataset is provided as a single set, with no predefined train/validation/test split.
Dataset Creation
The prompts were created by having an LLM transform source inspiration material into erotic text-to-image prompts in the required style, rather than generate them from scratch.
Considerations for Using the Data
Discussion of Biases
Erotic is a highly subjective matter, so expect strong bias. To mitigate this, the sample size is large, so with some filtering you should be able to obtain a subset that matches the bias you have in mind more closely. Even then, the underlying content reflects what people generally consider "vanilla", so special interests are barely covered — or not included at all.
Known Limitations
The Artistic Quality, Erotic Score, and Pornographic Score fields are LLM-generated and unreliable (see the note above). Do not treat them as ground truth.
Safety
As erotic is a sensitive topic, take care with regard to safety. Never create images depicting real persons who have not given clear consent, and only use these prompts to depict persons who, in reality and visually, meet the legally required minimum age.
How to Use
You can use any tool that accepts text prompts. For convenience with ComfyUI, you can use the provided workflow, which combines the Hugging Face dataset and the Basic Data Handling custom nodes as the input to the official Krea 2 Turbo workflow example.
Use Cases
These prompts are ideal for testing the capabilities of a text-to-image model. They can be used as-is, or with the placeholder name(s) replaced by trigger words to test character adapters (LoRA, LoKR, …) in erotic images.
To adapt the prompt style to the convention of a specific text-to-image model or do some substantial changes like
setting an image style it is recommended to use an LLM to translate the relevant prompts of this dataset to the
requirements of the intended use case.
Statistics
82880 prompts in captions.csv / captions.parquet.
Count of Persons
| Females | |||||||
|---|---|---|---|---|---|---|---|
| 0 | 1 | 2 | 3 | 4 | 5 | ||
| Males | 0 | 0 | 75978 | 4217 | 615 | 42 | 4 |
| 1 | 391 | 1515 | 56 | 19 | 6 | 0 | |
| 2 | 7 | 8 | 7 | 6 | 2 | 0 | |
| 3 | 0 | 0 | 6 | 1 | 0 | 0 | |
Aspect Ratio
| value | count | share | distribution |
|---|---|---|---|
| 2:3 | 49920 | 60.23% | ████████████████████████████████████████ |
| 3:2 | 28204 | 34.03% | ███████████████████████ |
| 4:3 | 2360 | 2.85% | ██ |
| 3:4 | 1980 | 2.39% | ██ |
| 1:1 | 206 | 0.25% | █ |
| 16:9 | 152 | 0.18% | █ |
| 4:5 | 25 | 0.03% | █ |
| 5:4 | 21 | 0.03% | █ |
| 9:16 | 6 | 0.01% | █ |
| 9:21 | 5 | 0.01% | █ |
| 21:9 | 1 | 0.00% | █ |
| total | 82880 | 100.00% |
Nudity
| value | count | share | distribution |
|---|---|---|---|
| none | 2265 | 2.73% | ██ |
| partial | 40146 | 48.44% | ████████████████████████████████████████ |
| full | 40469 | 48.83% | ████████████████████████████████████████ |
| total | 82880 | 100.00% |
Artistic Quality (0.1 bins)
| value | count | share | distribution |
|---|---|---|---|
| 0.0-0.1 | 0 | 0.00% | |
| 0.1-0.2 | 32 | 0.04% | █ |
| 0.2-0.3 | 306 | 0.37% | █ |
| 0.3-0.4 | 2881 | 3.48% | ███ |
| 0.4-0.5 | 3802 | 4.59% | ███ |
| 0.5-0.6 | 675 | 0.81% | █ |
| 0.6-0.7 | 24880 | 30.02% | ███████████████████████ |
| 0.7-0.8 | 43571 | 52.57% | ████████████████████████████████████████ |
| 0.8-0.9 | 6722 | 8.11% | ██████ |
| 0.9-1.0 | 11 | 0.01% | █ |
| total | 82880 | 100.00% |
Erotic Score (0.1 bins)
| value | count | share | distribution |
|---|---|---|---|
| 0.0-0.1 | 46 | 0.06% | █ |
| 0.1-0.2 | 713 | 0.86% | █ |
| 0.2-0.3 | 788 | 0.95% | █ |
| 0.3-0.4 | 1203 | 1.45% | █ |
| 0.4-0.5 | 2070 | 2.50% | ██ |
| 0.5-0.6 | 567 | 0.68% | █ |
| 0.6-0.7 | 16261 | 19.62% | ███████████████████ |
| 0.7-0.8 | 15576 | 18.79% | ██████████████████ |
| 0.8-0.9 | 34394 | 41.50% | ████████████████████████████████████████ |
| 0.9-1.0 | 11262 | 13.59% | █████████████ |
| total | 82880 | 100.00% |
Pornographic Score (0.1 bins)
| value | count | share | distribution |
|---|---|---|---|
| 0.0-0.1 | 20585 | 24.84% | ████████████████████████████████████████ |
| 0.1-0.2 | 9861 | 11.90% | ███████████████████ |
| 0.2-0.3 | 12320 | 14.86% | ████████████████████████ |
| 0.3-0.4 | 16480 | 19.88% | ████████████████████████████████ |
| 0.4-0.5 | 2756 | 3.33% | █████ |
| 0.5-0.6 | 540 | 0.65% | █ |
| 0.6-0.7 | 4816 | 5.81% | █████████ |
| 0.7-0.8 | 6336 | 7.64% | ████████████ |
| 0.8-0.9 | 3874 | 4.67% | ████████ |
| 0.9-1.0 | 5312 | 6.41% | ██████████ |
| total | 82880 | 100.00% |
Garments (Clothing)
| value | count | share | distribution |
|---|---|---|---|
| strap | 10440 | 6.79% | ████████████████████████████████████████ |
| necklace | 7756 | 5.04% | ██████████████████████████████ |
| top | 7010 | 4.56% | ███████████████████████████ |
| tattoo | 6330 | 4.12% | ████████████████████████ |
| piercing | 6141 | 3.99% | ████████████████████████ |
| earring | 6093 | 3.96% | ███████████████████████ |
| sheet | 5530 | 3.60% | █████████████████████ |
| thong | 4974 | 3.23% | ███████████████████ |
| stockings | 4925 | 3.20% | ███████████████████ |
| chain | 4677 | 3.04% | ██████████████████ |
| heels | 4506 | 2.93% | █████████████████ |
| bracelet | 4094 | 2.66% | ████████████████ |
| bra | 4027 | 2.62% | ███████████████ |
| beads | 3651 | 2.37% | ██████████████ |
| underwear | 3398 | 2.21% | █████████████ |
| dress | 3230 | 2.10% | ████████████ |
| sandals | 3187 | 2.07% | ████████████ |
| band | 3153 | 2.05% | ████████████ |
| lingerie | 2983 | 1.94% | ███████████ |
| blanket | 2918 | 1.90% | ███████████ |
| waistband | 2823 | 1.84% | ███████████ |
| garter | 2691 | 1.75% | ██████████ |
| shirt | 2670 | 1.74% | ██████████ |
| towel | 2652 | 1.72% | ██████████ |
| skirt | 2523 | 1.64% | ██████████ |
| jewelry | 2103 | 1.37% | ████████ |
| wrap | 2056 | 1.34% | ████████ |
| panties | 2022 | 1.31% | ████████ |
| bikini | 2005 | 1.30% | ████████ |
| choker | 1897 | 1.23% | ███████ |
| tie | 1864 | 1.21% | ███████ |
| cuff | 1693 | 1.10% | ██████ |
| bottoms | 1678 | 1.09% | ██████ |
| shorts | 1619 | 1.05% | ██████ |
| fishnet | 1356 | 0.88% | █████ |
| sweater | 1178 | 0.77% | █████ |
| bodysuit | 1124 | 0.73% | ████ |
| strapless | 1114 | 0.72% | ████ |
| headband | 1098 | 0.71% | ████ |
| socks | 1018 | 0.66% | ████ |
| corset | 1004 | 0.65% | ████ |
| duvet | 879 | 0.57% | ███ |
| belt | 840 | 0.55% | ███ |
| boots | 777 | 0.51% | ███ |
| collar | 729 | 0.47% | ███ |
| blouse | 704 | 0.46% | ███ |
| robe | 689 | 0.45% | ███ |
| shoes | 666 | 0.43% | ███ |
| harness | 640 | 0.42% | ██ |
| glasses | 570 | 0.37% | ██ |
| jeans | 541 | 0.35% | ██ |
| pants | 503 | 0.33% | ██ |
| gloves | 488 | 0.32% | ██ |
| crop top | 440 | 0.29% | ██ |
| sneakers | 434 | 0.28% | ██ |
| hat | 428 | 0.28% | ██ |
| anklet | 425 | 0.28% | ██ |
| briefs | 409 | 0.27% | ██ |
| sunglasses | 399 | 0.26% | ██ |
| camisole | 395 | 0.26% | ██ |
| jacket | 333 | 0.22% | █ |
| scarf | 329 | 0.21% | █ |
| bangle | 318 | 0.21% | █ |
| hood | 299 | 0.19% | █ |
| wristband | 287 | 0.19% | █ |
| mask | 281 | 0.18% | █ |
| bandeau | 258 | 0.17% | █ |
| sarong | 252 | 0.16% | █ |
| swimsuit | 234 | 0.15% | █ |
| gag | 223 | 0.14% | █ |
| nightwear | 216 | 0.14% | █ |
| tights | 201 | 0.13% | █ |
| wrist cuff | 186 | 0.12% | █ |
| bustier | 161 | 0.10% | █ |
| leggings | 145 | 0.09% | █ |
| clamps | 132 | 0.09% | █ |
| mesh top | 132 | 0.09% | █ |
| strapless dress | 127 | 0.08% | █ |
| veil | 107 | 0.07% | █ |
| blindfold | 93 | 0.06% | █ |
| watch | 93 | 0.06% | █ |
| jumpsuit | 87 | 0.06% | █ |
| shawl | 82 | 0.05% | █ |
| handcuffs | 75 | 0.05% | █ |
| pantyhose | 75 | 0.05% | █ |
| slip | 70 | 0.05% | █ |
| bow tie | 68 | 0.04% | █ |
| headpiece | 62 | 0.04% | █ |
| headphones | 61 | 0.04% | █ |
| boa | 57 | 0.04% | █ |
| bandana | 54 | 0.04% | █ |
| vest | 50 | 0.03% | █ |
| babydoll | 49 | 0.03% | █ |
| cover-up | 46 | 0.03% | █ |
| eye mask | 44 | 0.03% | █ |
| suspenders | 43 | 0.03% | █ |
| tunic | 41 | 0.03% | █ |
| breastplate | 39 | 0.03% | █ |
| ankle cuffs | 38 | 0.02% | █ |
| fascinator | 24 | 0.02% | █ |
| apron | 22 | 0.01% | █ |
| scrubs | 21 | 0.01% | █ |
| cap | 19 | 0.01% | █ |
| stole | 19 | 0.01% | █ |
| g-string | 15 | 0.01% | █ |
| loincloth | 14 | 0.01% | █ |
| slippers | 14 | 0.01% | █ |
| necktie | 12 | 0.01% | █ |
| headscarf | 10 | 0.01% | █ |
| bolero | 9 | 0.01% | █ |
| sweatpants | 6 | 0.00% | █ |
| coveralls | 1 | 0.00% | █ |
| total | 153801 | 100.00% |
Additional Information
Licensing Information
This dataset is released under the CC-BY-4.0 license.
Citation Information
If you use this dataset, please cite it as follows:
@misc{erotic-image-prompts,
author = { Stable Llama },
title = { erotic-image-prompts (Revision f0a5808) },
year = 2026,
url = { https://huggingface.co/datasets/stablellama/erotic-image-prompts },
doi = { 10.57967/hf/10548 },
publisher = { Hugging Face }
}