Aleksmorshen commited on
Commit
2e145cf
·
verified ·
1 Parent(s): 7346e6e

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +375 -352
index.html CHANGED
@@ -1,361 +1,384 @@
1
-
2
  <!DOCTYPE html>
 
3
  <html lang="ru">
4
  <head>
5
- <meta charset="UTF-8">
6
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
- <title>AI Prompt Generator & Launcher</title>
8
- <style>
9
- :root {
10
- --primary: #4F46E5;
11
- --primary-hover: #4338ca;
12
- --bg: #F3F4F6;
13
- --card-bg: #ffffff;
14
- --text: #1F2937;
15
- --border: #D1D5DB;
16
- }
17
-
18
- body {
19
- font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
20
- background-color: var(--bg);
21
- color: var(--text);
22
- margin: 0;
23
- padding: 20px;
24
- display: flex;
25
- justify-content: center;
26
- align-items: center;
27
- min-height: 100vh;
28
- }
29
-
30
- .container {
31
- background-color: var(--card-bg);
32
- width: 100%;
33
- max-width: 600px;
34
- padding: 30px;
35
- border-radius: 16px;
36
- box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
37
- }
38
-
39
- h1 {
40
- text-align: center;
41
- color: var(--primary);
42
- margin-top: 0;
43
- margin-bottom: 5px;
44
- font-size: 1.8rem;
45
- }
46
-
47
- p.subtitle {
48
- text-align: center;
49
- color: #6B7280;
50
- margin-bottom: 25px;
51
- font-size: 0.95rem;
52
- }
53
-
54
- .form-grid {
55
- display: grid;
56
- grid-template-columns: 1fr 1fr;
57
- gap: 15px;
58
- }
59
-
60
- .full-width {
61
- grid-column: span 2;
62
- }
63
-
64
- .form-group {
65
- display: flex;
66
- flex-direction: column;
67
- }
68
-
69
- label {
70
- font-weight: 600;
71
- margin-bottom: 6px;
72
- font-size: 0.9rem;
73
- color: #374151;
74
- }
75
-
76
- select, textarea, input {
77
- padding: 10px 12px;
78
- border: 1px solid var(--border);
79
- border-radius: 8px;
80
- font-size: 1rem;
81
- background-color: #fff;
82
- transition: border-color 0.2s, box-shadow 0.2s;
83
- outline: none;
84
- }
85
-
86
- select:focus, textarea:focus {
87
- border-color: var(--primary);
88
- box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.1);
89
- }
90
-
91
- textarea {
92
- resize: vertical;
93
- min-height: 80px;
94
- font-family: inherit;
95
- }
96
-
97
- .btn-container {
98
- margin-top: 25px;
99
- text-align: center;
100
- }
101
-
102
- .action-btn {
103
- background-color: var(--primary);
104
- color: white;
105
- border: none;
106
- padding: 14px 28px;
107
- font-size: 1.1rem;
108
- font-weight: bold;
109
- border-radius: 10px;
110
- cursor: pointer;
111
- width: 100%;
112
- transition: background-color 0.2s, transform 0.1s;
113
- box-shadow: 0 4px 6px rgba(79, 70, 229, 0.2);
114
- display: flex;
115
- justify-content: center;
116
- align-items: center;
117
- gap: 10px;
118
- }
119
-
120
- .action-btn:hover {
121
- background-color: var(--primary-hover);
122
- transform: translateY(-1px);
123
- }
124
-
125
- .action-btn:active {
126
- transform: translateY(1px);
127
- }
128
-
129
- /* Адаптивность для мобильных */
130
- @media (max-width: 500px) {
131
- .form-grid {
132
- grid-template-columns: 1fr;
133
- }
134
- .full-width {
135
- grid-column: span 1;
136
- }
137
- .container {
138
- padding: 20px;
139
- }
140
- }
141
- </style>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
142
  </head>
143
  <body>
144
 
