Korbben commited on
Commit
6d166c6
·
verified ·
1 Parent(s): 35eea66

Upload 2 files

Browse files
Files changed (2) hide show
  1. gerador_prompt.py +171 -49
  2. listas_prompts.py +213 -160
gerador_prompt.py CHANGED
@@ -1,11 +1,13 @@
1
  # -*- coding: utf-8 -*-
2
  import tkinter as tk
3
- from tkinter import scrolledtext, filedialog, ttk
4
- import random, json
5
  from safetensors import safe_open
6
 
7
  # importa listas
8
- from listas_prompts import corpos_exemplo, cenarios_exemplo, posicoes_exemplo, lighting_prompts
 
 
9
 
10
 
11
  class PromptGeneratorApp:
@@ -13,6 +15,10 @@ class PromptGeneratorApp:
13
  self.root = root
14
  self.root.title("Gerador Automático de Prompts")
15
 
 
 
 
 
16
  # Notebook com abas
17
  self.notebook = ttk.Notebook(root)
18
  self.notebook.pack(fill="both", expand=True)
@@ -25,24 +31,37 @@ class PromptGeneratorApp:
25
  self.tab_keywords = tk.Frame(self.notebook)
26
  self.notebook.add(self.tab_keywords, text="Localizador de Keywords (LoRA)")
27
 
 
 
 
 
28
  self.build_prompt_tab()
29
  self.build_keywords_tab()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30
 
31
  # ----------------- Aba 1 -----------------
32
  def build_prompt_tab(self):
33
- # Bloco 1 - Corpo
34
  self.frame_corpo = self.create_block(self.tab_prompt, "Corpo", corpos_exemplo, 0)
35
-
36
- # Bloco 2 - Cenário
37
  self.frame_cenario = self.create_block(self.tab_prompt, "Cenário", cenarios_exemplo, 1)
38
-
39
- # Bloco 3 - Posição
40
  self.frame_posicao = self.create_block(self.tab_prompt, "Posição", posicoes_exemplo, 2)
41
-
42
- # Bloco 4 - Iluminação
43
  self.frame_lighting = self.create_block(self.tab_prompt, "Iluminação", lighting_prompts, 3)
44
 
45
- # Botão gerar
46
  self.btn_generate = tk.Button(
47
  self.tab_prompt, text="Gerar Prompt Final",
48
  command=self.generate_prompt,
@@ -50,13 +69,11 @@ class PromptGeneratorApp:
50
  )
51
  self.btn_generate.grid(row=4, column=0, columnspan=3, pady=10, sticky="nsew")
52
 
53
- # Caixa resultado
54
  self.output = scrolledtext.ScrolledText(
55
  self.tab_prompt, wrap=tk.WORD, width=100, height=10, font=("Arial", 10)
56
  )
57
  self.output.grid(row=5, column=0, columnspan=3, padx=10, pady=10)
58
 
59
- # Botão copiar
60
  self.btn_copy = tk.Button(
61
  self.tab_prompt, text="Copiar para Área de Transferência",
62
  command=self.copy_to_clipboard,
@@ -65,22 +82,17 @@ class PromptGeneratorApp:
65
  self.btn_copy.grid(row=6, column=0, columnspan=3, pady=5, sticky="nsew")
66
 
67
  def create_block(self, parent, title, data_list, row):
68
- frame = tk.LabelFrame(
69
- parent, text=title, padx=10, pady=10, font=("Arial", 11, "bold")
70
- )
71
  frame.grid(row=row, column=0, columnspan=3, padx=10, pady=5, sticky="ew")
72
 
73
- # Campo de texto multilinha
74
  text_entry = tk.Text(frame, width=80, height=4, font=("Arial", 10), wrap=tk.WORD)
75
  text_entry.grid(row=0, column=0, padx=5, pady=5)
76
 
77
- # Palavras-chave extras
78
  keywords_label = tk.Label(frame, text="Palavras-chave:")
79
  keywords_label.grid(row=1, column=0, sticky="w", padx=5)
80
  keywords_entry = tk.Entry(frame, width=80, font=("Arial", 9))
81
  keywords_entry.grid(row=2, column=0, padx=5, pady=3)
82
 
83
- # Peso
84
  weight_label = tk.Label(frame, text="Peso:")
85
  weight_label.grid(row=0, column=1, padx=5)
86
  weight = tk.DoubleVar(value=1.0)
@@ -88,13 +100,11 @@ class PromptGeneratorApp:
88
  textvariable=weight, width=5)
89
  weight_spin.grid(row=0, column=2, padx=5)
90
 
91
- # Botão Random
92
  def set_random():
93
  text_entry.delete("1.0", tk.END)
94
  text_entry.insert(tk.END, random.choice(data_list))
95
 
96
- random_btn = tk.Button(frame, text="Random",
97
- command=set_random, bg="#2196F3", fg="white")
98
  random_btn.grid(row=0, column=3, padx=5)
99
 
100
  return {"entry": text_entry, "keywords": keywords_entry, "weight": weight}
@@ -106,7 +116,7 @@ class PromptGeneratorApp:
106
  combined = main_text
107
  if keywords:
108
  combined += ", " + keywords
109
- if combined: # só aplica peso se tiver conteúdo
110
  return f"({combined}:{block['weight'].get():.1f})"
111
  return ""
112
 
@@ -116,7 +126,6 @@ class PromptGeneratorApp:
116
  lighting = build_block(self.frame_lighting)
117
 
118
  final_prompt = ", ".join([p for p in [corpo, cenario, posicao, lighting] if p])
119
-
120
  self.output.delete(1.0, tk.END)
121
  self.output.insert(tk.END, final_prompt)
122
 
@@ -127,27 +136,54 @@ class PromptGeneratorApp:
127
 
128
  # ----------------- Aba 2 -----------------
129
  def build_keywords_tab(self):
130
- # Botão para carregar LoRA
131
  self.btn_load_lora = tk.Button(
132
  self.tab_keywords, text="Importar LoRA (.safetensors)",
133
  command=self.load_lora,
134
  bg="#2196F3", fg="white", font=("Arial", 12, "bold")
135
  )
136
- self.btn_load_lora.pack(pady=10)
137
 
138
- # Caixa de texto para exibir keywords
139
  self.keywords_output = scrolledtext.ScrolledText(
140
  self.tab_keywords, wrap=tk.WORD, width=100, height=20, font=("Arial", 10)
141
  )
142
  self.keywords_output.pack(padx=10, pady=10, fill="both", expand=True)
143
 
144
- # Botão copiar keywords
145
- self.btn_copy_keywords = tk.Button(
146
- self.tab_keywords, text="Copiar Keywords",
147
- command=self.copy_keywords,
148
- bg="#FF9800", fg="white", font=("Arial", 10, "bold")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
149
  )
150
- self.btn_copy_keywords.pack(pady=5)
151
 
152
  def load_lora(self):
153
  file_path = filedialog.askopenfilename(
@@ -156,41 +192,127 @@ class PromptGeneratorApp:
156
  )
157
  if not file_path:
158
  return
159
-
160
  try:
161
  with safe_open(file_path, framework="pt") as f:
162
  metadata = f.metadata()
163
  self.keywords_output.delete(1.0, tk.END)
164
-
165
  if metadata and "ss_tag_frequency" in metadata:
166
  tags_raw = metadata["ss_tag_frequency"]
167
-
168
- # Converte de string JSON -> dict se necessário
169
- if isinstance(tags_raw, str):
170
- tags = json.loads(tags_raw)
171
- else:
172
- tags = tags_raw
173
-
174
  self.keywords_output.insert(tk.END, f"Arquivo: {file_path}\n\n")
175
  self.keywords_output.insert(tk.END, "🔹 Keywords encontradas:\n\n")
176
 
 
177
  for dataset, tag_dict in tags.items():
178
  sorted_tags = sorted(tag_dict.items(), key=lambda x: -x[1])
179
  for tag, count in sorted_tags:
180
  self.keywords_output.insert(tk.END, f"{tag} ({count})\n")
 
181
 
 
 
 
182
  else:
183
  self.keywords_output.insert(tk.END, "⚠️ Nenhuma keyword encontrada neste LoRA.")
184
-
185
  except Exception as e:
186
  self.keywords_output.insert(tk.END, f"❌ Erro ao ler o arquivo:\n{e}")
187
 
188
- def copy_keywords(self):
189
- keywords_text = self.keywords_output.get("1.0", tk.END).strip()
190
- if keywords_text:
191
- self.root.clipboard_clear()
192
- self.root.clipboard_append(keywords_text)
193
- self.root.update()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
194
 
195
 
196
  if __name__ == "__main__":
 
1
  # -*- coding: utf-8 -*-
2
  import tkinter as tk
3
+ from tkinter import scrolledtext, filedialog, ttk, messagebox
4
+ import random, json, os, shutil
5
  from safetensors import safe_open
6
 
7
  # importa listas
8
+ from listas_prompts import corpos_exemplo, cenarios_exemplo, posicoes_exemplo, lighting_prompts, negativos_exemplo
9
+
10
+ CONFIG_FILE = "config.json"
11
 
12
 
13
  class PromptGeneratorApp:
 
15
  self.root = root
16
  self.root.title("Gerador Automático de Prompts")
17
 
