Create README.md
Browse files
README.md
ADDED
@@ -0,0 +1,333 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
---
|
2 |
+
license: apache-2.0
|
3 |
+
language:
|
4 |
+
- aa
|
5 |
+
---
|
6 |
+
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
|
7 |
+
|
8 |
+
$meta
|
9 |
+
title = AI Image Generator: Create Stunning Images with stable diffusion! 100% Free, No Sign-up Required, No Limits!
|
10 |
+
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.
|
11 |
+
// image = https://files.catbox.moe/g35akd.gif
|
12 |
+
|
13 |
+
// Feel free to edit the settings below and then save your own copy of this generator!
|
14 |
+
// You'll probably just want to scroll down to the artStyle list and edit those - it's pretty self-explanatory, just follow the format.
|
15 |
+
|
16 |
+
settings
|
17 |
+
pageTitle = Ai Image Generator ๐๏ธ๐๏ธ
|
18 |
+
introMessage = Add a Description, Then Click <b>Generate</b>.<br><br><span style="font-size:80%; color:grey; max-width:200px; display:inline-block;">Add this page to your favorites to get back to it later!
|
19 |
+
numImages = [Number(input.numImages)]
|
20 |
+
socialFeatures = button after 1 clicks // or 'button' or 'enabled' or 'disabled'
|
21 |
+
|
22 |
+
// note: the t2i-framework-plugin makes all user inputs from the `userInputs` list accessible by name as [input.theNameOfTheInput], as shown here:
|
23 |
+
imageOptions // <-- options for the text-to-image plugin that generates the images: https://perchance.org/text-to-image-plugin
|
24 |
+
saveTitle = ([input.artStyle.getName]) [input.imagename] // .getName is a built-in Perchance property that gets the name of a given list/sublist/node
|
25 |
+
prompt = [input.artStyle.prompt]
|
26 |
+
negativePrompt = [input.artStyle.negative]
|
27 |
+
resolution = [input.shape]
|
28 |
+
seed = [input.seed]
|
29 |
+
guidanceScale = [input.Gscale]
|
30 |
+
steps = 250
|
31 |
+
|
32 |
+
userInputs // you can add more user inputs to this list, and then use them like [input.nameOfInput] in the `prompt`, `negativePrompt`, `artStyle.prompt`, etc.
|
33 |
+
|
34 |
+
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.
|
35 |
+
label = ๐ Notepad
|
36 |
+
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.
|
37 |
+
type = paragraph
|
38 |
+
remember = true // <-- the text that the user inputs will be remembered so it's still there even if they close/refresh the page
|
39 |
+
width = min(750px, 100%)
|
40 |
+
height = 50vh
|
41 |
+
takesUpFullRow = true
|
42 |
+
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
|
43 |
+
visible() =>
|
44 |
+
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)
|
45 |
+
examples
|
46 |
+
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๐ก๐ผ๐๐ฒ: ๐๐ณ ๐๐ผ๐ ๐ฐ๐น๐ฒ๐ฎ๐ฟ ๐๐ผ๐๐ฟ "๐๐ถ๐๐ฒ ๐ฑ๐ฎ๐๐ฎ"/๐ฐ๐ผ๐ผ๐ธ๐ถ๐ฒ๐ ๐ณ๐ผ๐ฟ ๐๐ต๐ถ๐ ๐๐ถ๐๐ฒ, ๐๐ผ๐๐ฟ ๐๐ฐ๐ฟ๐ฎ๐๐ฐ๐ต๐ฝ๐ฎ๐ฑ ๐ฑ๐ฎ๐๐ฎ ๐๐ถ๐น๐น ๐ฏ๐ฒ ๐น๐ผ๐๐!
|
47 |
+
|
48 |
+
description
|
49 |
+
label = ๐ ๐๐ฒ๐๐ฐ๐ฟ๐ถ๐ฝ๐๐ถ๐ผ๐ป ๐ฃ๐ฟ๐ผ๐บ๐ฝ๐ - <i>THIS SITE IS NSFW and for over 18 - you have been warned, have fun - CT </i>
|
50 |
+
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.
|
51 |
+
type = paragraph
|
52 |
+
width = min(750px, 100%)
|
53 |
+
takesUpFullRow = true
|
54 |
+
remember = true
|
55 |
+
modifiers = [input.artStyle?.modifiers || null]
|
56 |
+
modifierUpdates = event:description.input, event:artStyle.change
|
57 |
+
enterKeyTriggersGeneration = true // <-- can still use shift+enter to create a new line
|
58 |
+
// we use artstyle-specific random prompts if available, otherwise fall back to randomDescriptions list:
|
59 |
+
examples = [input.artStyle?.randomPrompt || randomDescription] // <-- the placeholder examples that rotate in the text box
|
60 |
+
random = [input.artStyle?.randomPrompt || randomDescription] // <-- added to the text box when the 'random' button gets clicked
|
61 |
+
|
62 |
+
negative
|
63 |
+
label = ๐ซ ๐๐ป๐๐ถ-๐๐ฒ๐๐ฐ๐ฟ๐ถ๐ฝ๐๐ถ๐ผ๐ป (๐ข๐ฝ๐๐ถ๐ผ๐ป๐ฎ๐น)
|
64 |
+
type = text
|
65 |
+
remember = true
|
66 |
+
examples
|
67 |
+
Things you ๐๐ข ๐ก๐ข๐ง want in the image
|
68 |
+
|
69 |
+
seed
|
70 |
+
label = ๐ฑ ๐๐๐๐ (๐ข๐ฝ๐๐ถ๐ผ๐ป๐ฎ๐น)
|
71 |
+
type = text
|
72 |
+
width = min(250px)
|
73 |
+
remember = true
|
74 |
+
examples
|
75 |
+
Custom Seed Here
|
76 |
+
|
77 |
+
imagename
|
78 |
+
label = <b> ๐๏ธโ๐จ๏ธ Title of Image (Optional)</b>
|
79 |
+
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.
|
80 |
+
type = text
|
81 |
+
remember = true
|
82 |
+
examples
|
83 |
+
Type a title for your image here.
|
84 |
+
|
85 |
+
artStyle
|
86 |
+
label = ๐จ ๐๐ฟ๐ ๐ฆ๐๐๐น๐ฒ <b>(or Theme)</b)
|
87 |
+
type = select
|
88 |
+
remember = true // <-- makes it so the selected option will be remembered even if the user refreshes/closes the page
|
89 |
+
options
|
90 |
+
meta:import
|
91 |
+
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)
|
92 |
+
|
93 |
+
// ๐๐๐๐ก๐๐จ๐ฉ๐๐ ๐๐ค๐ง๐ฉ๐ง๐๐๐ฉ๐จ // <-- example of a custom prompt parameters - just follow this format and add as many of them as you want to this 'options' list
|
94 |
+
// prompt = [input.description], something, something, something
|
95 |
+
// negative = [input.negative], low-quality, deformed, blurry, bad art, ((text))
|
96 |
+
// meta:position = 1
|
97 |
+
๐ก๐ผ ๐ฆ๐๐๐น๐ฒ
|
98 |
+
prompt = [input.description]
|
99 |
+
negative = [input.negative]
|
100 |
+
Pre-historic
|
101 |
+
prompt = [input.description], prehistoric, pre history, ancient
|
102 |
+
negative = [input.negative], human, tall, attractive
|
103 |
+
meta:position = 1
|
104 |
+
Sexy
|
105 |
+
prompt = [input.description],Natural look, Sensual,sexy,exotic,{oiled|hot},{sweaty|wet}, cannon picture,{standing|lying|sitting|kneeling|running|sleeping}
|
106 |
+
negative = [input.negative], deformed
|
107 |
+
meta:position = 2
|
108 |
+
|
109 |
+
|
110 |
+
shape
|
111 |
+
label = ๐ผ๏ธ ๐ฆ๐ต๐ฎ๐ฝ๐ฒ
|
112 |
+
type = select
|
113 |
+
remember = true // <-- the selected option will be remembered even if the user refreshes/closes the page
|
114 |
+
options
|
115 |
+
Portrait = 512x768
|
116 |
+
Square = 512x512
|
117 |
+
Landscape = 768x512
|
118 |
+
|
119 |
+
|
120 |
+
numImages
|
121 |
+
label = ๐ข ๐๐ผ๐ ๐บ๐ฎ๐ป๐?
|
122 |
+
type = select
|
123 |
+
remember = true // <-- the selected option will be remembered even if the user refreshes/closes the page
|
124 |
+
options
|
125 |
+
3 = 3
|
126 |
+
6 = 6
|
127 |
+
9 = 9
|
128 |
+
9 = 9
|
129 |
+
12 = 12
|
130 |
+
15 = 15
|
131 |
+
21 = 21
|
132 |
+
24 = 24
|
133 |
+
27 = 27
|
134 |
+
30 = 30
|
135 |
+
visible() =>
|
136 |
+
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)
|
137 |
+
|
138 |
+
Gscale
|
139 |
+
label = ๐๐ฎ๐ข๐๐๐ง๐๐
|
140 |
+
type = select
|
141 |
+
remember = true
|
142 |
+
options
|
143 |
+
Default (7) = 7
|
144 |
+
1
|
145 |
+
2
|
146 |
+
3
|
147 |
+
4
|
148 |
+
5
|
149 |
+
6
|
150 |
+
7
|
151 |
+
8
|
152 |
+
9
|
153 |
+
10
|
154 |
+
11
|
155 |
+
12
|
156 |
+
|
157 |
+
defaultCommentOptions // for comments plugin: https://perchance.org/comments-plugin
|
158 |
+
width = 100%
|
159 |
+
height = 400
|
160 |
+
commentPlaceholderText = Alright, let's see those fingers dance on the keyboard!
|
161 |
+
submitButtonText = ๐ฆ๐๐ฏ๐บ๐ถ๐ ๐๐ผ๐บ๐บ๐ฒ๐ป๐
|
162 |
+
bannedUsers = [bannedUsersList]
|
163 |
+
|
164 |
+
commentChannels
|
165 |
+
general
|
166 |
+
label = ๐๐จ๐๐ข๐๐ฅ ๐๐ก๐๐ญ ๐๐จ๐จ๐ฆ
|
167 |
+
adminFlair = ๐
ฐ๐
ณ๐
ผ๐
ธ๐
ฝ
|
168 |
+
adminPasswordHash = 5e1c418ff423a741c9cc1e1c06f926d7087db20909f0a5b71ae22ef1d5918148
|
169 |
+
feedback-and-suggestions
|
170 |
+
label = ๐๐ฒ๐ฒ๐ฑ๐ฏ๐ฎ๐ฐ๐ธ ๐ฎ๐ป๐ฑ ๐ฆ๐๐ด๐ด๐ฒ๐๐๐ถ๐ผ๐ป๐
|
171 |
+
adminFlair = ๐
ฐ๐
ณ๐
ผ๐
ธ๐
ฝ
|
172 |
+
adminPasswordHash = 5e1c418ff423a741c9cc1e1c06f926d7087db20909f0a5b71ae22ef1d5918148
|
173 |
+
prompts
|
174 |
+
label = ๐ฃ๐ฟ๐ผ๐บ๐ฝ๐๐
|
175 |
+
adminFlair = ๐
ฐ๐
ณ๐
ผ๐
ธ๐
ฝ
|
176 |
+
adminPasswordHash = 5e1c418ff423a741c9cc1e1c06f926d7087db20909f0a5b71ae22ef1d5918148
|
177 |
+
commentPlaceholderText = ๐๐๐๐๐ ๐ ๐๐๐๐๐๐-๐๐๐๐๐. ๐๐
๐๐'๐ ๐๐๐๐, ๐๐ ๐๐๐ ๐๐๐ ๐๐๐๐๐ ๐๐ ๐๐๐ ๐๐๐ ๐๐๐๐๐ ๐๐๐๐๐๐๐๐!
|
178 |
+
submitButtonText = ๐ฆ๐ต๐ฎ๐ฟ๐ฒ ๐ฃ๐ฟ๐ผ๐บ๐ฝ๐
|
179 |
+
|
180 |
+
galleryOptions
|
181 |
+
gallery = true
|
182 |
+
sort = recent
|
183 |
+
hideIfScoreIsBelow = -5
|
184 |
+
adaptiveHeight = true // <-- expand gallery height so it never has its own scrollbar
|
185 |
+
contentFilter = 'PG-13' // <-- or 'none' for no default filter
|
186 |
+
|
187 |
+
showFeedback = false // you can temporarily change this to 'true' and then click the feedback button to view feedback
|
188 |
+
|
189 |
+
|
190 |
+
|
191 |
+
|
192 |
+
|
193 |
+
|
194 |
+
|
195 |
+
hair_colors
|
196 |
+
blonde
|
197 |
+
brunette
|
198 |
+
blonde and pink highlighted
|
199 |
+
auburn
|
200 |
+
black
|
201 |
+
|
202 |
+
camera
|
203 |
+
panoramic
|
204 |
+
close-up
|
205 |
+
portait
|
206 |
+
low angle
|
207 |
+
aerial shot
|
208 |
+
high angle
|
209 |
+
wide angle
|
210 |
+
over-the-shoulder shot
|
211 |
+
telephoto
|
212 |
+
|
213 |
+
|
214 |
+
seasons
|
215 |
+
winter
|
216 |
+
summer
|
217 |
+
autumn
|
218 |
+
spring
|
219 |
+
|
220 |
+
person
|
221 |
+
25 year old man
|
222 |
+
25 year old woman
|
223 |
+
|
224 |
+
mood
|
225 |
+
happy
|
226 |
+
giggling
|
227 |
+
sad
|
228 |
+
angry
|
229 |
+
surprised
|
230 |
+
bored
|
231 |
+
|
232 |
+
female_hair_styles
|
233 |
+
pigtails
|
234 |
+
ponytail
|
235 |
+
dutch side braids
|
236 |
+
wavy
|
237 |
+
curly pixie
|
238 |
+
|
239 |
+
|
240 |
+
|
241 |
+
eye_color
|
242 |
+
brown
|
243 |
+
blue
|
244 |
+
hazel
|
245 |
+
amber
|
246 |
+
gray
|
247 |
+
green
|
248 |
+
|
249 |
+
|
250 |
+
|
251 |
+
|
252 |
+
detailed
|
253 |
+
meticulous
|
254 |
+
highly-detailed
|
255 |
+
accurate
|
256 |
+
comprehensive
|
257 |
+
elaborate
|
258 |
+
thorough
|
259 |
+
|
260 |
+
|
261 |
+
|
262 |
+
|
263 |
+
eighteenera
|
264 |
+
in the park
|
265 |
+
at the office
|
266 |
+
at their desk
|
267 |
+
on the beach
|
268 |
+
in the supermarket
|
269 |
+
at home
|
270 |
+
in the street
|
271 |
+
in the jungle
|
272 |
+
on a plane
|
273 |
+
in a car
|
274 |
+
|
275 |
+
|
276 |
+
|
277 |
+
|
278 |
+
nineteenera
|
279 |
+
standing
|
280 |
+
sitting
|
281 |
+
lying
|
282 |
+
kneeling
|
283 |
+
dancing
|
284 |
+
playing
|
285 |
+
running
|
286 |
+
sleeping, eyes closed
|
287 |
+
|
288 |
+
|
289 |
+
|
290 |
+
|
291 |
+
|
292 |
+
vehicless
|
293 |
+
denim
|
294 |
+
white cotton
|
295 |
+
suit and skirt
|
296 |
+
bikini
|
297 |
+
skirt
|
298 |
+
shorts
|
299 |
+
onesie
|
300 |
+
a dress
|
301 |
+
jeans
|
302 |
+
|
303 |
+
|
304 |
+
|
305 |
+
|
306 |
+
randomDescription
|
307 |
+
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]
|
308 |
+
|
309 |
+
|
310 |
+
|
311 |
+
|
312 |
+
|
313 |
+
|
314 |
+
|
315 |
+
|
316 |
+
|
317 |
+
|
318 |
+
|
319 |
+
|
320 |
+
bannedUsersList
|
321 |
+
|
322 |
+
|
323 |
+
|
324 |
+
generatorStats = {import:generator-stats-plugin}
|
325 |
+
|
326 |
+
|
327 |
+
|
328 |
+
|
329 |
+
|
330 |
+
|
331 |
+
|
332 |
+
|
333 |
+
|