145
- <div class="container">
146
- <h1>Генератор Персонажа</h1>
147
- <p class="subtitle">Настройте параметры, скопируйте JSON и перейдите в редактор</p>
148
-
149
- <form id="promptForm">
150
- <div class="form-grid">
151
- <!-- Пол -->
152
- <div class="form-group">
153
- <label for="gender">Пол</label>
154
- <select id="gender">
155
- <option value="Female">Женщина</option>
156
- <option value="Male">Мужчина</option>
157
- </select>
158
- </div>
159
-
160
- <!-- Возраст -->
161
- <div class="form-group">
162
- <label for="age">Возраст</label>
163
- <select id="age">
164
- <option value="Newborn (0-1 year)">Младенец (0-1)</option>
165
- <option value="Toddler (1-3 years)">Малыш (1-3)</option>
166
- <option value="Child (4-9 years)">Ребенок (4-9)</option>
167
- <option value="Preteen (10-12 years)">Ребенок (10-12)</option>
168
- <option value="Teenager (13-19 years)">Подросток (13-19)</option>
169
- <option value="Young Adult (20-29 years)">20-29 лет</option>
170
- <option value="Adult (30-39 years)">30-39 лет</option>
171
- <option value="Middle-aged (40-49 years)">40-49 лет</option>
172
- <option value="Mature (50-59 years)">50-59 лет</option>
173
- <option value="Elderly (60-69 years)">60-69 лет</option>
174
- <option value="Senior (70+ years)">70+ лет</option>
175
- </select>
176
- </div>
177
-
178
- <!-- Национальность -->
179
- <div class="form-group">
180
- <label for="nationality">Национальность</label>
181
- <select id="nationality">
182
- <option value="European">Европейская</option>
183
- <option value="Slavic">Славянская</option>
184
- <option value="Asian">Азиатская</option>
185
- <option value="African">Африканская</option>
186
- <option value="African American">Афроамериканская</option>
187
- <option value="Latino">Латиноамериканская</option>
188
- <option value="Indian">Индийская</option>
189
- <option value="Middle Eastern">Ближневосточная</option>
190
- <option value="Nordic">Скандинавская</option>
191
- <option value="Mixed Race">Смешанная</option>
192
- </select>
193
- </div>
194
-
195
- <!-- Фигура -->
196
- <div class="form-group">
197
- <label for="bodyType">Фигура</label>
198
- <select id="bodyType">
199
- <option value="Slim">Стройная</option>
200
- <option value="Athletic">Спортивная</option>
201
- <option value="Average">Обычная</option>
202
- <option value="Muscular">Мускулистая</option>
203
- <option value="Curvy">Пышная (Curvy)</option>
204
- <option value="Plus Size">Полная (Plus Size)</option>
205
- <option value="Skinny">Очень худая</option>
206
- </select>
207
- </div>
208
-
209
- <!-- Волосы -->
210
- <div class="form-group">
211
- <label for="hairColor">Цвет волос</label>
212
- <select id="hairColor">
213
- <option value="Brown">Каштановые</option>
214
- <option value="Blonde">Блонд</option>
215
- <option value="Black">Черные</option>
216
- <option value="Red">Рыжие</option>
217
- <option value="Grey">Седые</option>
218
- <option value="White">Белые</option>
219
- <option value="Dyed Pink">Розовые</option>
220
- <option value="Dyed Blue">Синие</option>
221
- <option value="Bald">Лысый</option>
222
- </select>
223
- </div>
224
-
225
- <!-- Прическа -->
226
- <div class="form-group">
227
- <label for="hairstyle">Прическа</label>
228
- <select id="hairstyle">
229
- <option value="Long straight">Длинные прямые</option>
230
- <option value="Wavy">Волнистые</option>
231
- <option value="Curly">Кудрявые</option>
232
- <option value="Bob cut">Каре</option>
233
- <option value="Short cut">Короткая стрижка</option>
234
- <option value="Ponytail">Хвост</option>
235
- <option value="Bun">Пучок</option>
236
- <option value="Braids">Косички</option>
237
- <option value="Dreadlocks">Дреды</option>
238
- <option value="Bald">Налысо</option>
239
- </select>
240
- </div>
241
-
242
- <!-- Глаза -->
243
- <div class="form-group">
244
- <label for="eyeColor">Цвет глаз</label>
245
- <select id="eyeColor">
246
- <option value="Brown">Карие</option>
247
- <option value="Blue">Голубые</option>
248
- <option value="Green">Зеленые</option>
249
- <option value="Grey">Серые</option>
250
- <option value="Hazel">Ореховые</option>
251
- <option value="Heterochromia">Разные (Гетерохромия)</option>
252
- </select>
253
- </div>
254
-
255
- <!-- Стиль -->
256
- <div class="form-group">
257
- <label for="style">Стиль фото</label>
258
- <select id="style">
259
- <option value="Professional Studio Portrait">Студийный портрет</option>
260
- <option value="Cinematic Lighting">Кинематографичный</option>
261
- <option value="Candid Street Photography">Уличное фото</option>
262
- <option value="Artistic Creative">Творческий / Арт</option>
263
- <option value="Cyberpunk Neon">Киберпанк / Неон</option>
264
- <option value="Black and White">Чёрно-белое</option>
265
- <option value="Vintage Polaroid">Винтаж / Полароид</option>
266
- <option value="Fashion Editorial">Фэшн (Журнальный)</option>
267
- <option value="Corporate Headshot">Бизнес портрет</option>
268
- <option value="Fantasy">Фэнтези</option>
269
- <option value="Anime Style">Аниме стиль</option>
270
- </select>
271
- </div>
272
-
273
- <!-- Доп инфо -->
274
- <div class="form-group full-width">
275
- <label for="additional">Дополнительные пожелания</label>
276
- <textarea id="additional" placeholder="Опишите одежду, локацию, освещение или эмоции (например: в красном костюме, смеется, на фоне Эйфелевой башни)"></textarea>
277
- </div>
278
- </div>
279
-
280
- <div class="btn-container">
281
- <button type="button" class="action-btn" onclick="processAndOpen()">
282
- <span>СКОПИРОВАТЬ И ОТКРЫТЬ САЙТ</span>
283
- <span style="font-size: 1.2em">🚀</span>
284
- </button>
285
- </div>
286
- </form>
287
  </div>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