18
+ # Config (salva pastas)
19
+ self.config = self.load_config()
20
+ self.current_lora = None # último arquivo LoRA importado
21
+
22
  # Notebook com abas
23
  self.notebook = ttk.Notebook(root)
24
  self.notebook.pack(fill="both", expand=True)
 
31
  self.tab_keywords = tk.Frame(self.notebook)
32
  self.notebook.add(self.tab_keywords, text="Localizador de Keywords (LoRA)")
33
 
34
+ # Aba 3: Prompts Negativos
35
+ self.tab_negativos = tk.Frame(self.notebook)
36
+ self.notebook.add(self.tab_negativos, text="Prompts Negativos")
37
+
38
  self.build_prompt_tab()
39
  self.build_keywords_tab()
40
+ self.build_negativos_tab()
41
+
42
+ # ----------------- Config -----------------
43
+ def load_config(self):
44
+ config = {"comfy_folder": "", "fooocus_folder": ""}
45
+ if os.path.exists(CONFIG_FILE):
46
+ try:
47
+ with open(CONFIG_FILE, "r", encoding="utf-8") as f:
48
+ loaded = json.load(f)
49
+ config.update(loaded)
50
+ except Exception:
51
+ pass
52
+ return config
53
+
54
+ def save_config(self):
55
+ with open(CONFIG_FILE, "w", encoding="utf-8") as f:
56
+ json.dump(self.config, f, indent=4)
57
 
58
  # ----------------- Aba 1 -----------------
59
  def build_prompt_tab(self):
 
60
  self.frame_corpo = self.create_block(self.tab_prompt, "Corpo", corpos_exemplo, 0)
 
 
61
  self.frame_cenario = self.create_block(self.tab_prompt, "Cenário", cenarios_exemplo, 1)
 
 
62
  self.frame_posicao = self.create_block(self.tab_prompt, "Posição", posicoes_exemplo, 2)
 
 
63
  self.frame_lighting = self.create_block(self.tab_prompt, "Iluminação", lighting_prompts, 3)
64
 
 
65
  self.btn_generate = tk.Button(
66
  self.tab_prompt, text="Gerar Prompt Final",
67
  command=self.generate_prompt,
 
69
  )
70
  self.btn_generate.grid(row=4, column=0, columnspan=3, pady=10, sticky="nsew")
71
 
 
72
  self.output = scrolledtext.ScrolledText(
73
  self.tab_prompt, wrap=tk.WORD, width=100, height=10, font=("Arial", 10)
74
  )
75
  self.output.grid(row=5, column=0, columnspan=3, padx=10, pady=10)
76
 
 
77
  self.btn_copy = tk.Button(
78
  self.tab_prompt, text="Copiar para Área de Transferência",
79
  command=self.copy_to_clipboard,
 
82
  self.btn_copy.grid(row=6, column=0, columnspan=3, pady=5, sticky="nsew")
83
 
84
  def create_block(self, parent, title, data_list, row):
85
+ frame = tk.LabelFrame(parent, text=title, padx=10, pady=10, font=("Arial", 11, "bold"))
 
 
86
  frame.grid(row=row, column=0, columnspan=3, padx=10, pady=5, sticky="ew")
87
 
 
88
  text_entry = tk.Text(frame, width=80, height=4, font=("Arial", 10), wrap=tk.WORD)
89
  text_entry.grid(row=0, column=0, padx=5, pady=5)
90
 
 
91
  keywords_label = tk.Label(frame, text="Palavras-chave:")
92
  keywords_label.grid(row=1, column=0, sticky="w", padx=5)
93
  keywords_entry = tk.Entry(frame, width=80, font=("Arial", 9))
94
  keywords_entry.grid(row=2, column=0, padx=5, pady=3)
95
 
 
96
  weight_label = tk.Label(frame, text="Peso:")
97
  weight_label.grid(row=0, column=1, padx=5)
98
  weight = tk.DoubleVar(value=1.0)
 
100
  textvariable=weight, width=5)
101
  weight_spin.grid(row=0, column=2, padx=5)
102
 
 
103
  def set_random():
104
  text_entry.delete("1.0", tk.END)
105
  text_entry.insert(tk.END, random.choice(data_list))
106
 
107
+ random_btn = tk.Button(frame, text="Random", command=set_random, bg="#2196F3", fg="white")
 
108
  random_btn.grid(row=0, column=3, padx=5)
109
 
110
  return {"entry": text_entry, "keywords": keywords_entry, "weight": weight}
 
116
  combined = main_text
117
  if keywords:
118
  combined += ", " + keywords
119
+ if combined:
120
  return f"({combined}:{block['weight'].get():.1f})"
121
  return ""
122
 
 
126
  lighting = build_block(self.frame_lighting)
127
 
128
  final_prompt = ", ".join([p for p in [corpo, cenario, posicao, lighting] if p])
 
129
  self.output.delete(1.0, tk.END)
130
  self.output.insert(tk.END, final_prompt)
131
 
 
136
 
137
  # ----------------- Aba 2 -----------------
138
  def build_keywords_tab(self):
 
139
  self.btn_load_lora = tk.Button(
140
  self.tab_keywords, text="Importar LoRA (.safetensors)",
141
  command=self.load_lora,
142
  bg="#2196F3", fg="white", font=("Arial", 12, "bold")
143
  )
144
+ self.btn_load_lora.pack(pady=5)
145
 
 
146
  self.keywords_output = scrolledtext.ScrolledText(
147
  self.tab_keywords, wrap=tk.WORD, width=100, height=20, font=("Arial", 10)
148
  )
149
  self.keywords_output.pack(padx=10, pady=10, fill="both", expand=True)
150
 
151
+ # Campo de top 10 keywords
152
+ tk.Label(self.tab_keywords, text="Top 10 Keywords (para colar no Gerador):").pack(pady=3)
153
+ self.top10_output = tk.Text(self.tab_keywords, width=100, height=2, font=("Arial", 10))
154
+ self.top10_output.pack(padx=10, pady=5)
155
+
156
+ # Linha para ComfyUI
157
+ frame_comfy = tk.Frame(self.tab_keywords)
158
+ frame_comfy.pack(pady=5, fill="x")
159
+ self.btn_comfy_folder = tk.Button(
160
+ frame_comfy, text="Pasta ComfyUI",
161
+ command=self.select_comfy_folder, bg="#9C27B0", fg="white"
162
+ )
163
+ self.btn_comfy_folder.pack(side="left", padx=5)
164
+ self.lbl_comfy = tk.Label(frame_comfy, text=self.config.get("comfy_folder", ""))
165
+ self.lbl_comfy.pack(side="left", padx=5)
166
+ self.btn_send_comfy = tk.Button(
167
+ frame_comfy, text="Enviar ComfyUI",
168
+ command=self.send_comfy, bg="#4CAF50", fg="white"
169
+ )
170
+ self.btn_send_comfy.pack(side="right", padx=5)
171
+
172
+ # Linha para FooocusAI
173
+ frame_fooocus = tk.Frame(self.tab_keywords)
174
+ frame_fooocus.pack(pady=5, fill="x")
175
+ self.btn_fooocus_folder = tk.Button(
176
+ frame_fooocus, text="Pasta FooocusAI",
177
+ command=self.select_fooocus_folder, bg="#673AB7", fg="white"
178
+ )
179
+ self.btn_fooocus_folder.pack(side="left", padx=5)
180
+ self.lbl_fooocus = tk.Label(frame_fooocus, text=self.config.get("fooocus_folder", ""))
181
+ self.lbl_fooocus.pack(side="left", padx=5)
182
+ self.btn_send_fooocus = tk.Button(
183
+ frame_fooocus, text="Enviar FooocusAI",
184
+ command=self.send_fooocus, bg="#4CAF50", fg="white"
185
  )
186
+ self.btn_send_fooocus.pack(side="right", padx=5)
187
 
188
  def load_lora(self):
189
  file_path = filedialog.askopenfilename(
 
192
  )
193
  if not file_path:
194
  return
195
+ self.current_lora = file_path
196
  try:
197
  with safe_open(file_path, framework="pt") as f:
198
  metadata = f.metadata()
199
  self.keywords_output.delete(1.0, tk.END)
200
+ self.top10_output.delete("1.0", tk.END)
201
  if metadata and "ss_tag_frequency" in metadata:
202
  tags_raw = metadata["ss_tag_frequency"]
203
+ tags = json.loads(tags_raw) if isinstance(tags_raw, str) else tags_raw
 
 
 
 
 
 
204
  self.keywords_output.insert(tk.END, f"Arquivo: {file_path}\n\n")
205
  self.keywords_output.insert(tk.END, "🔹 Keywords encontradas:\n\n")
206
 
207
+ all_tags = []
208
  for dataset, tag_dict in tags.items():
209
  sorted_tags = sorted(tag_dict.items(), key=lambda x: -x[1])
210
  for tag, count in sorted_tags:
211
  self.keywords_output.insert(tk.END, f"{tag} ({count})\n")
212
+ all_tags.append((tag, count))
213
 
214
+ # Pega top 10 keywords
215
+ top10 = [tag for tag, count in sorted(all_tags, key=lambda x: -x[1])[:10]]
216
+ self.top10_output.insert(tk.END, ", ".join(top10))
217
  else:
218
  self.keywords_output.insert(tk.END, "⚠️ Nenhuma keyword encontrada neste LoRA.")
 
219
  except Exception as e:
