Aleksmorshen commited on
Commit
9434d7b
·
verified ·
1 Parent(s): 465aa0f

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +225 -7
index.html CHANGED
@@ -3,7 +3,7 @@
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>Synkris Look 7</title>
7
  <style>
8
  :root {
9
  --bg: #000000;
@@ -79,6 +79,7 @@ p.subtitle {
79
  border-radius: 8px;
80
  transition: all 0.3s ease;
81
  text-transform: uppercase;
 
82
  }
83
 
84
  .mode-btn.active {
@@ -224,6 +225,7 @@ select option {
224
 
225
  <div class="mode-selector">
226
  <button id="modeModelBtn" class="mode-btn active" onclick="switchMode('model')">Фото на модели</button>
 
227
  <button id="modeObjectBtn" class="mode-btn" onclick="switchMode('object')">Предметное фото</button>
228
  </div>
229
 
@@ -307,7 +309,7 @@ select option {
307
  <option value="walking towards camera">Идет на камеру</option>
308
  <option value="sitting relaxed">Сидит расслабленно</option>
309
  <option value="leaning against a wall">Оперевшись о стену</option>
310
- <option value="dynamic action pose">Динамичная поза</option>
311
  </select>
312
  </div>
313
  <!-- Row 5 - COMPOSITION -->
@@ -354,7 +356,7 @@ select option {
354
  </select>
355
  </div>
356
 
357
- <!-- NEW ROW 7 - LOCATION -->
358
  <div class="form-group full-width">
359
  <label for="location">Локация</label>
360
  <select id="location">
@@ -377,6 +379,173 @@ select option {
377
  </div>
378
  </div>
379
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
380
  <!-- === OBJECT PHOTOGRAPHY MODE === -->
381
  <div id="objectMode" class="form-mode">
382
  <div class="form-group full-width">
@@ -448,15 +617,27 @@ select option {
448
 
449
  <script>
450
  let currentMode = 'model';
 
451
 
452
  function switchMode(mode) {
453
  currentMode = mode;
454
  document.getElementById('modelMode').classList.toggle('active', mode === 'model');
 
455
  document.getElementById('objectMode').classList.toggle('active', mode === 'object');
456
  document.getElementById('modeModelBtn').classList.toggle('active', mode === 'model');
 
457
  document.getElementById('modeObjectBtn').classList.toggle('active', mode === 'object');
458
  }
459
 
 
 
 
 
 
 
 
 
 
460
  function autoAdjustDefaults() {
461
  if (currentMode !== 'model') return;
462
  const gender = document.getElementById('gender').value;
@@ -483,7 +664,6 @@ async function processAndOpen() {
483
  const originalText = btn.innerHTML;
484
  let fullPrompt = '';
485
 
486
- // Этот негативный промпт можно вставлять в соответствующее поле на сайте, если оно есть
487
  const negative_prompt = "cropped, watermark, text, 3d render, cartoon, anime, plastic look, doll, artificial, blurry, distorted, malformed, ugly, disfigured, amputation, ugly, gross, disgusting";
488
 
489
  if (currentMode === 'model') {
@@ -498,11 +678,10 @@ async function processAndOpen() {
498
  const emotion = document.getElementById('emotion').value;
499
  const pose = document.getElementById('pose').value;
500
  const details = document.getElementById('model_details').value || "in a casual stylish outfit";
501
- const location = document.getElementById('location').value; // <-- Получаем значение локации
502
  const light = document.getElementById('light').value;
503
  const camera = document.getElementById('camera').value;
504
 
505
- // Собираем сцену из локации и деталей
506
  const scene = `${details}, ${location}`;
507
 
508
  fullPrompt = `style:: ${style}.
@@ -512,6 +691,45 @@ model_details:: physique is ${bodyType}, ${hairColor} ${hairstyle}, face express
512
  scene:: ${scene}.
513
  technical:: professional photography, ${light}, shot on ${camera}, 8k, sharp focus, hyper-detailed, realistic skin texture with pores, masterpiece.`;
514
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
515
  } else { // Object mode
516
  const objectName = document.getElementById('object_name').value || "a product";
517
  const objectStyle = document.getElementById('object_style').value;
@@ -534,7 +752,6 @@ composition:: ${objectComposition}.
534
  technical:: commercial studio quality, ${objectLighting}, 8k resolution, sharp focus, ultra-realistic, masterpiece.`;
535
  }
536
 
537
- // Убираем лишние пробелы и переносы строк, делая промпт чище
538
  const cleanPrompt = fullPrompt.replace(/\s+/g, ' ').trim();
539
 
540
  try {
@@ -561,6 +778,7 @@ technical:: commercial studio quality, ${objectLighting}, 8k resolution, sharp f
561
  document.addEventListener('DOMContentLoaded', () => {
562
  switchMode('model');
563
  autoAdjustDefaults();
 
564
  });
565
  </script>
566
 
 
3
  <head>
4
  <meta charset="UTF-8">
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>Synkris Look 8</title>
7
  <style>
8
  :root {
9
  --bg: #000000;
 
79
  border-radius: 8px;
80
  transition: all 0.3s ease;
81
  text-transform: uppercase;
82
+ white-space: nowrap;
83
  }
84
 
85
  .mode-btn.active {
 
225
 
226
  <div class="mode-selector">
227
  <button id="modeModelBtn" class="mode-btn active" onclick="switchMode('model')">Фото на модели</button>
228
+ <button id="modeChildBtn" class="mode-btn" onclick="switchMode('child')">Фото на модели (дети)</button>
229
  <button id="modeObjectBtn" class="mode-btn" onclick="switchMode('object')">Предметное фото</button>
230
  </div>
231
 
 
309
  <option value="walking towards camera">Идет на камеру</option>
310
  <option value="sitting relaxed">Сидит расслабленно</option>
311
  <option value="leaning against a wall">Оперевшись о стену</option>
312
+ <option value="dynamic action pose" selected>Динамичная поза</option>
313
  </select>
314
  </div>
315
  <!-- Row 5 - COMPOSITION -->
 
356
  </select>
357
  </div>
358
 
359
+ <!-- Row 7 - LOCATION -->
360
  <div class="form-group full-width">
361
  <label for="location">Локация</label>
362
  <select id="location">
 
379
  </div>
380
  </div>
381
 
382
+ <!-- === CHILD MODEL PHOTOGRAPHY MODE === -->
383
+ <div id="childModelMode" class="form-mode">
384
+ <div class="full-width">
385
+ <div class="mode-selector">
386
+ <button id="modeNewbornBtn" class="mode-btn active" onclick="switchChildMode('newborn')">Новорожденные (0-6 мес)</button>
387
+ <button id="modeOlderChildBtn" class="mode-btn" onclick="switchChildMode('older')">Дети (1-17 лет)</button>
388
+ </div>
389
+ </div>
390
+
391
+ <!-- Newborn Sub-Mode -->
392
+ <div id="newbornMode" class="form-mode active">
393
+ <div class="form-group">
394
+ <label for="newborn_age">Возраст</label>
395
+ <select id="newborn_age">
396
+ <option value="newborn baby, 0-3 months old">0-3 месяца</option>
397
+ <option value="baby, 3-6 months old">3-6 месяцев</option>
398
+ </select>
399
+ </div>
400
+ <div class="form-group">
401
+ <label for="newborn_emotion">Эмоция/Состояние</label>
402
+ <select id="newborn_emotion">
403
+ <option value="sleeping peacefully">Сладко спит</option>
404
+ <option value="calm and serene">Спокойное</option>
405
+ <option value="a gentle, slight smile">Легкая улыбка</option>
406
+ <option value="curious look">Любопытный взгляд</option>
407
+ </select>
408
+ </div>
409
+ <div class="form-group full-width">
410
+ <label for="newborn_pose">Поза</label>
411
+ <select id="newborn_pose">
412
+ <option value="lying on its back, wrapped in a soft blanket">Лежит на спине в одеяле</option>
413
+ <option value="in a cute tummy time pose">Лежит на животике</option>
414
+ <option value="held gently in parents' hands (hands only visible)">В руках родителей (видны только руки)</option>
415
+ <option value="sleeping in a cute prop like a basket">Спит в корзинке</option>
416
+ </select>
417
+ </div>
418
+ <div class="form-group full-width">
419
+ <label for="newborn_details">Одежда и Детали</label>
420
+ <textarea id="newborn_details" placeholder="Пример: в милой вязаной шапочке с ушками, на бежевом фоне"></textarea>
421
+ </div>
422
+ <div class="form-group">
423
+ <label for="child_shotType">Ракурс/План</label>
424
+ <select id="child_shotType">
425
+ <option value="Close-up on face">Крупный план лица</option>
426
+ <option value="Medium shot">Средний план</option>
427
+ <option value="Full body shot from above">В полный рост (вид сверху)</option>
428
+ </select>
429
+ </div>
430
+ <div class="form-group">
431
+ <label for="child_light">Свет</label>
432
+ <select id="child_light">
433
+ <option value="soft, natural window light">Мягкий дневной свет</option>
434
+ <option value="warm, gentle studio light">Теплый студийный</option>
435
+ <option value="dreamy backlight">Сказочный контровой</option>
436
+ </select>
437
+ </div>
438
+ <div class="form-group full-width">
439
+ <label for="child_style">Эстетика</label>
440
+ <select id="child_style">
441
+ <option value="Bright and Airy photography">Светлая и воздушная</option>
442
+ <option value="Cozy and warm mood">Уютная и теплая</option>
443
+ <option value="Minimalistic and clean">Минимализм</option>
444
+ <option value="Vintage film look">Пленка (винтаж)</option>
445
+ </select>
446
+ </div>
447
+ </div>
448
+
449
+ <!-- Older Child Sub-Mode -->
450
+ <div id="olderChildMode" class="form-mode">
451
+ <div class="form-group">
452
+ <label for="older_gender">Пол</label>
453
+ <select id="older_gender">
454
+ <option value="girl">Девочка</option>
455
+ <option value="boy">Мальчик</option>
456
+ </select>
457
+ </div>
458
+ <div class="form-group">
459
+ <label for="older_age">Возраст</label>
460
+ <select id="older_age">
461
+ <option value="1-2 years old toddler">1-2 года</option>
462
+ <option value="3-5 years old child">3-5 лет</option>
463
+ <option value="6-9 years old child">6-9 лет</option>
464
+ <option value="10-13 years old pre-teen">10-13 лет</option>
465
+ <option value="14-17 years old teenager">14-17 лет</option>
466
+ </select>
467
+ </div>
468
+ <div class="form-group">
469
+ <label for="older_nationality">Внешность/Этнос</label>
470
+ <select id="older_nationality">
471
+ <option value="Eastern European">Восточная Европа</option>
472
+ <option value="Northern European">Скандинавская</option>
473
+ <option value="Asian">Азиатская</option>
474
+ <option value="Latin American">Латиноамериканская</option>
475
+ <option value="Mixed Race">Смешанная</option>
476
+ </select>
477
+ </div>
478
+ <div class="form-group">
479
+ <label for="older_emotion">Эмоция/Выражение лица</label>
480
+ <select id="older_emotion">
481
+ <option value="happy and laughing">Счастливый, смеется</option>
482
+ <option value="curious and exploring">Любопытный</option>
483
+ <option value="thoughtful and calm">Задумчивый</option>
484
+ <option value="energetic and playful">Игривый</option>
485
+ </select>
486
+ </div>
487
+ <div class="form-group full-width">
488
+ <label for="older_pose">Поза</label>
489
+ <select id="older_pose">
490
+ <option value="running in a field">Бежит по полю</option>
491
+ <option value="sitting and playing with toys">Сидит, играя с игрушками</option>
492
+ <option value="hugging a pet">Обнимает питомца</option>
493
+ <option value="looking confidently at the camera">Уверенно смотрит в камеру</option>
494
+ </select>
495
+ </div>
496
+ <div class="form-group full-width">
497
+ <label for="older_details">Одежда и Детали</label>
498
+ <textarea id="older_details" placeholder="Пример: в джинсовом комбинезоне и желтой футболке, с веснушками на лице"></textarea>
499
+ </div>
500
+ <!-- Copied Technical Fields -->
501
+ <div class="form-group">
502
+ <label for="older_shotType">Ракурс/План</label>
503
+ <select id="older_shotType">
504
+ <option value="Full body shot">В полный рост</option>
505
+ <option value="Medium shot, waist up">По пояс</option>
506
+ <option value="Portrait shot">Портрет</option>
507
+ <option value="Action shot">В движении</option>
508
+ </select>
509
+ </div>
510
+ <div class="form-group">
511
+ <label for="older_light">Свет</label>
512
+ <select id="older_light">
513
+ <option value="natural morning light">Естественный утренний</option>
514
+ <option value="golden hour sunset light">Закатный "золотой час"</option>
515
+ <option value="cinematic lighting">Кинематографичный</option>
516
+ <option value="volumetric studio lighting">Объемный студийный</option>
517
+ </select>
518
+ </div>
519
+ <div class="form-group">
520
+ <label for="older_style">Эстетика</label>
521
+ <select id="older_style">
522
+ <option value="Raw Candid Photography">Живое фото (Raw)</option>
523
+ <option value="Cinematic Movie Still">Кадр из фильма</option>
524
+ <option value="Street Style Photo">Уличный стиль</option>
525
+ <option value="Vintage Analog Film">Пленка (Vintage)</option>
526
+ </select>
527
+ </div>
528
+ <div class="form-group">
529
+ <label for="older_camera">Камера/Объектив</label>
530
+ <select id="older_camera">
531
+ <option value="Sony A7III, 35mm F1.4 lens">Sony 35mm (Универсал)</option>
532
+ <option value="Canon EOS R5, 85mm F1.2 lens">Canon 85mm (Боке)</option>
533
+ <option value="shot on 35mm film, Kodak Portra 400">Пленка Kodak Portra</option>
534
+ </select>
535
+ </div>
536
+ <div class="form-group full-width">
537
+ <label for="older_location">Локация</label>
538
+ <select id="older_location">
539
+ <option value="in a sunny park with green grass">Солнечный парк</option>
540
+ <option value="on a sandy beach building sandcastles">Пляж</option>
541
+ <option value="in a cozy, brightly lit playroom">Уютная игровая комната</option>
542
+ <option value="on a city street during a walk">Городская улица</option>
543
+ <option value="in a magical forest">Сказочный лес</option>
544
+ </select>
545
+ </div>
546
+ </div>
547
+ </div>
548
+
549
  <!-- === OBJECT PHOTOGRAPHY MODE === -->
550
  <div id="objectMode" class="form-mode">
551
  <div class="form-group full-width">
 
617
 
618
  <script>
619
  let currentMode = 'model';
620
+ let currentChildMode = 'newborn';
621
 
622
  function switchMode(mode) {
623
  currentMode = mode;
624
  document.getElementById('modelMode').classList.toggle('active', mode === 'model');
625
+ document.getElementById('childModelMode').classList.toggle('active', mode === 'child');
626
  document.getElementById('objectMode').classList.toggle('active', mode === 'object');
627
  document.getElementById('modeModelBtn').classList.toggle('active', mode === 'model');
628
+ document.getElementById('modeChildBtn').classList.toggle('active', mode === 'child');
629
  document.getElementById('modeObjectBtn').classList.toggle('active', mode === 'object');
630
  }
631
 
632
+ function switchChildMode(childMode) {
633
+ currentChildMode = childMode;
634
+ document.getElementById('newbornMode').classList.toggle('active', childMode === 'newborn');
635
+ document.getElementById('olderChildMode').classList.toggle('active', childMode === 'older');
636
+ document.getElementById('modeNewbornBtn').classList.toggle('active', childMode === 'newborn');
637
+ document.getElementById('modeOlderChildBtn').classList.toggle('active', childMode === 'older');
638
+ }
639
+
640
+
641
  function autoAdjustDefaults() {
642
  if (currentMode !== 'model') return;
643
  const gender = document.getElementById('gender').value;
 
664
  const originalText = btn.innerHTML;
665
  let fullPrompt = '';
666
 
 
667
  const negative_prompt = "cropped, watermark, text, 3d render, cartoon, anime, plastic look, doll, artificial, blurry, distorted, malformed, ugly, disfigured, amputation, ugly, gross, disgusting";
668
 
669
  if (currentMode === 'model') {
 
678
  const emotion = document.getElementById('emotion').value;
679
  const pose = document.getElementById('pose').value;
680
  const details = document.getElementById('model_details').value || "in a casual stylish outfit";
681
+ const location = document.getElementById('location').value;
682
  const light = document.getElementById('light').value;
683
  const camera = document.getElementById('camera').value;
684
 
 
685
  const scene = `${details}, ${location}`;
686
 
687
  fullPrompt = `style:: ${style}.
 
691
  scene:: ${scene}.
692
  technical:: professional photography, ${light}, shot on ${camera}, 8k, sharp focus, hyper-detailed, realistic skin texture with pores, masterpiece.`;
693
 
694
+ } else if (currentMode === 'child') {
695
+ if (currentChildMode === 'newborn') {
696
+ const style = document.getElementById('child_style').value;
697
+ const shotType = document.getElementById('child_shotType').value;
698
+ const age = document.getElementById('newborn_age').value;
699
+ const emotion = document.getElementById('newborn_emotion').value;
700
+ const pose = document.getElementById('newborn_pose').value;
701
+ const details = document.getElementById('newborn_details').value || "wearing a cute outfit";
702
+ const light = document.getElementById('child_light').value;
703
+
704
+ fullPrompt = `style:: ${style}, tender and heartwarming.
705
+ composition:: ${shotType}.
706
+ subject:: A photorealistic portrait of a cute ${age}.
707
+ details:: Expression is ${emotion}, ${pose}, ${details}.
708
+ technical:: professional newborn photography, ${light}, shot on Canon EOS R5, 85mm F1.2 lens, 8k, sharp focus on eyes, hyper-detailed, realistic soft baby skin texture, masterpiece.`;
709
+
710
+ } else { // Older child
711
+ const style = document.getElementById('older_style').value;
712
+ const shotType = document.getElementById('older_shotType').value;
713
+ const age = document.getElementById('older_age').value;
714
+ const gender = document.getElementById('older_gender').value;
715
+ const nationality = document.getElementById('older_nationality').value;
716
+ const emotion = document.getElementById('older_emotion').value;
717
+ const pose = document.getElementById('older_pose').value;
718
+ const details = document.getElementById('older_details').value || "in a stylish casual outfit";
719
+ const location = document.getElementById('older_location').value;
720
+ const light = document.getElementById('older_light').value;
721
+ const camera = document.getElementById('older_camera').value;
722
+
723
+ const scene = `${details}, ${location}`;
724
+
725
+ fullPrompt = `style:: ${style}.
726
+ composition:: ${shotType}.
727
+ subject:: A photorealistic portrait of a ${age} ${nationality} ${gender}.
728
+ details:: Face expression is ${emotion}, pose is ${pose}.
729
+ scene:: ${scene}.
730
+ technical:: professional photography, ${light}, shot on ${camera}, 8k, sharp focus, hyper-detailed, realistic skin texture, masterpiece.`;
731
+ }
732
+
733
  } else { // Object mode
734
  const objectName = document.getElementById('object_name').value || "a product";
735
  const objectStyle = document.getElementById('object_style').value;
 
752
  technical:: commercial studio quality, ${objectLighting}, 8k resolution, sharp focus, ultra-realistic, masterpiece.`;
753
  }
754
 
 
755
  const cleanPrompt = fullPrompt.replace(/\s+/g, ' ').trim();
756
 
757
  try {
 
778
  document.addEventListener('DOMContentLoaded', () => {
779
  switchMode('model');
780
  autoAdjustDefaults();
781
+ switchChildMode('newborn');
782
  });
783
  </script>
784