generateHTML = {import:t2i-framework-plugin-v2} // <-- this is a little DIY 'framework' plugin that itself importes the text-to-image plugin and generates the user interface using the settings below
$meta title = AI Image Generator: Create Stunning Images with stable diffusion! 100% Free, No Sign-up Required, No Limits! description = Unleash Your Artistic Vision: Unleash your creativity with our free AI image generator! No sign-up needed. Transform text to image with stable diffusion. // image = https://files.catbox.moe/g35akd.gif
// Feel free to edit the settings below and then save your own copy of this generator! // You'll probably just want to scroll down to the artStyle list and edit those - it's pretty self-explanatory, just follow the format.
settings
pageTitle = Ai Image Generator 🏕️🏜️
introMessage = Add a Description, Then Click Generate.
Add this page to your favorites to get back to it later!
numImages = [Number(input.numImages)]
socialFeatures = button after 1 clicks // or 'button' or 'enabled' or 'disabled'
// note: the t2i-framework-plugin makes all user inputs from the userInputs
list accessible by name as [input.theNameOfTheInput], as shown here:
imageOptions // <-- options for the text-to-image plugin that generates the images: https://perchance.org/text-to-image-plugin
saveTitle = ([input.artStyle.getName]) [input.imagename] // .getName is a built-in Perchance property that gets the name of a given list/sublist/node
prompt = [input.artStyle.prompt]
negativePrompt = [input.artStyle.negative]
resolution = [input.shape]
seed = [input.seed]
guidanceScale = [input.Gscale]
steps = 250
userInputs // you can add more user inputs to this list, and then use them like [input.nameOfInput] in the prompt
, negativePrompt
, artStyle.prompt
, etc.
scratchpad // Note: the 'remember' option storage is 'based on' this 'scratchpad' name, so if you change that name to something else like 'notepad', people will lose all their saved scratchpad text. But it's safe to change the 'label', below.
label = 📒 Notepad
tip = Just a little notepad for you - it does not affect your generated images. It 'remembers' the text that you put in it even after you refresh/close this page.\n\nThe text will only be forgotten if you clear your browser's "site data" (cookies, localStorage, etc.) for this particular site.
type = paragraph
remember = true // <-- the text that the user inputs will be remembered so it's still there even if they close/refresh the page
width = min(750px, 100%)
height = 50vh
takesUpFullRow = true
foldToggleState = hidden // or 'shown' if you want it to start shown, or delete this line if you don't want it to be show-able/hide-able
visible() =>
return Number(localStorage.generateClickCount) > 1; // so the scratchpad only shows up after they've clicked generate a couple of times (to reduce confusion/clutter for newbies)
examples
You can use this text box to store your prompts and other notes. The text you put here will be remembered even after you've closed/refreshed this page so long as you're not in in incognito browsing mode.\n\nHave fun and enjoy! \n\n𝗡𝗼𝘁𝗲: 𝗜𝗳 𝘆𝗼𝘂 𝗰𝗹𝗲𝗮𝗿 𝘆𝗼𝘂𝗿 "𝘀𝗶𝘁𝗲 𝗱𝗮𝘁𝗮"/𝗰𝗼𝗼𝗸𝗶𝗲𝘀 𝗳𝗼𝗿 𝘁𝗵𝗶𝘀 𝘀𝗶𝘁𝗲, 𝘆𝗼𝘂𝗿 𝘀𝗰𝗿𝗮𝘁𝗰𝗵𝗽𝗮𝗱 𝗱𝗮𝘁𝗮 𝘄𝗶𝗹𝗹 𝗯𝗲 𝗹𝗼𝘀𝘁!
description
label = 📝 𝗗𝗲𝘀𝗰𝗿𝗶𝗽𝘁𝗶𝗼𝗻 𝗣𝗿𝗼𝗺𝗽𝘁 - <i>THIS SITE IS NSFW and for over 18 - you have been warned, have fun - CT </i>
tip = Tip: If you write something like {red|white|blue} as part of your description, then a random one will be chosen for each image.\n\nYou can see the prompt that was used for a particular generated image by hovering your mouse over it, or long-pressing on mobile.\n\nAdd brackets around text (like this) to get the AI to pay more attention to it.
type = paragraph
width = min(750px, 100%)
takesUpFullRow = true
remember = true
modifiers = [input.artStyle?.modifiers || null]
modifierUpdates = event:description.input, event:artStyle.change
enterKeyTriggersGeneration = true // <-- can still use shift+enter to create a new line
// we use artstyle-specific random prompts if available, otherwise fall back to randomDescriptions list:
examples = [input.artStyle?.randomPrompt || randomDescription] // <-- the placeholder examples that rotate in the text box
random = [input.artStyle?.randomPrompt || randomDescription] // <-- added to the text box when the 'random' button gets clicked
negative
label = 🚫 𝗔𝗻𝘁𝗶-𝗗𝗲𝘀𝗰𝗿𝗶𝗽𝘁𝗶𝗼𝗻 (𝗢𝗽𝘁𝗶𝗼𝗻𝗮𝗹)
type = text
remember = true
examples
Things you 𝗗𝗢 𝗡𝗢𝗧 want in the image
seed
label = 🌱 𝐒𝐞𝐞𝐝 (𝗢𝗽𝘁𝗶𝗼𝗻𝗮𝗹)
type = text
width = min(250px)
remember = true
examples
Custom Seed Here
imagename
label = <b> 👁️🗨️ Title of Image (Optional)</b>
tip = This will not affect your image, this is what the title of the image will be if it is shared in the public gallery.
type = text
remember = true
examples
Type a title for your image here.
artStyle
label = 🎨 𝗔𝗿𝘁 𝗦𝘁𝘆𝗹𝗲 <b>(or Theme)</b)
type = select
remember = true // <-- makes it so the selected option will be remembered even if the user refreshes/closes the page
options
meta:import
from = {import:custom-styles} // <-- imports a bunch of 'default' styles (you can delete this, or put it at the end, below 'No style' if you want)
// 𝙍𝙚𝙖𝙡𝙞𝙨𝙩𝙞𝙘 𝙋𝙤𝙧𝙩𝙧𝙖𝙞𝙩𝙨 // <-- example of a custom prompt parameters - just follow this format and add as many of them as you want to this 'options' list
// prompt = [input.description], something, something, something
// negative = [input.negative], low-quality, deformed, blurry, bad art, ((text))
// meta:position = 1
𝗡𝗼 𝗦𝘁𝘆𝗹𝗲
prompt = [input.description]
negative = [input.negative]
Pre-historic
prompt = [input.description], prehistoric, pre history, ancient
negative = [input.negative], human, tall, attractive
meta:position = 1
Sexy
prompt = [input.description],Natural look, Sensual,sexy,exotic,{oiled|hot},{sweaty|wet}, cannon picture,{standing|lying|sitting|kneeling|running|sleeping}
negative = [input.negative], deformed
meta:position = 2
shape
label = 🖼️ 𝗦𝗵𝗮𝗽𝗲
type = select
remember = true // <-- the selected option will be remembered even if the user refreshes/closes the page
options
Portrait = 512x768
Square = 512x512
Landscape = 768x512
numImages
label = 🔢 𝗛𝗼𝘄 𝗺𝗮𝗻𝘆?
type = select
remember = true // <-- the selected option will be remembered even if the user refreshes/closes the page
options
3 = 3
6 = 6
9 = 9
9 = 9
12 = 12
15 = 15
21 = 21
24 = 24
27 = 27
30 = 30
visible() =>
return Number(localStorage.generateClickCount) > 0; // so this input only shows up after they've clicked generate a couple of times (to reduce confusion/clutter for newbies)
Gscale
label = 𝐆𝐮𝐢𝐝𝐚𝐧𝐜𝐞
type = select
remember = true
options
Default (7) = 7
1
2
3
4
5
6
7
8
9
10
11
12
defaultCommentOptions // for comments plugin: https://perchance.org/comments-plugin width = 100% height = 400 commentPlaceholderText = Alright, let's see those fingers dance on the keyboard! submitButtonText = 𝗦𝘂𝗯𝗺𝗶𝘁 𝗖𝗼𝗺𝗺𝗲𝗻𝘁 bannedUsers = [bannedUsersList]
commentChannels general label = 𝐒𝐨𝐜𝐢𝐚𝐥 𝐂𝐡𝐚𝐭 𝐑𝐨𝐨𝐦 adminFlair = 🅰🅳🅼🅸🅽 adminPasswordHash = 5e1c418ff423a741c9cc1e1c06f926d7087db20909f0a5b71ae22ef1d5918148 feedback-and-suggestions label = 𝗙𝗲𝗲𝗱𝗯𝗮𝗰𝗸 𝗮𝗻𝗱 𝗦𝘂𝗴𝗴𝗲𝘀𝘁𝗶𝗼𝗻𝘀 adminFlair = 🅰🅳🅼🅸🅽 adminPasswordHash = 5e1c418ff423a741c9cc1e1c06f926d7087db20909f0a5b71ae22ef1d5918148 prompts label = 𝗣𝗿𝗼𝗺𝗽𝘁𝘀 adminFlair = 🅰🅳🅼🅸🅽 adminPasswordHash = 5e1c418ff423a741c9cc1e1c06f926d7087db20909f0a5b71ae22ef1d5918148 commentPlaceholderText = 𝐒𝐇𝐀𝐑𝐄 𝐀 𝐏𝐑𝐎𝐌𝐏𝐓-𝐒𝐓𝐘𝐋𝐄. 𝐈𝐅 𝐈𝐓'𝐒 𝐆𝐎𝐎𝐃, 𝐈𝐓 𝐌𝐀𝐘 𝐆𝐄𝐓 𝐀𝐃𝐃𝐄𝐃 𝐓𝐎 𝐓𝐇𝐄 𝐀𝐑𝐓 𝐒𝐓𝐘𝐋𝐄 𝐒𝐄𝐋𝐄𝐂𝐓𝐎𝐑! submitButtonText = 𝗦𝗵𝗮𝗿𝗲 𝗣𝗿𝗼𝗺𝗽𝘁
galleryOptions gallery = true sort = recent hideIfScoreIsBelow = -5 adaptiveHeight = true // <-- expand gallery height so it never has its own scrollbar contentFilter = 'PG-13' // <-- or 'none' for no default filter
showFeedback = false // you can temporarily change this to 'true' and then click the feedback button to view feedback
hair_colors blonde brunette blonde and pink highlighted auburn black
camera panoramic close-up portait low angle aerial shot high angle wide angle over-the-shoulder shot telephoto
seasons winter summer autumn spring
person 25 year old man 25 year old woman
mood happy giggling sad angry surprised bored
female_hair_styles pigtails ponytail dutch side braids wavy curly pixie
eye_color brown blue hazel amber gray green
detailed meticulous highly-detailed accurate comprehensive elaborate thorough
eighteenera in the park at the office at their desk on the beach in the supermarket at home in the street in the jungle on a plane in a car
nineteenera standing sitting lying kneeling dancing playing running sleeping, eyes closed
vehicless denim white cotton suit and skirt bikini skirt shorts onesie a dress jeans
randomDescription A [detailed] [camera] of a [mood] [person] with [hair_colors] hair. they are [nineteenera] [eighteenera]. they have beautiful [eye_color] eyes. they are wearing [vehicless]
bannedUsersList
generatorStats = {import:generator-stats-plugin}