288
 
289
- <script>
290
- async function processAndOpen() {
291
- const btn = document.querySelector('.action-btn');
292
- const originalText = btn.innerHTML;
293
-
294
- // 1. Сбор данных
295
- const data = {
296
- prompt_settings: {
297
- subject: {
298
- gender: document.getElementById('gender').value,
299
- age: document.getElementById('age').value,
300
- ethnicity: document.getElementById('nationality').value,
301
- appearance: {
302
- body: document.getElementById('bodyType').value,
303
- hair: `${document.getElementById('hairColor').value}, ${document.getElementById('hairstyle').value}`,
304
- eyes: document.getElementById('eyeColor').value
305
- }
306
- },
307
- style: document.getElementById('style').value,
308
- details: document.getElementById('additional').value || "High quality, sharp focus",
309
- technical: "8k resolution, photorealistic, masterpiece"
310
- }
311
- };
312
-
313
- const jsonString = JSON.stringify(data, null, 2);
314
-
315
- // 2. Копирование
316
- let copied = false;
317
- try {
318
- if (navigator.clipboard && navigator.clipboard.writeText) {
319
- await navigator.clipboard.writeText(jsonString);
320
- copied = true;
321
- } else {
322
- throw new Error("Clipboard API unavailable");
323
- }
324
- } catch (err) {
325
- // Fallback для старых браузеров
326
- const textArea = document.createElement("textarea");
327
- textArea.value = jsonString;
328
- textArea.style.position = "fixed";
329
- document.body.appendChild(textArea);
330
- textArea.focus();
331
- textArea.select();
332
- try {
333
- document.execCommand('copy');
334
- copied = true;
335
- } catch (e) {
336
- console.error("Copy failed", e);
337
- alert("Не удалось скопировать автоматически. Пожалуйста, скопируйте текст вручную.");
338
- }
339
- document.body.removeChild(textArea);
340
- }
341
-
342
- // 3. Визуальная индикация и открытие ссылки
343
- if (copied) {
344
- btn.style.backgroundColor = "#10B981"; // Зеленый цвет
345
- btn.innerHTML = "СКОПИРОВАНО! ОТКРЫВАЮ... ✅";
346
-
347
- setTimeout(() => {
348
- // Открытие ссылки в новой вкладке
349
- window.open('https://lmarena.ai/ru?chat-modality=image&mode=direct', '_blank');
350
-
351
- // Возврат кнопки в исходное состояние
352
- setTimeout(() => {
353
- btn.style.backgroundColor = "";
354
- btn.innerHTML = originalText;
355
- }, 1000);
356
- }, 800);
357
- }
358
- }
359
- </script>
360
  </body>
