π Welcome to My Excel Prompts Picker and Base Prompt Settings! (Patreon)
Downloads
Content
This Excel file contains 500+ prompts that I've collected, organized, edited, and adjusted to work better with the tag-based prompting style used by TensorArt.
The workbook also includes a Random Prompt Picker, so you can randomly select prompts instead of manually searching through hundreds of them.
Of course, you can still choose a specific prompt yourself whenever you want.
I'll explain how everything works below, including the random picker, the row history system, the character-specific prompt system, and finally the Base Prompt that I personally use.This is the file of excel:
β οΈ Important: Enable Macros
This Excel file requires VBA Macros for the Random Prompt Picker to work.
When you open the file, Excel may show a security notification asking whether you want to enable macros or content.
π Please allow / enable the macros if you want to use the Random Picker.
Without macros, the prompt list itself will still be readable, but the automated random functions will not work.
π Sheet 1 β Prompts List
Let's start with the main sheet:(Need censor if admin can contact about this)
Prompts List
The main prompt database runs from Column A to Column D.
The list can continue indefinitely, so you can keep adding more prompts whenever you want.
πΌοΈ Column A β Image
Column A is intended to contain a sample image showing what the prompt can produce.
However...
I'm lazy and usually don't add example images myself. π
So you'll probably see Column A empty in many places.
You can still add your own reference images there if you want.
π Column B β NSFW / SFW
Column B contains the category of the prompt.
There are three possible options:
SFW
NSFW
All
This tells the Random Prompt Picker what type of content the prompt is intended for.
For example:
SFW β only appears when filtering for SFW.
NSFW β only appears when filtering for NSFW.
All β can appear in either category.
π·οΈ Column C β Tag Option
Column C contains a short description of what the prompt contains.
Think of this as a quick label so you can understand the prompt without reading the entire thing.
For example:
(Landscape)(All)(New)nope
These are not necessarily part of the actual AI prompt.
They are mainly labels used to help organize and filter the database.
π Column D β Prompt Use
Column D contains the actual prompt.
I assume most people using this Excel already understand what an AI prompt is, so I won't spend too much time explaining the basic concept here.
However, there is one important thing you need to pay attention to:
,,,
You'll see this symbol used in some prompts.
This is important because I use it to separate the parts of the prompt that should also be copied into ADetailer.
For example, the structure may look like:
(solo), [face-related tags] ,,, "remaining prompt"
or:
[face-related tags],,, "remaining prompt"
The section associated with the character's face is the part I usually want to reuse for ADetailer.
Typical examples include things like:
looking at viewer
blush
open mouth
smile
facial expression
eye-related tags
hair-related tags
So the easiest rule is:
π If you see ,,,, pay attention to the section around it.
If there is no and (All) ,,,, you can simply copy the entire prompt into ADetailer when needed.
I'll explain exactly why I use this system in the Base Prompt section later.
π Special Terms Used in Column C & D
There are several labels you'll see repeatedly.
(Landscape)
This means the prompt is intended for a landscape / horizontal composition.
So before generating the image, change your generation canvas from the usual portrait / vertical format to a landscape / horizontal format.
(All)
This means you can use the entire prompt in both your main generation prompt and ADetailer instead of only copying part of it.
I'll explain the difference in the ADetailer section later.
(New)
I use (New) when I've personally edited or modified the prompt.
This is simply a label I add myself.
You can use it or ignore it depending on how you want to organize your own prompt library.
I'll explain why I keep track of (New) later in the Copy Code Row section.
nope
nope is basically my way of saying:
Don't use this prompt for random selection.
You can put nope in Column C or Column D when a prompt is empty, unfinished, removed, or simply not something you want the Random Picker to select.
For example, if you delete a prompt but don't have another idea to put there yet, you can simply write:
nope
That lets the Random Picker recognize it as something that should normally be ignored.
π² Random Generation Picker
Now let's move to the other section of the sheet:
Random Generation Picker
The main controls are around H3 / H4.
Here you choose between:
SFW
NSFW
All
This determines which prompts the Random Picker is allowed to select.
For example:
SFW β only prompts marked SFW or compatible promptsNSFW β only prompts marked NSFW or compatible promptsAll β only prompts marked All or compatible prompts
After selecting your category:
π Press the Random button.
The system will randomly select a prompt from the database.
The generated result will show you:
the Row number
the Tag
the Prompt Use
You can then simply click on the prompt cell (the Prompt Use) and:
Ctrl + C β Copy β Paste wherever you need it.
β οΈ Important: Don't Edit the Buttons or VBA
Please don't double-click or modify the cells, buttons, or VBA code unless you already know what you're doing.
The workbook contains custom VBA logic.
If you accidentally change something:
π Ctrl + Z can often undo the change.
If you don't know what a particular cell or button does, it's better to leave it alone.
π’ Column N β Row
Column N shows the row number of the prompt that was selected.
For example:
Row 57
means the selected prompt came from row 57 of the Prompt List.
This is useful because the workbook can keep track of exactly which prompt you generated.
π Column O β Random Row History
Column O stores the history of the rows you've already selected.
For example:
57, 18, 103, 42, 88...
This is important because I designed the Random Picker so it does not repeatedly select the same row.
The system reads the numbers stored in Column O and blocks those rows from being selected again.
So instead of constantly getting the same prompt:
Random β prompt ARandom β prompt ARandom β prompt A...
the system remembers what you've already received.
You can also manually edit this row history if you want to customize it.
π Reset
The Reset button clears the stored row history in Column O.
That means the Random Picker can start selecting prompts from the full list again.
So:
π Use Reset when you want to start a completely new random cycle.
π Go To Row
The GoToRow button uses the row number currently shown in Column N.
For example:
If Column N says:
57
pressing GoToRow will take you directly to row 57 in the Prompt List.
This is useful when you want to inspect the original prompt, its tag, or its notes.
π« Column Q β Exclude
Column Q allows you to control which labels should be excluded from random selection.
This can be useful for things such as:
nope
(New)
nope + (New)
or other labels you decide to use
There is also a custom option that I call:
Nothing Special
If you choose that option, the system will simply allow prompts containing nope or (New) as well.
So this section is basically a filter for deciding:
"What should the Random Picker ignore?"
π Sheet 2 β Copy Code Row
The second sheet is:
Copy Code Row
This sheet is useful when you want to keep a separate record of prompts already used for a specific character.
For example, imagine you're working on:
Character A
You randomly generate several prompts.
You can copy the row numbers stored in Column O and paste them into:
String Number Rows
Then you can keep them stored for that character.
π€ Name Character
Use this field to write the character you're working on.
For example:
Character A
or:
Dan Heng
The name is mainly for your own organization.
π§Ή Removing Rows from the Stored List
There is also an additional system in this sheet for removing certain rows from the stored number list.
This is based on whether the corresponding prompt contains:
nope
(New)
There are two choices:
All
This removes the relevant rows from the stored list for all characters.
Custom
This lets you remove them only for a specific character.
If you choose Custom, you must enter the character name exactly as it appears in the Name Character field.
For example:
Name Character: Dan Heng
Then Custom Name must also use:
Dan Heng
Spelling and spacing should match.
If the names don't match exactly, the filtering won't work correctly.
Also keep your character names clearly separated from each other.
π§ Why Keep Row History?
You might wonder:
"Why not just randomly pick something every time?"
Because I wanted the system to function more like a real randomized pool.
The row history prevents the same prompt from appearing again until you reset the cycle.
This gives you a much larger variety of prompts before the list starts repeating.
π¨ Now Let's Talk About My Base Prompt
Now we get to the part many people are probably more interested in. π
The Base Prompt is the general structure I personally use when generating artwork.
Because TensorArt and TensorArtHub can be used differently for SFW and NSFW workflows, the exact setup can vary.
Some of my LoRA previews also include the prompts I normally use, but the actual setup may differ depending on the content.
So here's the general formula I use.
π§© My Base Prompt Structure
The structure is generally:
male focus, 1boy, "character-specific details from the LoRA" ,//Prompt, "your chosen prompt or a prompt selected from the Random Picker" ,//Background, depth of field, anime coloring ,//Quality, masterpiece, best quality, amazing quality, shade, countershading, subsurface scattering, detailed face, "style tags"
The idea is simply to divide the prompt into several sections.
Character
This contains:
male focus
1boy
character-specific LoRA tags
Prompt
This is where you put your actual scene / pose / situation.
This can be:
something you manually choose
or something selected from the Random Prompt Picker
Background
This contains environment and depth-related tags.
Quality
This contains my usual quality and rendering tags.
If you become comfortable with prompting, you can modify or expand these sections however you like.
π« My Negative Prompt
My general negative prompt is:
low quality, (worst quality, bad quality:1.2), worst detail, poorly drawn, lowres, low resolution, blurry, text box, subtitle, caption, watermark, translated, signature, english text, artist name, twitter username, patreon username, logo, too many watermarks, sketch, jpeg artifacts, old, oldest, censored, simple background, ugly, bad art, duplicate, bilateral symmetry, outline, deformed, disfigured, mutation, bad anatomy, bad proportions, missing parts, extra limbs, extra digits, extra head, conjoined, multiple views, bad hands, bad eyes, mismatched pupils, film grain, scan artifacts, moirΓ© pattern, chromatic aberration, dithering, halftone, screentone, edge artifact, aliasing, outline, blending, speech bubble, negative space, blank page, error, high brightness, sharp colors, hdr, glow halo, bad shadow, realistic, hyperrealistic, 3d, photo, floating object, woman, 1girl, hetero, shota, breast, pussy, vagina, lipstick, hair band, chibi, loli, EasynegativeV2
This is the negative prompt structure I've personally been using.
You don't have to copy every single part exactly.
Once you understand how the structure works, you can build your own version around your own workflow.
π Models, Settings Prompt, Upscale and ADetailer
I also frequently use Models, Settings Prompts, Upscale and ADetailer.
Models:
Settings Prompt:
Upscale:
ADetailer:
The ADetailer prompt follows a simpler structure.
Generally, I focus mainly on the face and head-related information.
For example:
male focus, 1boy, "character-specific face and hair details" ,//FacePrompt, "face-related prompt" ,//Quality, masterpiece, best quality, amazing quality, shade, countershading, subsurface scattering, detailed face
The negative prompt I normally use for ADetailer is:
low quality, (worst quality, bad quality:1.2), sketch, jpeg artifacts, signature, watermark, old, oldest, worst detail, lowres, low resolution, blurry, ugly, bad art, poorly drawn face, poorly drawn eyes, artistic error, film grain, scan artifacts, very displeasing, chromatic aberration, dithering, halftone, screentone, multiple views, logo, too many watermarks, negative space, blank page, @_@, mismatched pupils, bad anatomy
The reason I recommend keeping ADetailer focused primarily on the face is because that is where small problems often appear after the main generation.
Things like:
eyes
pupils
mouth
expression
facial details
hair details
can benefit from the additional correction pass.
π Remember the ,,,
And this is where the ,,, from the Prompt Use column becomes important again.
When you see something like:
(face-related tags),,, "remaining prompt"
the section around ,,, is what I usually use for the ADetailer face prompt.
So the Excel system and my Base Prompt system are designed to work together.
β That's Everything!
That's basically the entire workflow behind my Excel Prompt Picker:
Prompts ListβRandom Generation PickerβRow HistoryβCopy Code RowβBase PromptβADetailer / UpscaleβFinal Generation
You can either read this guide while using the Excel file, or keep the Patreon post open beside Excel while you experiment.
The main goal is simply to make it easier for you to:
organize hundreds of prompts
randomly generate ideas
avoid repeating prompts
save prompt combinations for specific characters
copy prompts quickly
understand the Base Prompt structure
and experiment with your own workflow
Try it yourself and see what works best for you.
And of course, if you find the Excel useful, please consider supporting me. β€οΈ
Have fun experimenting! πβ¨