220
  self.keywords_output.insert(tk.END, f"❌ Erro ao ler o arquivo:\n{e}")
221
 
222
+ def copy_file_to(self, dest_folder):
223
+ if not self.current_lora:
224
+ messagebox.showwarning("Aviso", "Importe primeiro um arquivo LoRA.")
225
+ return
226
+ if not dest_folder:
227
+ messagebox.showwarning("Aviso", "Selecione a pasta de destino primeiro.")
228
+ return
229
+ filename = os.path.basename(self.current_lora)
230
+ dest_file = os.path.join(dest_folder, filename)
231
+ if os.path.exists(dest_file):
232
+ messagebox.showwarning("Aviso", f"O arquivo já existe no destino:\n{dest_file}")
233
+ else:
234
+ shutil.copy2(self.current_lora, dest_file)
235
+ messagebox.showinfo("Sucesso", f"Arquivo copiado para:\n{dest_file}")
236
+
237
+ def select_comfy_folder(self):
238
+ folder = filedialog.askdirectory(title="Selecione a pasta do ComfyUI")
239
+ if folder:
240
+ self.config["comfy_folder"] = folder
241
+ self.lbl_comfy.config(text=folder)
242
+ self.save_config()
243
+
244
+ def select_fooocus_folder(self):
245
+ folder = filedialog.askdirectory(title="Selecione a pasta do FooocusAI")
246
+ if folder:
247
+ self.config["fooocus_folder"] = folder
248
+ self.lbl_fooocus.config(text=folder)
249
+ self.save_config()
250
+
251
+ def send_comfy(self):
252
+ self.copy_file_to(self.config.get("comfy_folder", ""))
253
+
254
+ def send_fooocus(self):
255
+ self.copy_file_to(self.config.get("fooocus_folder", ""))
256
+
257
+ # ----------------- Aba 3 -----------------
258
+ def build_negativos_tab(self):
259
+ topics = ["Anime", "Realismo", "SFW", "NSFW", "Olhos", "Rosto"]
260
+
261
+ frame1 = tk.Frame(self.tab_negativos)
262
+ frame1.pack(pady=5, fill="x")
263
+ tk.Label(frame1, text="Selecione o tipo de negativo (Bloco 1):").pack(anchor="w")
264
+ self.combo1 = ttk.Combobox(frame1, values=topics, state="readonly")
265
+ self.combo1.pack(fill="x", padx=5)
266
+ self.text1 = tk.Text(frame1, width=100, height=5, font=("Arial", 10))
267
+ self.text1.pack(padx=5, pady=5)
268
+
269
+ frame2 = tk.Frame(self.tab_negativos)
270
+ frame2.pack(pady=5, fill="x")
271
+ tk.Label(frame2, text="Selecione o tipo de negativo (Bloco 2):").pack(anchor="w")
272
+ self.combo2 = ttk.Combobox(frame2, values=topics, state="readonly")
273
+ self.combo2.pack(fill="x", padx=5)
274
+ self.text2 = tk.Text(frame2, width=100, height=5, font=("Arial", 10))
275
+ self.text2.pack(padx=5, pady=5)
276
+
277
+ self.btn_generate_neg = tk.Button(
278
+ self.tab_negativos, text="Gerar Negativo",
279
+ command=self.generate_negativo,
280
+ bg="#F44336", fg="white", font=("Arial", 12, "bold")
281
+ )
282
+ self.btn_generate_neg.pack(pady=10)
283
+
284
+ self.neg_output = scrolledtext.ScrolledText(
285
+ self.tab_negativos, wrap=tk.WORD, width=100, height=8, font=("Arial", 10)
286
+ )
287
+ self.neg_output.pack(padx=10, pady=10)
288
+
289
+ self.btn_copy_neg = tk.Button(
290
+ self.tab_negativos, text="Copiar para Área de Transferência",
291
+ command=self.copy_neg_to_clipboard,
292
+ bg="#FF9800", fg="white", font=("Arial", 10, "bold")
293
+ )
294
+ self.btn_copy_neg.pack(pady=5)
295
+
296
+ self.combo1.bind("<<ComboboxSelected>>", lambda e: self.fill_text(self.combo1, self.text1))
297
+ self.combo2.bind("<<ComboboxSelected>>", lambda e: self.fill_text(self.combo2, self.text2))
298
+
299
+ def fill_text(self, combo, text_widget):
300
+ idx = combo.current()
301
+ if idx >= 0:
302
+ text_widget.delete("1.0", tk.END)
303
+ text_widget.insert(tk.END, negativos_exemplo[idx])
304
+
305
+ def generate_negativo(self):
306
+ t1 = self.text1.get("1.0", tk.END).strip()
307
+ t2 = self.text2.get("1.0", tk.END).strip()
308
+ combined = ", ".join([x for x in [t1, t2] if x])
309
+ self.neg_output.delete("1.0", tk.END)
310
+ self.neg_output.insert(tk.END, combined)
311
+
312
+ def copy_neg_to_clipboard(self):
313
+ self.root.clipboard_clear()
314
+ self.root.clipboard_append(self.neg_output.get("1.0", tk.END).strip())
315
+ self.root.update()
316
 
317
 
318
  if __name__ == "__main__":
listas_prompts.py CHANGED
@@ -402,170 +402,202 @@ cenarios_exemplo = [
402
  ]
403
 
