Nuzwa commited on
Commit
9dd37a6
·
verified ·
1 Parent(s): 1030387

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +29 -12
index.html CHANGED
@@ -119,7 +119,6 @@
119
  <h1>🎬 Veo3 JSON Prompt Generator <span style="font-size: 1rem; font-weight: 400;">(Pro)</span></h1>
120
  <div class="subtitle">Slect Options • Smart Mode • Copy‑ready JSON Prompt</div>
121
 
122
- <!-- Toolbar (Quality only) -->
123
  <div class="toolbar">
124
  <div class="group">
125
  <label for="qualityPreset" style="margin:0">Quality</label>
@@ -131,7 +130,6 @@
131
  </div>
132
  </div>
133
 
134
- <!-- Core choices: minimal inputs -->
135
  <div class="row">
136
  <div>
137
  <label for="domain">🎯 Select Domain</label>
@@ -162,6 +160,9 @@
162
  </optgroup>
163
  <option value="custom">🛠️ Custom Character or Product</option>
164
  </select>
 
 
 
165
  </div>
166
  </div>
167
 
@@ -208,6 +209,9 @@
208
  <option value="comedy-sketch">🤣 Comedy Sketch</option>
209
  <option value="custom">✍️ Custom Variant</option>
210
  </select>
 
 
 
211
  </div>
212
  <div>
213
  <label for="aspectRatio">🖼️ Aspect Ratio</label>
@@ -372,7 +376,6 @@
372
  </div>
373
  </div>
374
 
375
- <!-- Voiceover Block -->
376
  <div id="voiceoverBlock" style="margin-top:.5rem;">
377
  <label style="display:flex; align-items:center; gap:8px; font-weight:600;">
378
  <input type="checkbox" id="useVoiceover" checked /> Enable Voiceover
@@ -643,17 +646,17 @@
643
 
644
  const qp = QUALITY_PRESET[qualEl.value] || QUALITY_PRESET.pro;
645
 
646
- const variant = el("variant")?.value || "cinematic";
647
- const ar = el("aspectRatio")?.value || "16:9";
648
- const domain = el("domain")?.value || "advertisement";
649
- const scene = (el("taskFocus")?.value === "custom" ? el("customTask")?.value : el("taskFocus")?.value) || "Product Reveal";
650
 
651
- const lookOn = el("useLookPreset")?.checked;
652
- const voOn = el("useVoiceover")?.checked;
653
 
654
  let subjectLook = null;