361
- </html>
 
 
1
  <!DOCTYPE html>
2
+
3
  <html lang="ru">
4
  <head>
5
+ <meta charset="UTF-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <title>Synkris Look 5</title>
8
+ <style>
9
+ :root {
10
+ --bg: #000000;
11
+ --card-bg: #0a0a0a;
12
+ --primary: #ccff00;
13
+ --primary-hover: #b3e600;
14
+ --text: #ffffff;
15
+ --text-secondary: #a1a1a1;
16
+ --border: #333333;
17
+ --input-bg: #111111;
18
+ }
19
+
20
+ code
21
+ Code
22
+ download
23
+ content_copy
24
+ expand_less
25
+ body {
26
+ font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
27
+ background-color: var(--bg);
28
+ color: var(--text);
29
+ margin: 0;
30
+ padding: 20px;
31
+ display: flex;
32
+ justify-content: center;
33
+ align-items: center;
34
+ min-height: 100vh;
35
+ }
36
+
37
+ .container {
38
+ background-color: var(--card-bg);
39
+ width: 100%;
40
+ max-width: 600px;
41
+ padding: 35px;
42
+ border-radius: 20px;
43
+ border: 1px solid #222;
44
+ box-shadow: 0 0 30px rgba(204, 255, 0, 0.05);
45
+ }
46
+
47
+ h1 {
48
+ text-align: center;
49
+ color: var(--primary);
50
+ margin-top: 0;
51
+ margin-bottom: 5px;
52
+ font-size: 2rem;
53
+ text-transform: uppercase;
54
+ letter-spacing: 2px;
55
+ text-shadow: 0 0 10px rgba(204, 255, 0, 0.3);
56
+ }
57
+
58
+ p.subtitle {
59
+ text-align: center;
60
+ color: var(--text-secondary);
61
+ margin-bottom: 30px;
62
+ font-size: 0.9rem;
63
+ letter-spacing: 0.5px;
64
+ }
65
+
66
+ .form-grid {
67
+ display: grid;
68
+ grid-template-columns: 1fr 1fr;
69
+ gap: 20px;
70
+ }
71
+
72
+ .full-width {
73
+ grid-column: span 2;
74
+ }
75
+
76
+ .form-group {
77
+ display: flex;
78
+ flex-direction: column;
79
+ }
80
+
81
+ label {
82
+ font-weight: 500;
83
+ margin-bottom: 8px;
84
+ font-size: 0.85rem;
85
+ color: var(--primary);
86
+ text-transform: uppercase;
87
+ letter-spacing: 0.5px;
88
+ }
89
+
90
+ select, textarea, input {
91
+ padding: 12px 14px;
92
+ border: 1px solid var(--border);
93
+ border-radius: 8px;
94
+ font-size: 1rem;
95
+ background-color: var(--input-bg);
96
+ color: var(--text);
97
+ transition: all 0.3s ease;
98
+ outline: none;
99
+ }
100
+
101
+ select:focus, textarea:focus {
102
+ border-color: var(--primary);
103
+ box-shadow: 0 0 10px rgba(204, 255, 0, 0.2);
104
+ }
105
+
106
+ textarea {
107
+ resize: vertical;
108
+ min-height: 80px;
109
+ font-family: inherit;
110
+ }
111
+
112
+ .btn-container {
113
+ margin-top: 30px;
114
+ text-align: center;
115
+ }
116
+
117
+ .action-btn {
118
+ background-color: var(--primary);
119
+ color: #000;
120
+ border: none;
121
+ padding: 16px 30px;
122
+ font-size: 1.1rem;
123
+ font-weight: 800;
124
+ border-radius: 12px;
125
+ cursor: pointer;
126
+ width: 100%;
127
+ transition: all 0.2s ease;
128
+ box-shadow: 0 0 15px rgba(204, 255, 0, 0.4);
129
+ display: flex;
130
+ justify-content: center;
131
+ align-items: center;
132
+ gap: 12px;
133
+ text-transform: uppercase;
134
+ }
135
+
136
+ .action-btn:hover {
137
+ background-color: var(--primary-hover);
138
+ transform: scale(1.02);
139
+ box-shadow: 0 0 25px rgba(204, 255, 0, 0.6);
140
+ }
141
+
142
+ .action-btn:active {
143
+ transform: scale(0.98);
144
+ }
145
+
146
+ select option {
147
+ background-color: #000;
148
+ color: #fff;
149
+ }
150
+
151
+ @media (max-width: 500px) {
152
+ .form-grid {
153
+ grid-template-columns: 1fr;
154
+ }
155
+ .full-width {
156
+ grid-column: span 1;
157
+ }
158
+ .container {
159
+ padding: 20px;
160
+ }
161
+ }
162
+ </style>
163
  </head>