404
  posicoes_exemplo = [
405
- "Sex Position description: Missionary sex position, woman lying on back, man on top, deep vaginal penetration, intense eye contact, bodies pressed together, hands gripping sheets, rhythmic thrusting",
406
- "Sex Position description: Doggy style sex position, woman on all fours, man thrusting from behind, vaginal penetration, hips bouncing, hair pulled back, breasts swinging forward, energetic motion",
407
- "Sex Position description: Cowgirl position, woman on top straddling man, vaginal penetration, grinding hips in circular motion, breasts bouncing, hands on his chest, dominant playful gaze",
408
- "Sex Position description: Reverse cowgirl position, woman straddling man facing away, vaginal penetration, hips bouncing up and down, arching her back, hands on thighs, man gripping her waist",
409
- "Sex Position description: Spooning position, lying on side, man behind woman, vaginal penetration, slow thrusting, intimate embrace, kissing her neck, bodies pressed close",
410
- "Sex Position description: Standing sex position, man standing, woman lifted with legs wrapped around his waist, vaginal penetration, back against the wall, passionate kissing, gripping tightly",
411
- "Sex Position description: Bridge position sex, woman lying on back with hips raised like a bridge, man kneeling and thrusting inside, vaginal penetration from elevated hips, arching motion, stretching legs wide",
412
- "Sex Position description: Lotus position, both partners seated cross-legged facing each other, vaginal penetration, deep intimacy, arms wrapped around, rhythmic rocking, intense closeness",
413
- "Sex Position description: Flat doggy style, woman lying flat stomach down, hips slightly raised, man on top penetrating from behind, vaginal thrusting, pressing her body against the bed",
414
- "Sex Position description: Edge of bed sex, woman lying back on edge of bed, man standing between legs, vaginal penetration, pushing hips forward, gripping her thighs",
415
- "Sex Position description: Chair straddle, man sitting on chair, woman straddling lap, vaginal penetration, grinding motion, breasts pressed against chest, arms around neck",
416
- "Sex Position description: Reverse standing, woman bent over table, man behind penetrating vaginally, hips slapping, breasts hanging forward, hands gripping table edge",
417
- "Sex Position description: Butterfly position, woman lying on her back at edge of bed, legs lifted and spread wide, man standing and penetrating vaginally, pushing her thighs apart",
418
- "Sex Position description: Legs on shoulders position, woman lying back, legs raised over man’s shoulders, vaginal penetration, deep angle thrusts, gripping his arms tightly",
419
- "Sex Position description: X position, woman lying on back, legs spread wide in X shape, man on top penetrating vaginally, stretching hips, hands gripping her knees",
420
- "Sex Position description: Piledriver position, woman on back with legs bent over shoulders, hips raised, vaginal penetration, man thrusting from above, extreme penetration angle",
421
- "Sex Position description: Seated face-to-face, man sitting cross-legged, woman on his lap, vaginal penetration, slow rocking, deep kissing, arms wrapped around",
422
- "Sex Position description: Reverse spoon, woman behind man, vaginal penetration from behind, legs intertwined, sensual rocking motion",
423
- "Sex Position description: Wall standing, woman pressed against wall, man behind penetrating vaginally, lifting her slightly, intense thrusts, breasts pressed against wall",
424
- "Sex Position description: Couch sex, woman lying across couch arm, man penetrating from behind, thrusting hips, holding her waist",
425
- "Sex Position description: Bridge reverse, man lying on back with hips raised, woman on top straddling, vaginal penetration, bouncing motion, hands on his thighs",
426
- "Sex Position description: Lap dance sex, man sitting, woman straddling lap facing away, vaginal penetration, grinding back and forth, hands on knees",
427
- "Sex Position description: Lifted carry, man standing lifting woman, vaginal penetration while holding her legs, bouncing motion, kissing passionately",
428
- "Sex Position description: Desk sex, woman bent forward over desk, man behind thrusting vaginally, gripping hips, papers scattered",
429
- "Sex Position description: Floor missionary, woman lying on rug, man on top penetrating, soft lighting, deep thrusting motion",
430
- "Sex Position description: Crossbody position, woman lying sideways, man entering from side, vaginal penetration, one leg hooked over his hip",
431
- "Sex Position description: Ballet lift, man holding woman with legs spread in air, vaginal penetration while standing, dramatic pose",
432
- "Sex Position description: Cliffhanger bed, woman upside down with hips at edge, man standing penetrating vaginally downward, deep angle",
433
- "Sex Position description: Side saddle, woman straddling man sideways, vaginal penetration, grinding hips slowly, breasts rubbing against chest",
434
- "Sex Position description: Face-down spread, woman lying face-down, hips lifted with pillow, man on top thrusting vaginally, pressing her into bed",
435
- "Sex Position description: Reverse lotus, woman sitting on top cross-legged, man lying back, vaginal penetration, rocking motion",
436
- "Sex Position description: Bridge arch, woman arching back dramatically while man penetrates, hips lifted high, vaginal thrusting from below",
437
- "Sex Position description: Chair edge, woman sitting on edge of chair, man kneeling between legs penetrating vaginally, gripping thighs",
438
- "Sex Position description: Bent over couch, woman leaning over couch arm, man behind thrusting vaginally, breasts swinging, rhythmic motion",
439
- "Sex Position description: Squat sex, woman squatting over man lying on back, vaginal penetration, bouncing motion, gripping his knees",
440
- "Sex Position description: Backwards spoon, man lying behind, woman lifting leg high, vaginal penetration from behind, intimate thrusting",
441
- "Sex Position description: Kitchen counter, woman sitting on counter, legs wrapped around man, vaginal penetration, deep kissing, hands gripping waist",
442
- "Sex Position description: Lap grind reverse, man sitting, woman straddling lap facing away, vaginal penetration, grinding hips, arching back",
443
- "Sex Position description: Leg lock, woman wrapping legs tightly around man’s waist, vaginal penetration, deep thrusting, intense closeness",
444
- "Sex Position description: Bridge doggy, woman in arch position with hips raised, man thrusting vaginally from behind, breasts bouncing forward",
445
- "Sex Position description: Wall lift, man lifting woman against wall, vaginal penetration, hips bouncing, arms gripping shoulders",
446
- "Sex Position description: Reverse edge, woman lying back on table edge, man standing penetrating vaginally, holding legs wide apart",
447
- "Sex Position description: Over the shoulder, man holding woman’s leg high over shoulder, vaginal penetration at steep angle, gripping thighs",
448
- "Sex Position description: Straddle pin, man pinning woman down while straddling, vaginal penetration, rough thrusting, wrists held",
449
- "Sex Position description: Leg split, woman lying back with legs stretched wide apart, man penetrating vaginally, gripping her ankles",
450
- "Sex Position description: Upside down lap, woman upside down across man’s lap, vaginal penetration, breasts hanging, gripping thighs",
451
- "Sex Position description: Mirror sex, woman facing mirror, man penetrating from behind, watching reflection, breasts bouncing",
452
- "Sex Position description: Bridge twist, woman twisting hips upward, man kneeling penetrating vaginally, intense hip motion",
453
- "Sex Position description: On all fours reverse, woman on hands and knees facing up bed, man penetrating vaginally from below angle",
454
- "Sex Position description: Cross lift, man lifting woman sideways across body, vaginal penetration, dramatic acrobatic pose",
455
- "Sex Position description: Bed straddle, man sitting back, woman straddling on top, vaginal penetration, slow grinding",
456
- "Sex Position description: Bent leg doggy, woman on all fours with one leg lifted, man penetrating from behind, dynamic thrusts",
457
- "Sex Position description: Arch over pillow, woman lying on stomach with pillow under hips, man penetrating vaginally, deep thrusts",
458
- "Sex Position description: Side arch, woman lying sideways arching hips, man penetrating vaginally from side, gripping thighs",
459
- "Sex Position description: Chair reverse, woman sitting reverse on chair, man kneeling between legs, vaginal penetration",
460
- "Sex Position description: Face to floor, woman pressed face-down to bed, man penetrating from behind, rough thrusting motion",
461
- "Sex Position description: Bridge straddle, woman bridging hips high, man straddling and penetrating vaginally, intense pelvic angle",
462
- "Sex Position description: Over desk lift, man lifting woman onto desk edge, vaginal penetration, gripping her legs wide",
463
- "Sex Position description: Reverse couch, woman sitting back on couch arm, man penetrating vaginally from below",
464
- "Sex Position description: Leg wrap couch, woman wrapping legs around man while seated on couch, vaginal penetration",
465
- "Sex Position description: Bed kneel, woman kneeling on bed, man entering from behind, vaginal penetration, breasts bouncing",
466
- "Sex Position description: Bridge couch, woman arching back over couch, man penetrating vaginally, gripping waist tightly",
467
- "Sex Position description: Chair grind, woman grinding on man’s lap, vaginal penetration, bouncing breasts, hands gripping chair arms",
468
- "Sex Position description: Leg hook, woman hooking leg around man’s shoulder, vaginal penetration, steep thrust angle",
469
- "Sex Position description: Side wrap, woman wrapping one leg over man’s hip while lying, vaginal penetration, deep intimacy",
470
- "Sex Position description: Standing rear, woman bent over while standing, man behind thrusting vaginally, gripping hips",
471
- "Sex Position description: Over armrest, woman bent over armrest, man penetrating vaginally from behind, rhythmic thrusts",
472
- "Sex Position description: Reverse table, woman lying back across table, man standing penetrating vaginally, pushing thighs apart",
473
- "Sex Position description: Bridge face-up, woman arching face up, man thrusting vaginally from above, breasts bouncing",
474
- "Sex Position description: Squat grind, woman squatting on man, vaginal penetration, grinding hips, breasts bouncing",
475
- "Sex Position description: Lift and pin, man lifting woman and pinning against wall, vaginal penetration, intense motion",
476
- "Sex Position description: Reverse kneel, woman kneeling facing away, man penetrating vaginally from behind, gripping waist",
477
- "Sex Position description: Bed roll, woman lying sideways, man rolling over her while thrusting vaginally, intense grinding",
478
- "Sex Position description: Crossed legs, woman crossing legs around man’s waist, vaginal penetration, deep thrusts",
479
- "Sex Position description: Face sitting, woman sitting on man’s face while he penetrates vaginally from below",
480
- "Sex Position description: Reverse stand, woman standing bent forward, man behind thrusting vaginally, gripping her arms",
481
- "Sex Position description: Leg hold arch, man holding both of woman’s legs up while thrusting vaginally, deep penetration",
482
- "Sex Position description: Edge kneel, woman kneeling on edge of bed, man behind thrusting vaginally, pressing her forward",
483
- "Sex Position description: Lift and thrust, man lifting woman onto his hips, vaginal penetration while walking, bouncing",
484
- "Sex Position description: Reverse chair straddle, woman straddling chair backward, man penetrating vaginally from behind",
485
- "Sex Position description: Couch straddle, woman straddling man on couch, vaginal penetration, breasts bouncing, kissing",
486
- "Sex Position description: Leg press, woman pressing knees to chest, man thrusting vaginally from above, intense penetration",
487
- "Sex Position description: Overhead lift, man lifting woman overhead, vaginal penetration, acrobatic position",
488
- "Sex Position description: Bridge against wall, woman arching back against wall, man thrusting vaginally, gripping thighs",
489
- "Sex Position description: Reverse spoon twist, woman twisting hips while spooning, man penetrating vaginally from behind",
490
- "Sex Position description: Bed arch grip, woman gripping headboard, arching hips, man penetrating vaginally from behind",
491
- "Sex Position description: Chair lift, man lifting woman onto chair, vaginal penetration, bouncing hips, kissing passionately",
492
- "Sex Position description: Floor grind, woman lying flat on floor, man straddling and penetrating vaginally, pressing her down",
493
- "Sex Position description: Reverse lap grind, woman grinding back on man’s lap, vaginal penetration, arching her back",
494
- "Sex Position description: Over table arch, woman arched back across table, man standing penetrating vaginally, gripping her waist",
495
- "Sex Position description: Bridge kneel, woman kneeling with hips arched, man thrusting vaginally from behind, breasts bouncing",
496
- "Sex Position description: Reverse lift couch, man lifting woman onto couch arm, vaginal penetration, bouncing motion",
497
- "Sex Position description: Pinned down, man pinning woman’s wrists above head, vaginal penetration from above, rough thrusts",
498
- "Sex Position description: Leg lock twist, woman twisting hips with legs locked around man, vaginal penetration, deep thrusts",
499
- "Sex Position description: Bed arch thrust, woman arching hips high, man penetrating vaginally from behind, rhythmic motion",
500
- "Sex Position description: Reverse grind chair, woman grinding backwards on chair seat, man penetrating vaginally",
501
- "Sex Position description: Lift against counter, man lifting woman onto counter, vaginal penetration, gripping legs wide apart",
502
- "Sex Position description: Arch spread, woman spreading legs wide arching hips, man thrusting vaginally from above"
503
-
504
- "Sex Position description: Double penetration, woman on all fours, one man penetrating vaginally from behind while another penetrates orally, intense rhythm, hair pulled, hands gripping sheets, menage, threesome, two males one female",
505
- "Sex Position description: Sandwich position, woman bent over, one man in front receiving oral, another man behind penetrating vaginally, deep thrusts, synchronized motion, menage, threesome, two males one female",
506
- "Sex Position description: Couch threesome, woman straddling one man on the couch while the second man penetrates from behind, breasts bouncing, hands gripping thighs, menage, threesome, two males one female",
507
- "Sex Position description: Double missionary, woman lying on back, one man between her legs penetrating vaginally, the other man straddling her chest for oral, intense closeness, menage, threesome, two males one female",
508
- "Sex Position description: Standing lift, one man lifting woman against wall while penetrating vaginally, second man receives oral as she grips both bodies, menage, threesome, two males one female",
509
- "Sex Position description: Reverse cowgirl double, woman straddling one man facing away while another man penetrates from behind, breasts bouncing, loud moans, menage, threesome, two males one female",
510
- "Sex Position description: Edge of bed, woman lying back, one man between her legs thrusting vaginally, another man standing near head receiving oral, menage, threesome, two males one female",
511
- "Sex Position description: Doggy style double, woman on all fours, one man behind thrusting vaginally, second man in front receiving oral, hair pulled tight, menage, threesome, two males one female",
512
- "Sex Position description: Lap sandwich, woman straddling one man on a chair, riding vaginally, while second man stands behind penetrating anally, close embrace, menage, threesome, two males one female",
513
- "Sex Position description: Floor threesome, woman on back, one man thrusting vaginally, second man sitting over her chest for oral, arms restrained, menage, threesome, two males one female",
514
- "Sex Position description: Standing spitroast, woman bent forward, one man behind thrusting vaginally, another in front receiving oral, gripping hips tight, menage, threesome, two males one female",
515
- "Sex Position description: Double face-to-face, woman riding one man while leaning forward giving oral to the second man, sweat dripping, loud breathing, menage, threesome, two males one female",
516
- "Sex Position description: Over the table, woman bent over table, one man thrusting from behind, another man standing in front gripping hair during oral, menage, threesome, two males one female",
517
- "Sex Position description: Lotus triple, woman cross-legged on one man’s lap, vaginal penetration, second man kneeling in front receiving oral, arms wrapped, menage, threesome, two males one female",
518
- "Sex Position description: Double bridge, woman arching back, one man thrusting vaginally, another kneeling at her face for oral, breasts bouncing, menage, threesome, two males one female",
519
- "Sex Position description: Couch reverse, woman lying back on couch arm, one man thrusting from below vaginally, another standing near head gripping her mouth, menage, threesome, two males one female",
520
- "Sex Position description: Double squatting, woman squatting over one man on floor while second man penetrates vaginally from behind, bouncing motion, menage, threesome, two males one female",
521
- "Sex Position description: Bed spread, woman on back with legs wide apart, one man thrusting vaginally, another kneeling on chest for oral, hands pinned, menage, threesome, two males one female",
522
- "Sex Position description: Wall double, woman pressed against wall, one man lifting her for vaginal penetration, second man standing for oral, breasts pressed, menage, threesome, two males one female",
523
- "Sex Position description: Reverse threesome, woman on top of one man in missionary, while second man penetrates from behind, double stimulation, menage, threesome, two males one female",
524
- "Sex Position description: Chair triple, woman straddling one man on chair vaginally, another man standing behind gripping her hips and thrusting anally, menage, threesome, two males one female",
525
- "Sex Position description: Double spoon, woman lying on side, one man penetrating vaginally from behind, another lying in front receiving oral, menage, threesome, two males one female",
526
- "Sex Position description: Kneel spitroast, woman on knees, one man standing in front receiving oral, another behind thrusting vaginally, hair pulled, menage, threesome, two males one female",
527
- "Sex Position description: Desk triple, woman bent forward over desk, one man thrusting vaginally from behind, second man in front pushing deep into mouth, menage, threesome, two males one female",
528
- "Sex Position description: Face-up double, woman lying face-up on bed, one man thrusting vaginally, another sitting over chest for oral, gripping wrists, menage, threesome, two males one female",
529
- "Sex Position description: Lifted double, woman lifted by one man penetrating vaginally, another man in front receiving oral, bouncing against wall, menage, threesome, two males one female",
530
- "Sex Position description: Reverse kneel, woman kneeling on all fours, one man thrusting vaginally from behind, another man receiving oral in front, menage, threesome, two males one female",
531
- "Sex Position description: Bridge spitroast, woman arching hips high, one man thrusting vaginally, another standing over her face receiving oral, menage, threesome, two males one female",
532
- "Sex Position description: Couch grind double, woman grinding on man seated vaginally, second man behind thrusting, breasts bouncing wildly, menage, threesome, two males one female",
533
- "Sex Position description: Bed pin double, woman pinned down by one man thrusting vaginally, another man straddling her face for oral, rough pace, menage, threesome, two males one female",
534
- "Sex Position description: Double couch lift, woman straddling one man sitting on couch while another man holds her legs open and thrusts from behind, breasts bouncing, loud moans, menage, threesome, two males one female",
535
- "Sex Position description: Face-down double, woman pressed into mattress face-down, one man thrusting vaginally from behind, second man kneeling by her head for oral, hands gripping sheets, menage, threesome, two males one female",
536
- "Sex Position description: Reverse spitroast, woman riding one man cowgirl style while bending forward giving oral to another man standing in front, hips grinding fast, menage, threesome, two males one female",
537
- "Sex Position description: Wall arch double, woman lifted by one man against wall for vaginal penetration while another presses into her mouth, intense rhythm, menage, threesome, two males one female",
538
- "Sex Position description: Overhead double, woman held upside down by two men, one thrusting vaginally while other receives oral, acrobatic intense pose, menage, threesome, two males one female",
539
- "Sex Position description: Chair double grind, woman grinding on lap of seated man while second man thrusts from behind, breasts pressed forward, moaning loudly, menage, threesome, two males one female",
540
- "Sex Position description: Kneeling threeway, woman kneeling between two men, one behind thrusting vaginally, one in front pushing deep into mouth, hands pulling hair, menage, threesome, two males one female",
541
- "Sex Position description: Side split double, woman lying sideways with one leg raised high, one man penetrating vaginally, another man kneeling at her mouth for oral, menage, threesome, two males one female",
542
- "Sex Position description: Bed sandwich, woman lying on top of one man, vaginal penetration from below, second man entering from behind in deep thrusts, menage, threesome, two males one female",
543
- "Sex Position description: Arch double press, woman arching hips upward on bed, one man thrusting vaginally, another kneeling over her chest for oral, menage, threesome, two males one female",
544
- "Sex Position description: Reverse lotus double, woman straddling one man cross-legged while another man penetrates from behind, arms wrapped tightly, menage, threesome, two males one female",
545
- "Sex Position description: Lift and lock, woman lifted by one man for vaginal penetration, second man pressing into mouth while she wraps arms around both, menage, threesome, two males one female",
546
- "Sex Position description: Edge spitroast, woman bent over bed edge, one man thrusting vaginally from behind, second man standing in front gripping her hair during oral, menage, threesome, two males one female",
547
- "Sex Position description: Chair kneel double, woman kneeling on chair facing one man for oral while second man penetrates vaginally from behind, breasts swinging, menage, threesome, two males one female",
548
- "Sex Position description: Bridge press triple, woman arching back dramatically, one man thrusting vaginally, another sitting near her face, hips bouncing, menage, threesome, two males one female",
549
- "Sex Position description: Couch twist double, woman lying twisted sideways across couch, one man thrusting vaginally, second man pressing into mouth, menage, threesome, two males one female",
550
- "Sex Position description: Standing locked double, woman held between two men standing, one thrusting vaginally, other pushing deep into her throat, menage, threesome, two males one female",
551
- "Sex Position description: Table arch double, woman arched back on table edge, one man between her legs thrusting vaginally, second man in front for oral, menage, threesome, two males one female",
552
- "Sex Position description: Floor lift spitroast, woman lifted at hips by one man thrusting vaginally while second man stands over her head for oral, menage, threesome, two males one female",
553
- "Sex Position description: Double bed kneel, woman on all fours on bed, one man thrusting vaginally from behind, another kneeling in front pressing into her mouth, menage, threesome, two males one female",
554
- "Sex Position description: Chair arch spitroast, woman arching back over chair, one man thrusting vaginally, another pushing into her mouth while gripping neck, menage, threesome, two males one female",
555
- "Sex Position description: Leg lift double, woman on back with both legs raised, one man thrusting vaginally, another kneeling over her face for oral, menage, threesome, two males one female",
556
- "Sex Position description: Wall double pin, woman pinned by one man against wall thrusting vaginally, second man holding head steady for oral, menage, threesome, two males one female",
557
- "Sex Position description: Couch ride double, woman riding one man reverse cowgirl while second man penetrates from behind, breasts bouncing forward, menage, threesome, two males one female",
558
- "Sex Position description: Bed kneel spitroast, woman kneeling on bed, one man thrusting vaginally from behind, another standing in front for oral, menage, threesome, two males one female",
559
- "Sex Position description: Double chair lift, woman lifted between two men, one penetrating vaginally, another pushing into mouth, bouncing together, menage, threesome, two males one female",
560
- "Sex Position description: Arch grind spitroast, woman grinding hips upward, one man thrusting vaginally, second man standing for oral, sweaty and intense, menage, threesome, two males one female",
561
- "Sex Position description: Side lock double, woman lying on side, one man thrusting vaginally, second man kneeling at face pressing deep, legs hooked, menage, threesome, two males one female",
562
- "Sex Position description: Over sofa double, woman bent forward over sofa arm, one man thrusting from behind, second man standing for oral, hands gripping waist, menage, threesome, two males one female",
563
- "Sex Position description: Reverse straddle double, woman straddling one man’s lap facing away, vaginal penetration, while another man penetrates her mouth in front, menage, threesome, two males one female"
564
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
565
  ]