655
  if (lookOn) {
656
- const type = el("characterType")?.value;
657
  const tone = el("skinTone")?.value;
658
  const hc = el("headCover")?.value;
659
  subjectLook = { type, skin_tone: tone, head_cover: hc };
@@ -722,15 +725,29 @@
722
 
723
  // Events
724
  aspectEl?.addEventListener("change", syncPlatformsFromAspect);
725
- varEl?.addEventListener("change", ()=>{ autoFromVariantAndDomain(); });
726
  domEl?.addEventListener("change", ()=>{ autoFromVariantAndDomain(); });
727
 
 
728
  const taskFocus = el('taskFocus');
729
  const customTaskWrap = el('customTaskWrapper');
730
  taskFocus?.addEventListener('change', ()=>{
731
  customTaskWrap.style.display = taskFocus.value === 'custom' ? 'block' : 'none';
732
  });
733
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
734
  document.addEventListener("DOMContentLoaded", ()=>{
735
  autoFromVariantAndDomain();
736
  syncPlatformsFromAspect();
@@ -738,4 +755,4 @@
738
  });
739
  </script>
740
  </body>
741
- </html>
 
119
  <h1>🎬 Veo3 JSON Prompt Generator <span style="font-size: 1rem; font-weight: 400;">(Pro)</span></h1>
120
  <div class="subtitle">Slect Options • Smart Mode • Copy‑ready JSON Prompt</div>
121
 
 
122
  <div class="toolbar">
123
  <div class="group">
124
  <label for="qualityPreset" style="margin:0">Quality</label>
 
130
  </div>
131
  </div>
132
 
 
133
  <div class="row">
134
  <div>
135
  <label for="domain">🎯 Select Domain</label>
 
160
  </optgroup>
161
  <option value="custom">🛠️ Custom Character or Product</option>
162
  </select>
163
+ <div id="customCharacterTypeWrapper" style="display:none; margin-top:.5rem;">
164
+ <input type="text" id="customCharacterType" placeholder="Enter custom character or product" />
165
+ </div>
166
  </div>
167
  </div>
168
 
 
209
  <option value="comedy-sketch">🤣 Comedy Sketch</option>
210
  <option value="custom">✍️ Custom Variant</option>
211
  </select>
212
+ <div id="customVariantWrapper" style="display:none; margin-top:.5rem;">
213
+ <input type="text" id="customVariant" placeholder="Enter custom video type" />
214
+ </div>
215
  </div>
216
  <div>
217
  <label for="aspectRatio">🖼️ Aspect Ratio</label>
 
376
  </div>
377
  </div>
378
 
 
379
  <div id="voiceoverBlock" style="margin-top:.5rem;">
380
  <label style="display:flex; align-items:center; gap:8px; font-weight:600;">
381
  <input type="checkbox" id="useVoiceover" checked /> Enable Voiceover
 
646
 
647
  const qp = QUALITY_PRESET[qualEl.value] || QUALITY_PRESET.pro;
648
 
649
+ const variant = (el("variant")?.value === "custom" ? el("customVariant")?.value : el("variant")?.value) || "cinematic";
650
+ const ar = el("aspectRatio")?.value || "16:9";
651
+ const domain = el("domain")?.value || "advertisement";
652
+ const scene = (el("taskFocus")?.value === "custom" ? el("customTask")?.value : el("taskFocus")?.value) || "Product Reveal";
653
 
654
+ const lookOn = el("useLookPreset")?.checked;
655
+ const voOn = el("useVoiceover")?.checked;
656
 
657
  let subjectLook = null;
658
  if (lookOn) {
659
+ const type = (el("characterType")?.value === "custom" ? el("customCharacterType")?.value : el("characterType")?.value);
660
  const tone = el("skinTone")?.value;
661
  const hc = el("headCover")?.value;
662
  subjectLook = { type, skin_tone: tone, head_cover: hc };
 
725
 
726
  // Events
727
  aspectEl?.addEventListener("change", syncPlatformsFromAspect);
 
728
  domEl?.addEventListener("change", ()=>{ autoFromVariantAndDomain(); });
729
 
730
+ // Task Focus Custom Input
731
  const taskFocus = el('taskFocus');
732
  const customTaskWrap = el('customTaskWrapper');
733
  taskFocus?.addEventListener('change', ()=>{
734
  customTaskWrap.style.display = taskFocus.value === 'custom' ? 'block' : 'none';
735
  });
736
 
737
+ // Character/Product Custom Input
738
+ const characterType = el('characterType');
739
+ const customCharacterWrap = el('customCharacterTypeWrapper');
740
+ characterType?.addEventListener('change', () => {
741
+ customCharacterWrap.style.display = characterType.value === 'custom' ? 'block' : 'none';
742
+ });
743
+
744
+ // Variant Custom Input & Auto-preset trigger
745
+ const customVariantWrap = el('customVariantWrapper');
746
+ varEl?.addEventListener("change", ()=>{
747
+ autoFromVariantAndDomain();
748
+ customVariantWrap.style.display = varEl.value === 'custom' ? 'block' : 'none';
749
+ });
750
+
751
  document.addEventListener("DOMContentLoaded", ()=>{
752
  autoFromVariantAndDomain();
753
  syncPlatformsFromAspect();
 
755
  });
756
  </script>
757
  </body>
758
+ </html>