164
  <body>
165
 
166
+ <div class="container">
167
+ <h1>Synkris Look 5</h1>
168
+ <p class="subtitle">PROMPT GENERATOR & LAUNCHER</p>
169
+
170
+ code
171
+ Code
172
+ download
173
+ content_copy
174
+ expand_less
175
+ <form id="promptForm">
176
+ <div class="form-grid">
177
+ <div class="form-group">
178
+ <label for="gender">Пол</label>
179
+ <select id="gender" onchange="autoAdjustDefaults()">
180
+ <option value="Woman">Женщина</option>
181
+ <option value="Man">Мужчина</option>
182
+ </select>
183
+ </div>
184
+
185
+ <div class="form-group">
186
+ <label for="age">Возраст</label>
187
+ <select id="age">
188
+ <option value="18 years old">18 лет</option>
189
+ <option value="20-25 years old" selected>20-25 лет</option>
190
+ <option value="25-30 years old">25-30 лет</option>
191
+ <option value="30-40 years old">30-40 лет</option>
192
+ <option value="40-50 years old">40-50 лет</option>
193
+ <option value="50-60 years old">50-60 лет</option>
194
+ <option value="60+ years old">60+ лет</option>
195
+ </select>
196
+ </div>
197
+
198
+ <div class="form-group">
199
+ <label for="nationality">Внешность/Этнос</label>
200
+ <select id="nationality">
201
+ <option value="Eastern European">Восточная Европа</option>
202
+ <option value="Northern European">Скандинавская</option>
203
+ <option value="Southern European">Южно-европейская</option>
204
+ <option value="Asian">Азиатская</option>
205
+ <option value="Latin American">Латиноамериканская</option>
206
+ <option value="African">Африканская</option>
207
+ <option value="Indian">Индийская</option>
208
+ <option value="Middle Eastern">Ближневосточная</option>
209
+ <option value="Mixed Race">Смешанная</option>
210
+ </select>
211
+ </div>
212
+
213
+ <div class="form-group">
214
+ <label for="bodyType">Телосложение</label>
215
+ <select id="bodyType">
216
+ <option value="Fit and slim">Стройное/Подтянутое</option>
217
+ <option value="Hourglass figure">Песочные часы</option>
218
+ <option value="Athletic">Спортивное</option>
219
+ <option value="Muscular">Мускулистое</option>
220
+ <option value="Curvy">Пышное (Curvy)</option>
221
+ <option value="Skinny model look">Модельная худоба</option>
222
+ <option value="Average realistic">Обычное</option>
223
+ </select>
224
+ </div>
225
+
226
+ <div class="form-group">
227
+ <label for="hairColor">Цвет волос</label>
228
+ <select id="hairColor">
229
+ <option value="Brunette">Брюнет</option>
230
+ <option value="Blonde">Блонд</option>
231
+ <option value="Black">Черные</option>
232
+ <option value="Redhead">Рыжие</option>
233
+ <option value="Platinum Blonde">Платиновые</option>
234
+ <option value="Grey">Седые</option>
235
+ <option value="Pastel Pink">Розовые</option>
236
+ <option value="Bald">Лысый</option>
237
+ </select>
238
+ </div>
239
+
240
+ <div class="form-group">
241
+ <label for="hairstyle">Стрижка</label>
242
+ <select id="hairstyle">
243
+ <option value="Long loose wavy hair">Длинные волны</option>
244
+ <option value="Straight long hair">Длинные прямые</option>
245
+ <option value="Messy bun">Небрежный пучок</option>
246
+ <option value="Ponytail">Хвост</option>
247
+ <option value="Bob cut">Каре</option>
248
+ <option value="Short pixie">Пикси (Короткая)</option>
249
+ <option value="Buzz cut">Ежик</option>
250
+ <option value="Fade cut">Фейд (Мужской)</option>
251
+ <option value="Slicked back">Зачесанные назад</option>
252
+ </select>
253
+ </div>
254
+
255
+ <div class="form-group">
256
+ <label for="eyeColor">Глаза</label>
257
+ <select id="eyeColor">
258
+ <option value="Brown">Карие</option>
259
+ <option value="Blue">Голубые</option>
260
+ <option value="Green">Зеленые</option>
261
+ <option value="Hazel">Ореховые</option>
262
+ <option value="Grey">Серые</option>
263
+ </select>
264
+ </div>
265
+
266
+ <div class="form-group">
267
+ <label for="style">Эстетика</label>
268
+ <select id="style">
269
+ <option value="Raw Candid Photography">Живое фото (Raw)</option>
270
+ <option value="Cinematic Movie Still">Кадр из фильма</option>
271
+ <option value="Fashion Editorial">Модный журнал</option>
272
+ <option value="Street Style">Уличный стиль</option>
273
+ <option value="Dark Moody Atmosphere">Мрачная атмосфера</option>
274
+ <option value="Neon Cyberpunk">Неон / Киберпанк</option>
275
+ <option value="Vintage Analog Film">Пленка (Vintage)</option>
276
+ <option value="Professional Studio">Студийный свет</option>
277
+ </select>
278
+ </div>
279
+
280
+ <div class="form-group full-width">
281
+ <label for="additional">Детали (Одежда, Локация, Действие)</label>
282
+ <textarea id="additional" placeholder="Например: в черном кожаном плаще, идет по дождливой улице, смотрит в камеру"></textarea>
283
+ </div>
284
+ </div>
285
+
286
+ <div class="btn-container">
287
+ <button type="button" class="action-btn" onclick="processAndOpen()">
288
+ <span>Launch Synkris AI</span>
289
+ <span style="font-size: 1.2em">⚡</span>
290
+ </button>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
291
  </div>