566
 
567
 
568
 
 
 
 
 
 
 
569
  # listas_lighting.py
570
 
571
  lighting_prompts = [
@@ -624,4 +656,25 @@ lighting_prompts = [
624
  "Captured on an iPod Touch camera, low megapixel sensor, blur from hand movement, washed out tones, poor contrast, real lo-fi snapshot",
625
  "Shot with a VHS camcorder frame grab, interlaced scan lines, washed tones, soft blur, low resolution noise, nostalgic 90s look",
626
  "Captured with a broken sensor DSLR, dead pixels scattered, uneven exposure, odd magenta color shift, visible banding, imperfect raw capture"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
627
  ]
 
402
  ]
403
 
404
  posicoes_exemplo = [
405
+ "Missionary sex position, woman lying on back, man on top, deep vaginal penetration, intense eye contact, bodies pressed together, hands gripping sheets, rhythmic thrusting",
406
+ "Doggy style sex position, woman on all fours, man thrusting from behind, vaginal penetration, hips bouncing, hair pulled back, breasts swinging forward, energetic motion",
407
+ "Cowgirl sex position, woman on top straddling man, vaginal penetration, grinding hips in circular motion, breasts bouncing, hands on his chest, dominant playful gaze",
408
+ "Reverse cowgirl sex position, woman straddling man facing away, vaginal penetration, hips bouncing up and down, arching her back, hands on thighs, man gripping her waist",
409
+ "Spooning sex position, lying on side, man behind woman, vaginal penetration, slow thrusting, intimate embrace, kissing her neck, bodies pressed close",
410
+ "Standing sex position, man standing, woman lifted with legs wrapped around his waist, vaginal penetration, back against the wall, passionate kissing, gripping tightly",
411
+ "Bridge sex position, woman lying on back with hips raised like a bridge, man kneeling and thrusting inside, vaginal penetration from elevated hips, arching motion, stretching legs wide",
412
+ "Lotus sex position, both partners seated cross-legged facing each other, vaginal penetration, deep intimacy, arms wrapped around, rhythmic rocking, intense closeness",
413
+ "Flat doggy style sex position, woman lying flat stomach down, hips slightly raised, man on top penetrating from behind, vaginal thrusting, pressing her body against the bed",
414
+ "Edge of bed sex position, woman lying back on edge of bed, man standing between legs, vaginal penetration, pushing hips forward, gripping her thighs",
415
+ "Chair straddle sex position, man sitting on chair, woman straddling lap, vaginal penetration, grinding motion, breasts pressed against chest, arms around neck",
416
+ "Reverse standing sex position, woman bent over table, man behind penetrating vaginally, hips slapping, breasts hanging forward, hands gripping table edge",
417
+ "Butterfly sex position, woman lying on her back at edge of bed, legs lifted and spread wide, man standing and penetrating vaginally, pushing her thighs apart",
418
+ "Legs on shoulders sex position, woman lying back, legs raised over man’s shoulders, vaginal penetration, deep angle thrusts, gripping his arms tightly",
419
+ "X sex position, woman lying on back, legs spread wide in X shape, man on top penetrating vaginally, stretching hips, hands gripping her knees",
420
+ "Piledriver sex position, woman on back with legs bent over shoulders, hips raised, vaginal penetration, man thrusting from above, extreme penetration angle",
421
+ "Seated face-to-face sex position, man sitting cross-legged, woman on his lap, vaginal penetration, slow rocking, deep kissing, arms wrapped around",
422
+ "Reverse spoon sex position, woman behind man, vaginal penetration from behind, legs intertwined, sensual rocking motion",
423
+ "Wall standing sex position, woman pressed against wall, man behind penetrating vaginally, lifting her slightly, intense thrusts, breasts pressed against wall",
424
+ "Couch sex position, woman lying across couch arm, man penetrating from behind, thrusting hips, holding her waist",
425
+ "Bridge reverse sex position, man lying on back with hips raised, woman on top straddling, vaginal penetration, bouncing motion, hands on his thighs",
426
+ "Lap dance sex position, man sitting, woman straddling lap facing away, vaginal penetration, grinding back and forth, hands on knees",
427
+ "Lifted carry sex position, man standing lifting woman, vaginal penetration while holding her legs, bouncing motion, kissing passionately",
428
+ "Desk sex position, woman bent forward over desk, man behind thrusting vaginally, gripping hips, papers scattered",
429
+ "Floor missionary sex position, woman lying on rug, man on top penetrating, soft lighting, deep thrusting motion",
430
+ "Crossbody sex position, woman lying sideways, man entering from side, vaginal penetration, one leg hooked over his hip",
431
+ "Ballet lift sex position, man holding woman with legs spread in air, vaginal penetration while standing, dramatic pose",
432
+ "Cliffhanger bed sex position, woman upside down with hips at edge, man standing penetrating vaginally downward, deep angle",
433
+ "Side saddle sex position, woman straddling man sideways, vaginal penetration, grinding hips slowly, breasts rubbing against chest",
434
+ "Face-down spread sex position, woman lying face-down, hips lifted with pillow, man on top thrusting vaginally, pressing her into bed",
435
+ "Reverse lotus sex position, woman sitting on top cross-legged, man lying back, vaginal penetration, rocking motion",
436
+ "Bridge arch sex position, woman arching back dramatically while man penetrates, hips lifted high, vaginal thrusting from below",
437
+ "Chair edge sex position, woman sitting on edge of chair, man kneeling between legs penetrating vaginally, gripping thighs",
438
+ "Bent over couch sex position, woman leaning over couch arm, man behind thrusting vaginally, breasts swinging, rhythmic motion",
439
+ "Squat sex position, woman squatting over man lying on back, vaginal penetration, bouncing motion, gripping his knees",
440
+ "Backwards spoon sex position, man lying behind, woman lifting leg high, vaginal penetration from behind, intimate thrusting",
441
+ "Kitchen counter sex position, woman sitting on counter, legs wrapped around man, vaginal penetration, deep kissing, hands gripping waist",
442
+ "Lap grind reverse sex position, man sitting, woman straddling lap facing away, vaginal penetration, grinding hips, arching back",
443
+ "Leg lock sex position, woman wrapping legs tightly around man’s waist, vaginal penetration, deep thrusting, intense closeness"
444
+
445
+
446
+ "Bridge doggy sex position, woman in arch position with hips raised, man thrusting vaginally from behind, breasts bouncing forward",
447
+ "Wall lift sex position, man lifting woman against wall, vaginal penetration, hips bouncing, arms gripping shoulders",
448
+ "Reverse edge sex position, woman lying back on table edge, man standing penetrating vaginally, holding legs wide apart",
449
+ "Over the shoulder sex position, man holding woman’s leg high over shoulder, vaginal penetration at steep angle, gripping thighs",
450
+ "Straddle pin sex position, man pinning woman down while straddling, vaginal penetration, rough thrusting, wrists held",
451
+ "Leg split sex position, woman lying back with legs stretched wide apart, man penetrating vaginally, gripping her ankles",
452
+ "Upside down lap sex position, woman upside down across man’s lap, vaginal penetration, breasts hanging, gripping thighs",
453
+ "Mirror sex position, woman facing mirror, man penetrating from behind, watching reflection, breasts bouncing",
454
+ "Bridge twist sex position, woman twisting hips upward, man kneeling penetrating vaginally, intense hip motion",
455
+ "On all fours reverse sex position, woman on hands and knees facing up bed, man penetrating vaginally from below angle",
456
+ "Cross lift sex position, man lifting woman sideways across body, vaginal penetration, dramatic acrobatic pose",
457
+ "Bed straddle sex position, man sitting back, woman straddling on top, vaginal penetration, slow grinding",
458
+ "Bent leg doggy sex position, woman on all fours with one leg lifted, man penetrating from behind, dynamic thrusts",
459
+ "Arch over pillow sex position, woman lying on stomach with pillow under hips, man penetrating vaginally, deep thrusts",
460
+ "Side arch sex position, woman lying sideways arching hips, man penetrating vaginally from side, gripping thighs",
461
+ "Chair reverse sex position, woman sitting reverse on chair, man kneeling between legs, vaginal penetration",
462
+ "Face to floor sex position, woman pressed face-down to bed, man penetrating from behind, rough thrusting motion",
463
+ "Bridge straddle sex position, woman bridging hips high, man straddling and penetrating vaginally, intense pelvic angle",
464
+ "Over desk lift sex position, man lifting woman onto desk edge, vaginal penetration, gripping her legs wide",
465
+ "Reverse couch sex position, woman sitting back on couch arm, man penetrating vaginally from below",
466
+ "Leg wrap couch sex position, woman wrapping legs around man while seated on couch, vaginal penetration",
467
+ "Bed kneel sex position, woman kneeling on bed, man entering from behind, vaginal penetration, breasts bouncing",
468
+ "Bridge couch sex position, woman arching back over couch, man penetrating vaginally, gripping waist tightly",
469
+ "Chair grind sex position, woman grinding on man’s lap, vaginal penetration, bouncing breasts, hands gripping chair arms",
470
+ "Leg hook sex position, woman hooking leg around man’s shoulder, vaginal penetration, steep thrust angle",
471
+ "Side wrap sex position, woman wrapping one leg over man’s hip while lying, vaginal penetration, deep intimacy",
472
+ "Standing rear sex position, woman bent over while standing, man behind thrusting vaginally, gripping hips",
473
+ "Over armrest sex position, woman bent over armrest, man penetrating vaginally from behind, rhythmic thrusts",
474
+ "Reverse table sex position, woman lying back across table, man standing penetrating vaginally, pushing thighs apart",
475
+ "Bridge face-up sex position, woman arching face up, man thrusting vaginally from above, breasts bouncing",
476
+ "Squat grind sex position, woman squatting on man, vaginal penetration, grinding hips, breasts bouncing",
477
+ "Lift and pin sex position, man lifting woman and pinning against wall, vaginal penetration, intense motion",
478
+ "Reverse kneel sex position, woman kneeling facing away, man penetrating vaginally from behind, gripping waist",
479
+ "Bed roll sex position, woman lying sideways, man rolling over her while thrusting vaginally, intense grinding",
480
+ "Crossed legs sex position, woman crossing legs around man’s waist, vaginal penetration, deep thrusts",
481
+ "Face sitting sex position, woman sitting on man’s face while he penetrates vaginally from below",
482
+ "Reverse stand sex position, woman standing bent forward, man behind thrusting vaginally, gripping her arms",
483
+ "Leg hold arch sex position, man holding both of woman’s legs up while thrusting vaginally, deep penetration",
484
+ "Edge kneel sex position, woman kneeling on edge of bed, man behind thrusting vaginally, pressing her forward"
485
+
486
+
487
+ "Lift and thrust sex position, man lifting woman onto his hips, vaginal penetration while walking, bouncing",
488
+ "Reverse chair straddle sex position, woman straddling chair backward, man penetrating vaginally from behind",
489
+ "Couch straddle sex position, woman straddling man on couch, vaginal penetration, breasts bouncing, kissing",
490
+ "Leg press sex position, woman pressing knees to chest, man thrusting vaginally from above, intense penetration",
491
+ "Overhead lift sex position, man lifting woman overhead, vaginal penetration, acrobatic position",
492
+ "Bridge against wall sex position, woman arching back against wall, man thrusting vaginally, gripping thighs",
493
+ "Reverse spoon twist sex position, woman twisting hips while spooning, man penetrating vaginally from behind",
494
+ "Bed arch grip sex position, woman gripping headboard, arching hips, man penetrating vaginally from behind",
495
+ "Chair lift sex position, man lifting woman onto chair, vaginal penetration, bouncing hips, kissing passionately",
496
+ "Floor grind sex position, woman lying flat on floor, man straddling and penetrating vaginally, pressing her down",
497
+ "Reverse lap grind sex position, woman grinding back on man’s lap, vaginal penetration, arching her back",
498
+ "Over table arch sex position, woman arched back across table, man standing penetrating vaginally, gripping her waist",
499
+ "Bridge kneel sex position, woman kneeling with hips arched, man thrusting vaginally from behind, breasts bouncing",
500
+ "Reverse lift couch sex position, man lifting woman onto couch arm, vaginal penetration, bouncing motion",
501
+ "Pinned down sex position, man pinning woman’s wrists above head, vaginal penetration from above, rough thrusts",
502
+ "Leg lock twist sex position, woman twisting hips with legs locked around man, vaginal penetration, deep thrusts",
503
+ "Bed arch thrust sex position, woman arching hips high, man penetrating vaginally from behind, rhythmic motion",
504
+ "Reverse grind chair sex position, woman grinding backwards on chair seat, man penetrating vaginally",
505
+ "Lift against counter sex position, man lifting woman onto counter, vaginal penetration, gripping legs wide apart",
506
+ "Arch spread sex position, woman spreading legs wide arching hips, man thrusting vaginally from above",
507
+ "Double penetration sex position, woman on all fours, one man penetrating vaginally from behind while another penetrates orally, intense rhythm, hair pulled, hands gripping sheets, menage, threesome, two males one female",
508
+ "Sandwich sex position, woman bent over, one man in front receiving oral, another man behind penetrating vaginally, deep thrusts, synchronized motion, menage, threesome, two males one female",
509
+ "Couch threesome sex position, woman straddling one man on the couch while the second man penetrates from behind, breasts bouncing, hands gripping thighs, menage, threesome, two males one female",
510
+ "Double missionary sex position, woman lying on back, one man between her legs penetrating vaginally, the other man straddling her chest for oral, intense closeness, menage, threesome, two males one female",
511
+ "Standing lift sex position, one man lifting woman against wall while penetrating vaginally, second man receives oral as she grips both bodies, menage, threesome, two males one female",
512
+ "Reverse cowgirl double sex position, woman straddling one man facing away while another man penetrates from behind, breasts bouncing, loud moans, menage, threesome, two males one female",
513
+ "Edge of bed double sex position, woman lying back, one man between her legs thrusting vaginally, another man standing near head receiving oral, menage, threesome, two males one female",
514
+ "Doggy style double sex position, woman on all fours, one man behind thrusting vaginally, second man in front receiving oral, hair pulled tight, menage, threesome, two males one female",
515
+ "Lap sandwich sex position, woman straddling one man on a chair, riding vaginally, while second man stands behind penetrating anally, close embrace, menage, threesome, two males one female",
516
+ "Floor threesome sex position, woman on back, one man thrusting vaginally, second man sitting over her chest for oral, arms restrained, menage, threesome, two males one female",
517
+ "Standing spitroast sex position, woman bent forward, one man behind thrusting vaginally, another in front receiving oral, gripping hips tight, menage, threesome, two males one female",
518
+ "Double face-to-face sex position, woman riding one man while leaning forward giving oral to the second man, sweat dripping, loud breathing, menage, threesome, two males one female",
519
+ "Over the table double sex position, woman bent over table, one man thrusting from behind, another man standing in front gripping hair during oral, menage, threesome, two males one female",
520
+ "Lotus triple sex position, woman cross-legged on one man’s lap, vaginal penetration, second man kneeling in front receiving oral, arms wrapped, menage, threesome, two males one female",
521
+ "Double bridge sex position, woman arching back, one man thrusting vaginally, another kneeling at her face for oral, breasts bouncing, menage, threesome, two males one female",
522
+ "Couch reverse sex position, woman lying back on couch arm, one man thrusting from below vaginally, another standing near head gripping her mouth, menage, threesome, two males one female",
523
+ "Double squatting sex position, woman squatting over one man on floor while second man penetrates vaginally from behind, bouncing motion, menage, threesome, two males one female",
524
+ "Bed spread sex position, woman on back with legs wide apart, one man thrusting vaginally, another kneeling on chest for oral, hands pinned, menage, threesome, two males one female",
525
+ "Wall double sex position, woman pressed against wall, one man lifting her for vaginal penetration, second man standing for oral, breasts pressed, menage, threesome, two males one female"
526
+
527
+
528
+ "Reverse threesome sex position, woman on top of one man in missionary, while second man penetrates from behind, double stimulation, menage, threesome, two males one female",
529
+ "Chair triple sex position, woman straddling one man on chair vaginally, another man standing behind gripping her hips and thrusting anally, menage, threesome, two males one female",
530
+ "Double spoon sex position, woman lying on side, one man penetrating vaginally from behind, another lying in front receiving oral, menage, threesome, two males one female",
531
+ "Kneel spitroast sex position, woman on knees, one man standing in front receiving oral, another behind thrusting vaginally, hair pulled, menage, threesome, two males one female",
532
+ "Desk triple sex position, woman bent forward over desk, one man thrusting vaginally from behind, second man in front pushing deep into mouth, menage, threesome, two males one female",
533
+ "Face-up double sex position, woman lying face-up on bed, one man thrusting vaginally, another sitting over chest for oral, gripping wrists, menage, threesome, two males one female",
534
+ "Lifted double sex position, woman lifted by one man penetrating vaginally, another man in front receiving oral, bouncing against wall, menage, threesome, two males one female",
535
+ "Reverse kneel sex position, woman kneeling on all fours, one man thrusting vaginally from behind, another man receiving oral in front, menage, threesome, two males one female",
536
+ "Bridge spitroast sex position, woman arching hips high, one man thrusting vaginally, another standing over her face receiving oral, menage, threesome, two males one female",
537
+ "Couch grind double sex position, woman grinding on man seated vaginally, second man behind thrusting, breasts bouncing wildly, menage, threesome, two males one female",
538
+ "Bed pin double sex position, woman pinned down by one man thrusting vaginally, another man straddling her face for oral, rough pace, menage, threesome, two males one female",
539
+ "Double couch lift sex position, woman straddling one man sitting on couch while another man holds her legs open and thrusts from behind, breasts bouncing, loud moans, menage, threesome, two males one female",
540
+ "Face-down double sex position, woman pressed into mattress face-down, one man thrusting vaginally from behind, second man kneeling by her head for oral, hands gripping sheets, menage, threesome, two males one female",
541
+ "Reverse spitroast sex position, woman riding one man cowgirl style while bending forward giving oral to another man standing in front, hips grinding fast, menage, threesome, two males one female",
542
+ "Wall arch double sex position, woman lifted by one man against wall for vaginal penetration while another presses into her mouth, intense rhythm, menage, threesome, two males one female",
543
+ "Overhead double sex position, woman held upside down by two men, one thrusting vaginally while other receives oral, acrobatic intense pose, menage, threesome, two males one female",
544
+ "Chair double grind sex position, woman grinding on lap of seated man while second man thrusts from behind, breasts pressed forward, moaning loudly, menage, threesome, two males one female",
545
+ "Kneeling threeway sex position, woman kneeling between two men, one behind thrusting vaginally, one in front pushing deep into mouth, hands pulling hair, menage, threesome, two males one female",
546
+ "Side split double sex position, woman lying sideways with one leg raised high, one man penetrating vaginally, another man kneeling at her mouth for oral, menage, threesome, two males one female",
547
+ "Bed sandwich sex position, woman lying on top of one man, vaginal penetration from below, second man entering from behind in deep thrusts, menage, threesome, two males one female",
548
+ "Arch double press sex position, woman arching hips upward on bed, one man thrusting vaginally, another kneeling over her chest for oral, menage, threesome, two males one female",
549
+ "Reverse lotus double sex position, woman straddling one man cross-legged while another man penetrates from behind, arms wrapped tightly, menage, threesome, two males one female",
550
+ "Lift and lock double sex position, woman lifted by one man for vaginal penetration, second man pressing into mouth while she wraps arms around both, menage, threesome, two males one female",
551
+ "Edge spitroast sex position, woman bent over bed edge, one man thrusting vaginally from behind, second man standing in front gripping her hair during oral, menage, threesome, two males one female",
552
+ "Chair kneel double sex position, woman kneeling on chair facing one man for oral while second man penetrates vaginally from behind, breasts swinging, menage, threesome, two males one female",
553
+ "Bridge press triple sex position, woman arching back dramatically, one man thrusting vaginally, another sitting near her face, hips bouncing, menage, threesome, two males one female",
554
+ "Couch twist double sex position, woman lying twisted sideways across couch, one man thrusting vaginally, second man pressing into mouth, menage, threesome, two males one female",
555
+ "Standing locked double sex position, woman held between two men standing, one thrusting vaginally, other pushing deep into her throat, menage, threesome, two males one female",
556
+ "Table arch double sex position, woman arched back on table edge, one man between her legs thrusting vaginally, second man in front for oral, menage, threesome, two males one female",
557
+ "Floor lift spitroast sex position, woman lifted at hips by one man thrusting vaginally while second man stands over her head for oral, menage, threesome, two males one female",
558
+ "Double bed kneel sex position, woman on all fours on bed, one man thrusting vaginally from behind, another kneeling in front pressing into her mouth, menage, threesome, two males one female",
559
+ "Chair arch spitroast sex position, woman arching back over chair, one man thrusting vaginally, another pushing into her mouth while gripping neck, menage, threesome, two males one female",
560
+ "Leg lift double sex position, woman on back with both legs raised, one man thrusting vaginally, another kneeling over her face for oral, menage, threesome, two males one female",
561
+ "Wall double pin sex position, woman pinned by one man against wall thrusting vaginally, second man holding head steady for oral, menage, threesome, two males one female",
562
+ "Couch ride double sex position, woman riding one man reverse cowgirl while second man penetrates from behind, breasts bouncing forward, menage, threesome, two males one female",
563
+ "Bed kneel spitroast sex position, woman kneeling on bed, one man thrusting vaginally from behind, another standing in front for oral, menage, threesome, two males one female",
564
+ "Double chair lift sex position, woman lifted between two men, one penetrating vaginally, another pushing into mouth, bouncing together, menage, threesome, two males one female",
565
+ "Arch grind spitroast sex position, woman grinding hips upward, one man thrusting vaginally, second man standing for oral, sweaty and intense, menage, threesome, two males one female",
566
+ "Side lock double sex position, woman lying on side, one man thrusting vaginally, second man kneeling at face pressing deep, legs hooked, menage, threesome, two males one female",
567
+ "Over sofa double sex position, woman bent forward over sofa arm, one man thrusting from behind, second man standing for oral, hands gripping waist, menage, threesome, two males one female",
568
+ "Reverse straddle double sex position, woman straddling one man’s lap facing away, vaginal penetration, while another man penetrates her mouth in front, menage, threesome, two males one female"
569
+
570
+
571
+ "Bridge face-up twist sex position, woman arching face up twisting hips, man thrusting vaginally, breasts bouncing, intense angle",
572
+ "Over desk pin sex position, woman pinned over desk, man penetrating vaginally from behind, hands gripping desk edge, rough motion",
573
+ "Leg lift press sex position, woman on back with legs lifted high, man thrusting vaginally at steep angle, gripping her ankles",
574
+ "Couch kneel sex position, woman kneeling on couch, man behind thrusting vaginally, breasts swinging, passionate embrace",
575
+ "Reverse arch sex position, woman lying back arched dramatically, man penetrating vaginally from above, hips raised, deep thrusts",
576
+ "Chair squat sex position, woman squatting on chair seat, man kneeling between legs penetrating vaginally, gripping thighs tightly",
577
+ "Bed twist sex position, woman lying twisted sideways, man penetrating vaginally from behind, deep rhythmic thrusts",
578
+ "Floor arch sex position, woman lying flat on floor arching hips, man penetrating vaginally, breasts bouncing, hands gripping",
579
+ "Wall grind sex position, woman pressed against wall, man thrusting vaginally while grinding hips, kissing passionately",
580
+ "Over lap sex position, woman bent over man’s lap, vaginal penetration from behind, spanking motion, breasts pressed",
581
+ "Leg wrap stand sex position, woman standing wrapping legs around man’s waist, vaginal penetration, deep thrusts, arms tight",
582
+ "Bridge lift sex position, woman lifted in bridge arc, man thrusting vaginally from below, breasts bouncing, stretching thighs",
583
+ "Reverse squat sex position, woman squatting over man’s lap facing away, vaginal penetration, hips bouncing, breasts hanging",
584
+ "Chair arch sex position, woman arching back over chair, man thrusting vaginally from above, intense pelvic motion",
585
+ "Bed press sex position, woman pressed face-down into bed, man thrusting vaginally from behind, rough pace, breasts swinging",
586
+ "Leg lock twist arch sex position, woman twisting hips while locking legs around man, vaginal penetration, deep motion",
587
+ "Over edge arch sex position, woman lying back over bed edge, man thrusting vaginally from above, breasts bouncing forward",
588
+ "Floor kneel sex position, woman kneeling on floor, man behind thrusting vaginally, hands gripping hips tightly",
589
+ "Side twist sex position, woman lying on side twisting hips upward, man penetrating vaginally from above, deep thrusts",
590
+ "Couch arch sex position, woman arching back over couch, man thrusting vaginally, breasts bouncing, waist gripped tightly"
591
  ]
592
 
593
 
594
 
595
+
596
+
597
+
598
+
599
+
600
+
601
  # listas_lighting.py
602
 
603
  lighting_prompts = [
 
656
  "Captured on an iPod Touch camera, low megapixel sensor, blur from hand movement, washed out tones, poor contrast, real lo-fi snapshot",
657
  "Shot with a VHS camcorder frame grab, interlaced scan lines, washed tones, soft blur, low resolution noise, nostalgic 90s look",
658
  "Captured with a broken sensor DSLR, dead pixels scattered, uneven exposure, odd magenta color shift, visible banding, imperfect raw capture"
659
+ ]
660
+
661
+ # Exemplos de prompts negativos
662
+ negativos_exemplo = [
663
+ # Anime
664
+ "worst quality, low quality, blurry, distorted anatomy, missing limbs, deformed hands, extra fingers, poorly drawn face, bad proportions, messy lineart, broken perspective, watermark, signature",
665
+
666
+ # Realismo
667
+ "unnatural skin texture, plastic look, overexposed, underexposed, oversaturated, low resolution, distorted proportions, uncanny valley face, incorrect shadows, inconsistent lighting, blur, jpeg artifacts",
668
+
669
+ # SFW (remover conteúdo adulto, deixar a imagem segura)
670
+ "nsfw, nude, nudity, naked, sex, intercourse, porn, hentai, erotic, lewd, genitals, breasts, nipples, pussy, penis, blowjob, penetration, cum, explicit content, sexual activity",
671
+
672
+ # NSFW (remover censura e elementos que escondem o conteúdo adulto)
673
+ "censored, mosaic censor, blur censor, text censor, black bar, pixelated censor, underwear, bra, panties, covered, clothes blocking nudity, swimsuit blocking genitals, fig leaf, hands covering private parts",
674
+
675
+ # Olhos
676
+ "blurry eyes, deformed pupils, asymmetrical eyes, crossed eyes, lazy eye, unnatural reflections, missing iris, wrong eye color, glowing eyes, distorted sclera, extra eyes, low detail eyes",
677
+
678
+ # Rosto
679
+ "asymmetrical face, deformed mouth, blurry lips, broken nose, distorted jawline, melted face, low detail face, uncanny expression, misplaced features, incorrect perspective, missing teeth, bad proportions"
680
  ]