292
+ </form>
293
+ </div>
294
+
295
+ <script>
296
+ function autoAdjustDefaults() {
297
+ const gender = document.getElementById('gender').value;
298
+ const hairstyle = document.getElementById('hairstyle');
299
+ const bodyType = document.getElementById('bodyType');
300
+
301
+ if (gender === 'Man') {
302
+ hairstyle.value = 'Fade cut';
303
+ bodyType.value = 'Athletic';
304
+
305
+ if (!hairstyle.value) hairstyle.value = 'Short cut';
306
+ } else {
307
+ hairstyle.value = 'Long loose wavy hair';
308
+ bodyType.value = 'Fit and slim';
309
+ }
310
+ }
311
+
312
+ async function processAndOpen() {
313
+ const btn = document.querySelector('.action-btn');
314
+ const originalText = btn.innerHTML;
315
+
316
+ const gender = document.getElementById('gender').value;
317
+ const age = document.getElementById('age').value;
318
+ const nationality = document.getElementById('nationality').value;
319
+ const bodyType = document.getElementById('bodyType').value;
320
+ const hairColor = document.getElementById('hairColor').value;
321
+ const hairstyle = document.getElementById('hairstyle').value;
322
+ const eyeColor = document.getElementById('eyeColor').value;
323
+ const style = document.getElementById('style').value;
324
+ const additional = document.getElementById('additional').value || "casual stylish outfit, standing confidently";
325
+
326
+ const fullPrompt = `Full body shot, wide angle view, visible shoes and legs. A photorealistic ${style} of a ${age} ${nationality} ${gender}.
327
+ Appearance: ${bodyType} physique, ${hairColor} ${hairstyle}, detailed ${eyeColor} eyes, realistic skin texture with pores and natural imperfections.
328
+ Action/Context: ${additional}.
329
+ Technical: 8k resolution, raw photo, unedited look, fujifilm xt4, sharp focus, volumetric lighting, hyper-detailed, alive, non-artificial, masterpiece.`;
330
+
331
+ const data = {
332
+ prompt: fullPrompt,
333
+ negative_prompt: "cropped, portrait, close up, watermark, text, 3d render, cartoon, anime, smooth skin, plastic look, doll, artificial, blurry, distorted hands, extra fingers",
334
+ aspect_ratio: "9:16"
335
+ };
336
+
337
+ const jsonString = JSON.stringify(data, null, 2);
338
+
339
+ let copied = false;
340
+ try {
341
+ if (navigator.clipboard && navigator.clipboard.writeText) {
342
+ await navigator.clipboard.writeText(jsonString);
343
+ copied = true;
344
+ } else {
345
+ throw new Error("Clipboard API unavailable");
346
+ }
347
+ } catch (err) {
348
+ const textArea = document.createElement("textarea");
349
+ textArea.value = jsonString;
350
+ textArea.style.position = "fixed";
351
+ document.body.appendChild(textArea);
352
+ textArea.focus();
353
+ textArea.select();
354
+ try {
355
+ document.execCommand('copy');
356
+ copied = true;
357
+ } catch (e) {
358
+ alert("Manual copy required.");
359
+ }
360
+ document.body.removeChild(textArea);
361
+ }
362
+
363
+ if (copied) {
364
+ btn.style.backgroundColor = "#fff";
365
+ btn.style.color = "#000";
366
+ btn.innerHTML = "SYSTEM READY. LAUNCHING... 🚀";
367
+
368
+ setTimeout(() => {
369
+ window.open('https://lmarena.ai/ru?chat-modality=image&mode=direct', '_blank');
370
+
371
+ setTimeout(() => {
372
+ btn.style.backgroundColor = "";
373
+ btn.style.color = "";
374
+ btn.innerHTML = originalText;
375
+ }, 1000);
376
+ }, 800);
377
+ }
378
+ }
379
+
380
+ document.addEventListener('DOMContentLoaded', autoAdjustDefaults);
381
+ </script>
382
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
383
  </body>
384
+ </html>