AdronX commited on
Commit
dcfeb46
·
verified ·
1 Parent(s): 75020ef

🐳 19/02 - 22:47 - tool not working now remove unusual features

Browse files
Files changed (1) hide show
  1. index.html +132 -836
index.html CHANGED
@@ -816,12 +816,7 @@
816
  Generate Detailed Prompt
817
  </button>
818
 
819
- <!-- Batch Generate Button (NEW) -->
820
- <button onclick="openBatchModal()"
821
- class="w-full py-3 bg-gray-100 hover:bg-gray-200 border border-gray-300 text-gray-700 font-medium rounded-xl transition-all transform hover:translateY(-2px) hover:translateZ(10px) flex items-center justify-center gap-2 group shadow-lg hover:shadow-xl">
822
- <i data-lucide="layers" class="w-5 h-5 group-hover:scale-110 transition-transform"></i>
823
- Generate Batch Variations (5x)
824
- </button>
825
  </div>
826
 
827
  <!-- Right Panel: Output -->
@@ -1492,34 +1487,9 @@
1492
  </div>
1493
 
1494
  >
1495
- <!-- Live Enhancement Controls -->
1496
- <div class="max-w-3xl mx-auto glass-panel glass-panel-3d p-6 rounded-2xl border-indigo-200 bg-white/90">
1497
- <div class="flex items-center justify-between mb-4">
1498
- <h3 class="font-semibold text-gray-900 flex items-center gap-2">
1499
- <i data-lucide="wand-2" class="w-5 h-5 text-indigo-600"></i>
1500
- Live AI Enhancement
1501
- </h3>
1502
- <span id="apiStatusBadge" class="px-3 py-1 rounded-full bg-gray-100 text-gray-500 text-xs font-medium">Offline Mode</span>
1503
- </div>
1504
- <div class="grid md:grid-cols-2 gap-4">
1505
- <button onclick="enhanceWithAI('openai')" id="btn-enhance-openai" class="p-4 rounded-xl border border-gray-200 hover:border-green-500 hover:bg-green-50 transition-all text-left opacity-50" disabled>
1506
- <div class="font-medium text-gray-900 mb-1">🧠 GPT-4 Enhance</div>
1507
- <div class="text-xs text-gray-500">Smart rewrite with cinematic terminology</div>
1508
- </button>
1509
- <button onclick="enhanceWithAI('stability')" id="btn-enhance-stability" class="p-4 rounded-xl border border-gray-200 hover:border-purple-500 hover:bg-purple-50 transition-all text-left opacity-50" disabled>
1510
- <div class="font-medium text-gray-900 mb-1">🎨 Generate Preview</div>
1511
- <div class="text-xs text-gray-500">Create reference image from prompt</div>
1512
- </button>
1513
- <button onclick="enhanceWithAI('runway')" id="btn-enhance-runway" class="p-4 rounded-xl border border-gray-200 hover:border-blue-500 hover:bg-blue-50 transition-all text-left opacity-50" disabled>
1514
- <div class="font-medium text-gray-900 mb-1">🎬 Direct Generate</div>
1515
- <div class="text-xs text-gray-500">Send to Runway instantly</div>
1516
- </button>
1517
- <button onclick="batchEnhanceAll()" id="btn-batch-enhance" class="p-4 rounded-xl border border-gray-200 hover:border-indigo-500 hover:bg-indigo-50 transition-all text-left opacity-50" disabled>
1518
- <div class="font-medium text-gray-900 mb-1">⚡ Batch Process</div>
1519
- <div class="text-xs text-gray-500">Enhance all ideas at once</div>
1520
- </button>
1521
- </div>
1522
- <p class="text-xs text-gray-500 mt-4 text-center">Add API keys above to enable live features. Keys are stored locally in your browser only.</p>
1523
  </div>
1524
  </div>
1525
  </section>
@@ -1997,343 +1967,121 @@
1997
  cyberpunk: ['RGB split lighting', 'neon reflection on wet surfaces', 'high contrast magenta and cyan']
1998
  };
1999
 
2000
- // Expanded Idea generation databases with 20+ categories
2001
  const ideaDatabases = {
2002
  woodworking: {
2003
  name: 'Miniature Woodworking Tools',
2004
  items: [
2005
- 'Miniature precision circular saw with orange safety housing and tungsten carbide blade',
2006
- 'Keychain-sized cordless drill driver with 2-speed gearbox and LED work light',
2007
- 'Compact Japanese pull saw with resin-infused bamboo handle and SK5 steel blade',
2008
- 'Palm-sized electric sander with variable speed and dust collection port',
2009
- 'Miniature router tool with micro-adjust depth ring and transparent base plate',
2010
- 'Pocket chisel set with beechwood handles and chrome-vanadium blades',
2011
- 'Compact wood burning pyrography pen with temperature control dial',
2012
- 'Keychain miter gauge with angle adjustment and stainless steel guide rail',
2013
- 'Miniature biscuit joiner with retractable blade guard and ergonomic grip',
2014
- 'Pocket-sized orbital jigsaw with counterbalance system and dust blower',
2015
- 'Micro lathe for pen turning with variable speed control',
2016
- 'Miniature band saw with precision blade guides',
2017
- 'Compact dust collector with HEPA filtration',
2018
- 'Pocket hole jig system with drill bit',
2019
- 'Miniature spindle sander for curved work'
2020
  ],
2021
- colors: ['safety orange', 'industrial yellow', 'forest green', 'mahogany red', 'steel blue'],
2022
- materials: ['glass-filled nylon', 'aluminum alloy', 'hardened steel', 'rubber overmold', 'titanium coating'],
2023
- actions: ['cutting through oak grain', 'drilling precise holes', 'sanding smooth curves', 'carving intricate details', 'polishing to mirror finish'],
2024
- sound: ['whirring motor', 'cutting resistance', 'wood grain vibration', 'sawdust spray', 'blade whistling']
2025
  },
2026
  cyberpunk: {
2027
  name: 'Cyberpunk Gadgets',
2028
  items: [
2029
- 'Neural port interface with glowing synaptic connectors and titanium housing',
2030
- 'Holographic data shard with floating translucent display and carbon fiber casing',
2031
- 'Stealth optic implant with LED status ring and military-grade polymer',
2032
- 'Quantum encryption key with pulsing circuitry and brushed aluminum finish',
2033
- 'Neuralink-style brain-computer interface with flexible electrode array',
2034
- 'Cybernetic finger augments with retractable tools and matte black coating',
2035
- 'Portable EMP device with capacitor indicators and shock-resistant housing',
2036
- 'Subdermal payment chip scanner with NFC coil glow and ceramic body',
2037
- 'Biometric lock picker with thermal imaging lens and graphite composite',
2038
- 'Neuro-stim injector with dosage display and sterile chrome needle',
2039
- 'AR contact lens with HUD projection and diamond coating',
2040
- 'Holographic keyboard projector with gesture recognition',
2041
- 'Nano-drone swarm controller with mesh network display',
2042
- 'Cyberdeck with flip-up screen and mechanical switches',
2043
- 'Synthetic muscle fiber repair kit with bio-gel applicator'
2044
- ],
2045
- colors: ['neon cyan', 'hot magenta', 'electro yellow', 'matte black', 'chrome silver', 'toxic green'],
2046
- materials: ['brushed titanium', 'carbon fiber', 'translucent polycarbonate', 'circuit board', 'graphene'],
2047
- actions: ['interfacing with neural network', 'projecting holographic data', 'hacking secure terminals', 'injecting stimulation', 'scanning biometrics'],
2048
- sound: ['electronic hum', 'data transfer beeps', 'mechanical whir', 'neural sync tone', 'cooling fan whisper']
2049
- },
2050
- fantasy: {
2051
- name: 'Fantasy Artifacts',
2052
- items: [
2053
- 'Ancient dragon scale amulet with pulsing inner fire and obsidian chain',
2054
- 'Elven moonstone compass with silver filigree and directional runes',
2055
- 'Dwarven rune hammer with mithril inlay and leather shock grip',
2056
- 'Arcane spell focus crystal with floating elemental motes and gold claw setting',
2057
- 'Phoenix feather quill that writes in flaming script and ash wood handle',
2058
- 'Enchanted timepiece pocket watch with shifting clock face and brass body',
2059
- 'Shadow realm lantern with violet ghost light and wrought iron cage',
2060
- 'Merfolk pearl conch that whispers prophecies and abalone shell exterior',
2061
- 'Giant-slaying throwing axe with lightning etched blade and oak haft',
2062
- 'Witch-bane silver pentacle with holy sigils and velvet backing',
2063
- 'Necromancer soul phylactery with trapped ethereal mist',
2064
- 'Paladin oath sword with glowing white blade and gold crossguard',
2065
- 'Ranger tracking charm with carved bone animals',
2066
- 'Bard instrument lute with strings of spider silk and singing resonance',
2067
- 'Alchemist philosopher stone with transmutation glow'
2068
- ],
2069
- colors: ['ancient gold', 'mystic violet', 'dragon red', 'moonlight silver', 'shadow black', 'nature emerald'],
2070
- materials: ['obsidian', 'mithril', 'crystal', 'enchanted wood', 'dragon bone', 'ethereal mist'],
2071
- actions: ['glowing with magical energy', 'floating slightly', 'emitting ethereal mist', 'pulsing with heartbeat rhythm', 'revealing hidden runes'],
2072
- sound: ['magical chime', 'crackling energy', 'ancient whisper', 'elemental rush', 'mystical resonance']
2073
- },
2074
- nature: {
2075
- name: 'Macro Nature',
2076
- items: [
2077
- 'Morning dew on spider silk with rainbow prism refractions',
2078
- 'Bee pollinating wildflower with pollen baskets fully loaded',
2079
- 'Chameleon catching prey with ballistic tongue and color shift',
2080
- 'Ant carrying leaf fragment ten times its weight across moss',
2081
- 'Hummingbird hovering at trumpet vine with wings frozen mid-beat',
2082
- 'Ladybug unfolding wings from beneath red shell elytra',
2083
- 'Dew-covered dragonfly wings with cellular structure visible',
2084
- 'Snail traversing mushroom cap with glistening trail behind',
2085
- 'Jumping spider with multiple eyes reflecting camera lens',
2086
- 'Butterfly emerging from chrysalis with wet crumpled wings',
2087
- 'Water strider on pond surface with dimple physics',
2088
- 'Praying mantis cleaning forelegs with precision',
2089
- 'Caterpillar eating milkweed leaf with mandibles visible',
2090
- 'Firefly glowing abdomen pulsing in twilight',
2091
- 'Dandelion seeds dispersing in wind currents'
2092
- ],
2093
- colors: ['forest green', 'sunset orange', 'dew clear', 'earth brown', 'flower pink', 'sky blue'],
2094
- materials: ['organic chitin', 'plant cellulose', 'water droplets', 'living tissue', 'pollen dust'],
2095
- actions: ['gathering nectar', 'hunting prey', 'emerging from cocoon', 'carrying food', 'mating display', 'molting exoskeleton'],
2096
- sound: ['wing beats', 'sticky footfalls', 'crunching leaves', 'drip of dew', 'insect chirp']
2097
- },
2098
- food: {
2099
- name: 'Gourmet Food Art',
2100
- items: [
2101
- 'Chef knife slicing through ripe tomato with water droplets spraying',
2102
- 'Whisk creating stiff peaks in vanilla bean cream',
2103
- 'Blowtorch caramelizing sugar on crème brûlée surface',
2104
- 'Pasta extruder pushing out fresh bucatini strands',
2105
- 'Mortar grinding saffron threads with pestle motion',
2106
- 'Microplane zesting lemon with oil mist rising',
2107
- 'Copper pan flambé with blue flame and brandy steam',
2108
- 'Chocolate tempering on marble slab with spreading motion',
2109
- 'Sushi chef forming nigiri with rice grains glistening',
2110
- 'Piping bag creating rose frosting with buttercream petals',
2111
- 'Pizza dough spinning in air with flour dust cloud',
2112
- 'Coffee latte art being poured with leaf pattern forming',
2113
- 'Honey dripping from dipper with golden viscous strands',
2114
- 'Salt crystals falling on fresh steak with bounce',
2115
- 'Citrus juice spray from squeezed lemon wedge'
2116
- ],
2117
- colors: ['copper orange', 'cream white', 'chocolate brown', 'flame blue', 'berry red', 'herb green'],
2118
- materials: ['steel', 'marble', 'copper', 'ceramic', 'glass', 'organic matter'],
2119
- actions: ['slicing precisely', 'mixing vigorously', 'caramelizing sugar', 'piping decoration', 'flambeing alcohol', 'tempering chocolate'],
2120
- sound: ['sizzle', 'chopping rhythm', 'whisk whisking', 'flame whoosh', 'simmer bubble']
2121
- },
2122
- fashion: {
2123
- name: 'Micro Fashion',
2124
- items: [
2125
- 'Miniature sewing machine stitching silk with golden thread',
2126
- 'Tiny dress form draped with hand-painted organza',
2127
- 'Micro loom weaving cashmere with shuttle movement',
2128
- 'Pocket-sized steamer removing wrinkles from linen',
2129
- 'Miniature dress shoes being polished to mirror shine',
2130
- 'Tiny leatherworking tools crafting watch strap',
2131
- 'Micro embroidery hoop with cross-stitch in progress',
2132
- 'Pocket watch chain being linked with micro pliers',
2133
- 'Miniature fabric shears cutting haute couture pattern',
2134
- 'Tiny mannequin being fitted with LED-lit fiber optic dress',
2135
- 'Miniature button sewing with needle and thread',
2136
- 'Micro knitting machine creating fine gauge sweater',
2137
- 'Tiny hat blocking with steam and shaping',
2138
- 'Miniature zipper being attached to jacket',
2139
- 'Small beads being strung for couture embellishment'
2140
- ],
2141
- colors: ['haute pink', 'designer black', 'silk white', 'gold thread', 'couture red', 'velvet purple'],
2142
- materials: ['silk', 'cashmere', 'Italian leather', 'organza', 'satin', 'beaded lace'],
2143
- actions: ['stitching seams', 'draping fabric', 'polishing leather', 'weaving threads', 'blocking hats', 'beading details'],
2144
- sound: ['sewing machine hum', 'scissor snip', 'steamer hiss', 'needle through fabric', 'bead clinking']
2145
- },
2146
- space: {
2147
- name: 'Space Technology',
2148
- items: [
2149
- 'Satellite deploying solar panels in orbit with Earth backdrop',
2150
- 'Astronaut helmet reflecting space station in visor',
2151
- 'Rocket engine ignition with mach diamond shockwaves',
2152
- 'SpaceX-style booster landing with landing legs deploying',
2153
- 'ISS module docking with alignment lasers visible',
2154
- 'Mars rover drilling rock sample with dust cloud',
2155
- 'James Webb style hexagonal mirror array adjusting',
2156
- 'Space suit glove manipulating tool in zero gravity',
2157
- 'Orbital sunrise illuminating spacecraft silhouette',
2158
- 'Zero-G coffee blob floating in air inside capsule',
2159
- 'Satellite dish deploying and locking into position',
2160
- 'Thruster firing with glowing nozzle and ice particles',
2161
- 'Space debris tracking radar with blip display',
2162
- 'Astronaut planting flag on lunar surface with dust spray',
2163
- 'Telescope lens adjusting focus with mechanical whir'
2164
- ],
2165
- colors: ['space black', 'suit white', 'thruster orange', 'earth blue', 'solar gold', 'warning red'],
2166
- materials: ['titanium alloy', 'gold foil', 'carbon composite', 'ceramic tiles', 'kevlar fabric'],
2167
- actions: ['deploying mechanisms', 'firing thrusters', 'orbiting Earth', 'collecting samples', 'docking procedures', 'spacewalking'],
2168
- sound: ['radio static', 'mechanical whir', 'thruster roar', 'suit fans', 'communication beeps']
2169
- },
2170
- medical: {
2171
- name: 'Medical Technology',
2172
- items: [
2173
- 'Microsurgical robot arm suturing with precision needles',
2174
- 'MRI machine magnetic field visualization with blue glow',
2175
- 'DNA sequencer analyzing genetic code with laser scanning',
2176
- 'Prosthetic hand grasping delicate crystal sphere',
2177
- 'Endoscope camera navigating artery with blood flow',
2178
- 'Pacemaker implantation with electrode attachment',
2179
- '3D bioprinter creating organ tissue layer by layer',
2180
- 'Neural electrode array mapping brain activity',
2181
- 'Surgical laser cauterizing tissue with smoke wisps',
2182
- 'Exoskeleton suit assisting walking motion',
2183
- 'Artificial heart valve opening and closing',
2184
- 'Microscope slide with stained cell samples',
2185
- 'Insulin pump injecting with digital display',
2186
- 'Defibrillator charging with capacitor whine',
2187
- 'Stethoscope chest piece vibrating with heartbeat'
2188
- ],
2189
- colors: ['medical white', 'sterile blue', 'warning red', 'surgical green', 'silver chrome', 'warm skin'],
2190
- materials: ['titanium', 'silicone', 'stainless steel', 'biocompatible plastic', 'carbon fiber', 'living tissue'],
2191
- actions: ['precise cutting', 'scanning tissues', 'administering drugs', 'monitoring vitals', 'repairing wounds', 'analyzing samples'],
2192
- sound: ['beep monitor', 'suction hiss', 'drill whir', 'alarm chime', 'pump rhythm']
2193
- },
2194
- automotive: {
2195
- name: 'Automotive Detail',
2196
- items: [
2197
- 'Piston engine firing with combustion flash visible',
2198
- 'Turbocharger spooling with exhaust heat shimmer',
2199
- 'Carbon ceramic brake disc glowing red under hard braking',
2200
- 'Suspension compression over speed bump with oil damping',
2201
- 'Transmission gears meshing with oil spray',
2202
- 'Tire tread flexing through water puddle with displacement',
2203
- 'Headlight LED array illuminating with sequential start',
2204
- 'Exhaust manifold headers with heat coloration',
2205
- 'Steering rack moving tie rods with precision',
2206
- 'Fuel injector spraying atomized gasoline mist',
2207
- 'Shock absorber piston moving through oil chamber',
2208
- 'Camshaft rotating with valve spring compression',
2209
- 'Differential gears distributing torque to wheels',
2210
- 'Intake manifold vacuum with air flow dynamics',
2211
- 'Battery cell charging with ion flow visualization'
2212
- ],
2213
- colors: ['engine silver', 'brake red', 'oil amber', 'carbon black', 'chrome shine', 'rubber black'],
2214
- materials: ['forged steel', 'carbon fiber', 'aluminum alloy', 'rubber compound', 'ceramic', 'copper wiring'],
2215
- actions: ['combusting fuel', 'spinning turbo', 'gripping road', 'absorbing bumps', 'steering wheels', 'braking hard'],
2216
- sound: ['engine rev', 'turbo whistle', 'tire screech', 'exhaust pop', 'gear shift']
2217
- },
2218
- architecture: {
2219
- name: 'Architectural Detail',
2220
- items: [
2221
- 'Skyscraper curtain wall reflecting sunset clouds',
2222
- 'Staircase spiral with perspective vanishing point',
2223
- 'Concrete formwork being removed with fresh surface reveal',
2224
- 'Glass elevator shaft moving through atrium',
2225
- 'Cantilevered bridge section with tension cables',
2226
- 'Green living wall with irrigation misting',
2227
- 'Parametric facade panel with geometric shadows',
2228
- 'Atrium skylight with light beam through dust',
2229
- 'Escalator steps folding flat at landing plate',
2230
- 'Brutalist concrete texture with formwork patterns',
2231
- 'Suspension bridge cable oscillation in wind',
2232
- 'Geodesic dome structure with triangular panes',
2233
- 'Water feature fountain with laminar flow',
2234
- 'Revolving door spinning with motion blur',
2235
- 'LED facade lighting up in sequential pattern'
2236
- ],
2237
- colors: ['concrete gray', 'glass blue', 'steel silver', 'sunset gold', 'nature green', 'night black'],
2238
- materials: ['reinforced concrete', 'tempered glass', 'stainless steel', 'treated wood', 'titanium panels', 'living plants'],
2239
- actions: ['reflecting sky', 'supporting weight', 'moving elevators', 'flowing water', 'growing plants', 'opening doors'],
2240
- sound: ['wind whistle', 'water flow', 'machinery hum', 'footsteps echo', 'glass creak']
2241
- }
2242
- };
2243
- cyberpunk: {
2244
- name: 'Cyberpunk Gadgets',
2245
- items: [
2246
- 'Neural port interface with glowing synaptic connectors and titanium housing',
2247
- 'Holographic data shard with floating translucent display and carbon fiber casing',
2248
- 'Stealth optic implant with LED status ring and military-grade polymer',
2249
- 'Quantum encryption key with pulsing circuitry and brushed aluminum finish',
2250
- 'Neuralink-style brain-computer interface with flexible electrode array',
2251
- 'Cybernetic finger augments with retractable tools and matte black coating',
2252
- 'Portable EMP device with capacitor indicators and shock-resistant housing',
2253
- 'Subdermal payment chip scanner with NFC coil glow and ceramic body',
2254
- 'Biometric lock picker with thermal imaging lens and graphite composite',
2255
- 'Neuro-stim injector with dosage display and sterile chrome needle'
2256
  ],
2257
  colors: ['neon cyan', 'hot magenta', 'electro yellow', 'matte black'],
2258
- materials: ['brushed titanium', 'carbon fiber', 'translucent polycarbonate', 'circuit board'],
2259
- actions: ['interfacing with neural network', 'projecting holographic data', 'hacking secure terminals', 'injecting stimulation'],
2260
- sound: ['electronic hum', 'data transfer beeps', 'mechanical whir', 'neural sync tone']
2261
  },
2262
  fantasy: {
2263
  name: 'Fantasy Artifacts',
2264
  items: [
2265
- 'Ancient dragon scale amulet with pulsing inner fire and obsidian chain',
2266
- 'Elven moonstone compass with silver filigree and directional runes',
2267
- 'Dwarven rune hammer with mithril inlay and leather shock grip',
2268
- 'Arcane spell focus crystal with floating elemental motes and gold claw setting',
2269
- 'Phoenix feather quill that writes in flaming script and ash wood handle',
2270
- 'Enchanted timepiece pocket watch with shifting clock face and brass body',
2271
- 'Shadow realm lantern with violet ghost light and wrought iron cage',
2272
- 'Merfolk pearl conch that whispers prophecies and abalone shell exterior',
2273
- 'Giant-slaying throwing axe with lightning etched blade and oak haft',
2274
- 'Witch-bane silver pentacle with holy sigils and velvet backing'
2275
  ],
2276
  colors: ['ancient gold', 'mystic violet', 'dragon red', 'moonlight silver'],
2277
- materials: ['obsidian', 'mithril', 'crystal', 'enchanted wood', 'dragon bone'],
2278
- actions: ['glowing with magical energy', 'floating slightly', 'emitting ethereal mist', 'pulsing with heartbeat rhythm'],
2279
- sound: ['magical chime', 'crackling energy', 'ancient whisper', 'elemental rush']
2280
  },
2281
  nature: {
2282
  name: 'Macro Nature',
2283
  items: [
2284
- 'Morning dew on spider silk with rainbow prism refractions',
2285
- 'Bee pollinating wildflower with pollen baskets fully loaded',
2286
- 'Chameleon catching prey with ballistic tongue and color shift',
2287
- 'Ant carrying leaf fragment ten times its weight across moss',
2288
- 'Hummingbird hovering at trumpet vine with wings frozen mid-beat',
2289
- 'Ladybug unfolding wings from beneath red shell elytra',
2290
- 'Dew-covered dragonfly wings with cellular structure visible',
2291
- 'Snail traversing mushroom cap with glistening trail behind',
2292
- 'Jumping spider with multiple eyes reflecting camera lens',
2293
- 'Butterfly emerging from chrysalis with wet crumpled wings'
2294
  ],
2295
  colors: ['forest green', 'sunset orange', 'dew clear', 'earth brown'],
2296
- materials: ['organic chitin', 'plant cellulose', 'water droplets', 'living tissue'],
2297
- actions: ['gathering nectar', 'hunting prey', 'emerging from cocoon', 'carrying food'],
2298
- sound: ['wing beats', 'sticky footfalls', 'crunching leaves', 'drip of dew']
2299
  },
2300
  food: {
2301
  name: 'Gourmet Food Art',
2302
  items: [
2303
- 'Chef knife slicing through ripe tomato with water droplets spraying',
2304
- 'Whisk creating stiff peaks in vanilla bean cream',
2305
- 'Blowtorch caramelizing sugar on crème brûlée surface',
2306
- 'Pasta extruder pushing out fresh bucatini strands',
2307
- 'Mortar grinding saffron threads with pestle motion',
2308
- 'Microplane zesting lemon with oil mist rising',
2309
- 'Copper pan flambé with blue flame and brandy steam',
2310
- 'Chocolate tempering on marble slab with spreading motion',
2311
- 'Sushi chef forming nigiri with rice grains glistening',
2312
- 'Piping bag creating rose frosting with buttercream petals'
2313
  ],
2314
  colors: ['copper orange', 'cream white', 'chocolate brown', 'flame blue'],
2315
- materials: ['steel', 'marble', 'copper', 'ceramic', 'glass'],
2316
- actions: ['slicing precisely', 'mixing vigorously', 'caramelizing sugar', 'piping decoration'],
2317
- sound: ['sizzle', 'chopping rhythm', 'whisk whisking', 'flame whoosh']
2318
  },
2319
  fashion: {
2320
  name: 'Micro Fashion',
2321
  items: [
2322
- 'Miniature sewing machine stitching silk with golden thread',
2323
- 'Tiny dress form draped with hand-painted organza',
2324
- 'Micro loom weaving cashmere with shuttle movement',
2325
- 'Pocket-sized steamer removing wrinkles from linen',
2326
- 'Miniature dress shoes being polished to mirror shine',
2327
- 'Tiny leatherworking tools crafting watch strap',
2328
- 'Micro embroidery hoop with cross-stitch in progress',
2329
- 'Pocket watch chain being linked with micro pliers',
2330
- 'Miniature fabric shears cutting haute couture pattern',
2331
- 'Tiny mannequin being fitted with LED-lit fiber optic dress'
2332
  ],
2333
  colors: ['haute pink', 'designer black', 'silk white', 'gold thread'],
2334
- materials: ['silk', 'cashmere', 'Italian leather', 'organza', 'satin'],
2335
- actions: ['stitching seams', 'draping fabric', 'polishing leather', 'weaving threads'],
2336
- sound: ['sewing machine hum', 'scissor snip', 'steamer hiss', 'needle through fabric']
2337
  }
2338
  };
2339
 
@@ -3114,497 +2862,99 @@
3114
  showToast('Downloaded all variations!');
3115
  }
3116
 
3117
- // SCENE STORY GENERATOR FUNCTIONS
3118
- let currentStoryModel = 'veo3';
3119
-
3120
- function setStoryModel(model) {
3121
- currentStoryModel = model;
3122
- document.querySelectorAll('.story-model-btn').forEach(btn => {
3123
- btn.className = 'story-model-btn p-3 rounded-xl border border-gray-200 bg-gray-50 text-xs font-medium text-gray-600 transition-all';
3124
- });
3125
- document.getElementById(`story-${model}`).className = 'story-model-btn p-3 rounded-xl border-2 border-blue-500 bg-blue-50 text-xs font-semibold text-blue-700 transition-all';
3126
- }
3127
-
3128
- function updateStoryTemplate() {
3129
- const type = document.getElementById('storyType').value;
3130
- const templates = {
3131
- cinematic: { subject: 'A lone figure standing on cliff edge', setting: 'Stormy coastline at dusk' },
3132
- dialogue: { subject: 'Two people having intense conversation', setting: 'Vintage diner booth' },
3133
- action: { subject: 'Parkour runner navigating urban environment', setting: 'Rain-soaked city rooftops' },
3134
- montage: { subject: 'Artist creating masterpiece', setting: 'Sunlit studio with dust motes' },
3135
- transition: { subject: 'Door opening to new world', setting: 'From dark room to bright landscape' },
3136
- flashback: { subject: 'Childhood memory visualization', setting: 'Golden hour wheat field' }
3137
- };
3138
-
3139
- if (templates[type]) {
3140
- document.getElementById('storySubject').value = templates[type].subject;
3141
- document.getElementById('storySetting').value = templates[type].setting;
3142
- }
3143
- }
3144
-
3145
- function loadStoryTemplate(template) {
3146
- const templates = {
3147
- noir: { model: 'veo3', type: 'dialogue', subject: 'Private detective lighting cigarette', setting: 'Rainy office with venetian blind shadows', emotion: 'mystery-reveal' },
3148
- sci: { model: 'kling', type: 'action', subject: 'Astronaut discovering alien artifact', setting: 'Crystal cave with bioluminescence', emotion: 'tension-building' },
3149
- romance: { model: 'seedance', type: 'montage', subject: 'Couple meeting at coffee shop', setting: 'Warm autumn café with soft focus', emotion: 'isolation-connection' }
3150
- };
3151
-
3152
- const t = templates[template];
3153
- setStoryModel(t.model);
3154
- document.getElementById('storyType').value = t.type;
3155
- document.getElementById('storySubject').value = t.subject;
3156
- document.getElementById('storySetting').value = t.setting;
3157
- document.getElementById('storyEmotion').value = t.emotion;
3158
- showToast(`${template} template loaded!`);
3159
- }
3160
-
3161
- function generateSceneStory() {
3162
- if (!checkTrialAccess()) return;
3163
-
3164
- const model = currentStoryModel;
3165
- const type = document.getElementById('storyType').value;
3166
- const subject = document.getElementById('storySubject').value || 'A mysterious figure';
3167
- const setting = document.getElementById('storySetting').value || 'An undefined space';
3168
- const emotion = document.getElementById('storyEmotion').value;
3169
- const duration = parseInt(document.getElementById('storyDuration').value);
3170
-
3171
- const config = {
3172
- veo3: { name: 'Veo 3', focus: 'physical accuracy, natural phenomena, realistic physics', style: 'Photorealistic' },
3173
- kling: { name: 'Kling', focus: 'fluid motion, extended duration handling, smooth transitions', style: 'Cinematic motion' },
3174
- seedance: { name: 'Seedance', focus: 'artistic cinematography, dramatic lighting, emotional beats', style: 'Filmic art' }
3175
- }[model];
3176
-
3177
- // Generate story beats
3178
- const beats = generateStoryBeats(type, emotion, duration);
3179
-
3180
- let storyPrompt = `// SCENE STORY - ${config.name} Optimized\n`;
3181
- storyPrompt += `// Duration: ${duration}s | Type: ${type} | Arc: ${emotion}\n\n`;
3182
- storyPrompt += `[SCENE SETUP]\n`;
3183
- storyPrompt += `${subject} in ${setting}. `;
3184
- storyPrompt += `${config.style} aesthetic with ${config.focus}. `;
3185
- storyPrompt += `Duration: ${duration} seconds.\n\n`;
3186
-
3187
- // Generate temporal narrative
3188
- beats.forEach((beat, i) => {
3189
- const time = formatTime((i / (beats.length - 1)) * duration);
3190
- storyPrompt += `[${time}] ${beat.title}\n`;
3191
- storyPrompt += `Action: ${beat.action}\n`;
3192
- storyPrompt += `Camera: ${beat.camera}\n`;
3193
- storyPrompt += `Lighting: ${beat.lighting}\n`;
3194
- if (beat.physics) storyPrompt += `Physics: ${beat.physics}\n`;
3195
- storyPrompt += `Emotion: ${beat.emotion}\n\n`;
3196
- });
3197
-
3198
- // Add closing
3199
- storyPrompt += `[${formatTime(duration)}] SCENE END\n`;
3200
- storyPrompt += `Final composition holds, emotional resolution, ${type === 'action' ? 'motion settling to rest' : 'static contemplative frame'}.\n\n`;
3201
-
3202
- // Audio/Foley
3203
- const audio = generateAudioFoley(type, setting, duration);
3204
-
3205
- displayStoryOutput(storyPrompt, beats, audio, config.name);
3206
- generateStoryboard(beats);
3207
- showToast(`Scene story generated for ${config.name}!`);
3208
- }
3209
-
3210
- function generateStoryBeats(type, emotionArc, duration) {
3211
- const numBeats = Math.max(3, Math.floor(duration / 5));
3212
- const beats = [];
3213
-
3214
- const emotions = {
3215
- 'tension-building': ['curiosity', 'tension', 'anxiety', 'climax', 'release'],
3216
- 'mystery-reveal': ['confusion', 'investigation', 'discovery', 'revelation', 'understanding'],
3217
- 'calm-chaos': ['peace', 'disturbance', 'escalation', 'peak chaos', 'resolution'],
3218
- 'loss-hope': ['sorrow', 'reflection', 'glimmer', 'growth', 'triumph'],
3219
- 'isolation-connection': ['loneliness', 'observation', 'approach', 'interaction', 'bonding']
3220
- }[emotionArc] || ['neutral', 'developing', 'climax', 'resolution'];
3221
-
3222
- const cameras = {
3223
- cinematic: ['Wide establishing shot', 'Medium two-shot', 'Close-up detail', 'Over-shoulder', 'Extreme close-up'],
3224
- dialogue: ['Two-shot profile', 'Close-up speaker A', 'Reaction shot B', 'Wide environmental', 'Intimate close-up'],
3225
- action: ['Wide tracking', 'Handheld following', 'Dynamic POV', 'Slow-motion detail', 'Wide resolution'],
3226
- montage: ['Static tableau', 'Gentle push-in', 'Detail insert', 'Transition blur', 'Final hold']
3227
- }[type] || ['Wide', 'Medium', 'Close', 'Medium', 'Wide'];
3228
-
3229
- for (let i = 0; i < numBeats; i++) {
3230
- const progress = i / (numBeats - 1);
3231
- beats.push({
3232
- title: `Beat ${i + 1}: ${type === 'dialogue' ? `Line ${i + 1}` : `Moment ${i + 1}`}`,
3233
- action: generateActionForBeat(type, progress),
3234
- camera: cameras[i % cameras.length],
3235
- lighting: progress < 0.3 ? 'Setup lighting' : progress < 0.7 ? 'Developing mood' : 'Climax illumination',
3236
- physics: type === 'action' ? generatePhysicsDetail(progress) : null,
3237
- emotion: emotions[Math.min(i, emotions.length - 1)]
3238
- });
3239
- }
3240
-
3241
- return beats;
3242
- }
3243
-
3244
- function generateActionForBeat(type, progress) {
3245
- const actions = {
3246
- cinematic: ['Subject enters frame', 'Environmental reaction', 'Key gesture', 'Environmental shift', 'Subject exits or resolves'],
3247
- dialogue: ['Character A speaks', 'Character B reacts', 'B speaks with emotion', 'A processes', 'Resolution beat'],
3248
- action: ['Preparation stance', 'Initiation of movement', 'Peak dynamic action', 'Consequence/effect', 'Recovery/reset'],
3249
- montage: ['Activity begins', 'Progress shown', 'Detail of craft', 'Transitional movement', 'Completion reveal']
3250
- }[type] || ['Movement', 'Action', 'Reaction', 'Development', 'Conclusion'];
3251
-
3252
- return actions[Math.floor(progress * actions.length)] || actions[actions.length - 1];
3253
- }
3254
-
3255
- function generatePhysicsDetail(progress) {
3256
- const details = [
3257
- 'Air disturbance from motion',
3258
- 'Material stress and reaction',
3259
- 'Particle displacement visible',
3260
- 'Environmental feedback loops',
3261
- 'Settling physics resolution'
3262
- ];
3263
- return details[Math.floor(progress * details.length)] || details[0];
3264
- }
3265
-
3266
- function generateAudioFoley(sceneType, setting, duration) {
3267
- const baseAmbience = setting.includes('rain') ? 'Rain ambience, wet surface interactions' :
3268
- setting.includes('city') ? 'Urban ambience, distant traffic' :
3269
- 'Environmental ambience, subtle atmospheric tone';
3270
-
3271
- const foley = {
3272
- cinematic: ['Footsteps on surface', 'Clothing movement', 'Environmental creaks'],
3273
- dialogue: ['Voice presence (implied)', 'Subtle breathing', 'Surface interactions'],
3274
- action: ['Impact sounds', 'Wind rush from speed', 'Material stress sounds'],
3275
- montage: ['Tool sounds', 'Material handling', 'Environmental soft sounds']
3276
- }[sceneType] || ['Movement foley', 'Environmental ambience'];
3277
-
3278
- return {
3279
- ambience: baseAmbience,
3280
- foley: foley,
3281
- suggestion: 'No dialogue, visual storytelling only. Foley matches motion velocity.'
3282
- };
3283
- }
3284
-
3285
- function displayStoryOutput(prompt, beats, audio, modelName) {
3286
- const output = document.getElementById('storyOutput');
3287
-
3288
- let html = `
3289
- <div class="p-4 rounded-xl bg-blue-50 border border-blue-200 mb-4">
3290
- <div class="text-xs font-bold text-blue-700 mb-1">MODEL: ${modelName}</div>
3291
- <div class="text-xs text-blue-600">${beats.length} narrative beats | ${audio.foley.length} foley elements</div>
3292
- </div>
3293
- <div class="font-mono text-sm text-gray-700 whitespace-pre-wrap leading-relaxed">${prompt.replace(/\n/g, '<br>')}</div>
3294
- `;
3295
-
3296
- output.innerHTML = html;
3297
-
3298
- // Display Audio/Foley
3299
- const audioHtml = `
3300
- <div class="p-3 bg-white rounded-lg border border-amber-200">
3301
- <div class="text-xs font-semibold text-amber-700 mb-1">🎵 Ambience</div>
3302
- <div class="text-sm text-gray-700">${audio.ambience}</div>
3303
- </div>
3304
- <div class="p-3 bg-white rounded-lg border border-amber-200">
3305
- <div class="text-xs font-semibold text-amber-700 mb-1">🔊 Foley Details</div>
3306
- <ul class="text-sm text-gray-700 list-disc list-inside">
3307
- ${audio.foley.map(f => `<li>${f}</li>`).join('')}
3308
- </ul>
3309
- </div>
3310
- <div class="p-3 bg-amber-100 rounded-lg">
3311
- <div class="text-xs font-semibold text-amber-800 mb-1">💡 Audio Note</div>
3312
- <div class="text-sm text-amber-900">${audio.suggestion}</div>
3313
- </div>
3314
- `;
3315
- document.getElementById('audioFoleyOutput').innerHTML = audioHtml;
3316
- }
3317
-
3318
- function generateStoryboard(beats) {
3319
- const container = document.getElementById('storyboardPreview');
3320
- let html = '';
3321
-
3322
- beats.forEach((beat, i) => {
3323
- const progress = i / (beats.length - 1);
3324
- const colorClass = progress < 0.3 ? 'from-blue-100 to-blue-50' : progress < 0.7 ? 'from-purple-100 to-purple-50' : 'from-amber-100 to-amber-50';
3325
-
3326
- html += `
3327
- <div class="aspect-video rounded-lg bg-gradient-to-br ${colorClass} border border-gray-200 p-3 flex flex-col justify-between">
3328
- <div class="text-xs font-bold text-gray-700">${beat.title}</div>
3329
- <div class="text-[10px] text-gray-500 leading-tight">
3330
- ${beat.camera}<br>
3331
- ${beat.emotion}
3332
- </div>
3333
- <div class="text-[10px] text-gray-400 mt-1">${formatTime(progress * 15)}</div>
3334
- </div>
3335
- `;
3336
- });
3337
-
3338
- container.innerHTML = html;
3339
- }
3340
-
3341
- function copyStoryPrompt() {
3342
- const text = document.getElementById('storyOutput').innerText;
3343
- navigator.clipboard.writeText(text).then(() => showToast('Scene story copied!'));
3344
- }
3345
 
3346
- function exportStory(format) {
3347
- const text = document.getElementById('storyOutput').innerText;
3348
- let blob, filename;
3349
-
3350
- if (format === 'json') {
3351
- const json = {
3352
- generated_at: new Date().toISOString(),
3353
- model: currentStoryModel,
3354
- content: text,
3355
- beats: document.getElementById('storyboardPreview').innerHTML
3356
- };
3357
- blob = new Blob([JSON.stringify(json, null, 2)], { type: 'application/json' });
3358
- filename = `scene-story-${Date.now()}.json`;
3359
- } else {
3360
- blob = new Blob([text], { type: 'text/plain' });
3361
- filename = `scene-story-${Date.now()}.txt`;
3362
- }
3363
-
3364
- const url = URL.createObjectURL(blob);
3365
- const a = document.createElement('a');
3366
- a.href = url;
3367
- a.download = filename;
3368
- a.click();
3369
- URL.revokeObjectURL(url);
3370
- showToast(`Exported as ${format.toUpperCase()}!`);
3371
- }
3372
-
3373
- // EXPANDED TEMPLATES LIBRARY - 25+ templates
3374
  const promptTemplates = [
3375
  {
3376
  id: 'cinematic-intro',
3377
  title: 'Cinematic Brand Intro',
3378
  icon: 'film',
3379
- desc: 'Professional company/product introduction',
3380
  model: 'veo3',
3381
  settings: { style: 'cinematic', camera: 'steadicam', duration: 10, complexity: 2 },
3382
- prompt: 'Ultra-smooth camera movement revealing premium product on marble surface, dramatic rim lighting, shallow depth of field, 8k quality, motion graphics subtle reflections'
3383
  },
3384
  {
3385
  id: 'product-showcase',
3386
- title: '360° Product Showcase',
3387
  icon: 'box',
3388
- desc: 'E-commerce style product rotation',
3389
  model: 'kling',
3390
  settings: { style: 'scifi', camera: 'dolly', duration: 8, complexity: 2 },
3391
- prompt: 'Seamless 360 degree rotation around product, white seamless background, soft box lighting, reflections on glossy surface, macro detail transitions'
3392
  },
3393
  {
3394
  id: 'nature-doc',
3395
  title: 'Nature Documentary',
3396
  icon: 'leaf',
3397
- desc: 'BBC-style nature sequence',
3398
  model: 'seedance',
3399
  settings: { style: 'documentary', camera: 'handheld', duration: 15, complexity: 3 },
3400
- prompt: 'Intimate wildlife behavior capture, golden hour natural lighting, telephoto compression, respectful distance, narration-ready pacing, David Attenborough style'
3401
- },
3402
- {
3403
- id: 'horror-short',
3404
- title: 'Horror Short Scene',
3405
- icon: 'ghost',
3406
- desc: 'Suspenseful horror moment',
3407
- model: 'veo3',
3408
- settings: { style: 'noir', camera: 'handheld', duration: 12, complexity: 2 },
3409
- prompt: 'Low angle creeping movement through abandoned hallway, single flickering light source, unsettling shadows, shallow depth focusing on distant door, tension-building pace'
3410
  },
3411
  {
3412
  id: 'fashion-walk',
3413
  title: 'Fashion Runway',
3414
  icon: 'user',
3415
- desc: 'High fashion model walking',
3416
  model: 'seedance',
3417
  settings: { style: 'fantasy', camera: 'steadicam', duration: 10, complexity: 2 },
3418
- prompt: 'Confident model walking toward camera, fabric flowing with motion, dramatic backlight creating silhouette, slow motion hair movement, haute couture atmosphere'
3419
- },
3420
- {
3421
- id: 'tech-demo',
3422
- title: 'Tech Product Demo',
3423
- icon: 'smartphone',
3424
- desc: 'Clean technology showcase',
3425
- model: 'veo3',
3426
- settings: { style: 'scifi', camera: 'tripod', duration: 20, complexity: 3 },
3427
- prompt: 'Floating holographic interface interactions, finger gestures controlling UI, particle effects on touch, clean minimal environment, cyan and white color scheme'
3428
  },
3429
  {
3430
  id: 'food-cinematic',
3431
  title: 'Gourmet Food',
3432
  icon: 'utensils',
3433
- desc: 'Tasty food cinematography',
3434
  model: 'kling',
3435
  settings: { style: 'cinematic', camera: 'dolly', duration: 8, complexity: 2 },
3436
- prompt: 'Steam rising from freshly cooked dish, macro lens condensation droplets, bokeh kitchen background, warm appetizing color grade, shallow focus pull'
3437
  },
3438
  {
3439
  id: 'travel-vlog',
3440
  title: 'Travel Destination',
3441
  icon: 'map-pin',
3442
- desc: 'Inspirational travel moment',
3443
  model: 'seedance',
3444
  settings: { style: 'cinematic', camera: 'drone', duration: 12, complexity: 2 },
3445
- prompt: 'Aerial descending reveal of landscape, subject small in frame emphasizing scale, golden hour lighting, majestic music-visual correlation, wanderlust emotion'
3446
  },
3447
  {
3448
  id: 'workout-energy',
3449
  title: 'Fitness Energy',
3450
  icon: 'activity',
3451
- desc: 'Dynamic workout sequence',
3452
  model: 'kling',
3453
  settings: { style: 'cyberpunk', camera: 'handheld', duration: 10, complexity: 3 },
3454
- prompt: 'High intensity athletic movement, sweat particles in motion, gritty gym environment, dramatic side lighting, rhythmic editing pace motivation'
3455
  },
3456
  {
3457
- id: 'unboxing',
3458
- title: 'ASMR Unboxing',
3459
- icon: 'package',
3460
- desc: 'Satisfying product reveal',
3461
  model: 'veo3',
3462
- settings: { style: 'documentary', camera: 'tripod', duration: 15, complexity: 1 },
3463
- prompt: 'Hands carefully opening premium packaging, texture details of materials, soft satisfying sounds implied, overhead flat lay angle, macro lens shallow depth'
3464
- },
3465
- {
3466
- id: 'wedding-moment',
3467
- title: 'Wedding Ceremony',
3468
- icon: 'heart',
3469
- desc: 'Romantic wedding highlight',
3470
- model: 'seedance',
3471
- settings: { style: 'cinematic', camera: 'steadicam', duration: 20, complexity: 3 },
3472
- prompt: 'Bride walking down aisle with veil flowing, emotional family reactions in soft focus, golden hour church lighting, romantic shallow depth, tearful joy moments'
3473
  },
3474
  {
3475
  id: 'real-estate',
3476
- title: 'Luxury Real Estate',
3477
  icon: 'home',
3478
  desc: 'Property walkthrough',
3479
  model: 'veo3',
3480
- settings: { style: 'cinematic', camera: 'steadicam', duration: 30, complexity: 2 },
3481
- prompt: 'Smooth walkthrough of modern luxury home, natural lighting through large windows, architectural details highlighted, spacious open concept layout, warm inviting atmosphere'
3482
- },
3483
- {
3484
- id: 'podcast-studio',
3485
- title: 'Podcast Recording',
3486
- icon: 'mic',
3487
- desc: 'Professional podcast setup',
3488
- model: 'kling',
3489
- settings: { style: 'documentary', camera: 'dolly', duration: 10, complexity: 2 },
3490
- prompt: 'Professional podcaster speaking into vintage microphone, RGB lighting ambiance, acoustic panels visible, shallow focus on host, engaging conversation gestures'
3491
- },
3492
- {
3493
- id: 'gaming-montage',
3494
- title: 'Gaming Highlights',
3495
- icon: 'gamepad-2',
3496
- desc: 'Esports action sequence',
3497
- model: 'kling',
3498
- settings: { style: 'cyberpunk', camera: 'handheld', duration: 15, complexity: 3 },
3499
- prompt: 'Intense gaming session with RGB keyboard lighting, rapid hand movements on mouse and keyboard, screen reflections in glasses, tournament atmosphere, RGB ambient lighting'
3500
- },
3501
- {
3502
- id: 'medical-procedure',
3503
- title: 'Medical Training',
3504
- icon: 'stethoscope',
3505
- desc: 'Educational medical content',
3506
- model: 'veo3',
3507
- settings: { style: 'documentary', camera: 'tripod', duration: 25, complexity: 3 },
3508
- prompt: 'Surgeon demonstrating precise technique with medical instruments, sterile environment, overhead lighting, educational camera angle, clear view of anatomical details'
3509
- },
3510
- {
3511
- id: 'cooking-tutorial',
3512
- title: 'Cooking Tutorial',
3513
- icon: 'chef-hat',
3514
- desc: 'Step-by-step recipe video',
3515
- model: 'veo3',
3516
- settings: { style: 'documentary', camera: 'overhead', duration: 20, complexity: 2 },
3517
- prompt: 'Overhead view of chef hands preparing ingredients, precise knife skills, ingredient close-ups, clean kitchen environment, step-by-step process clarity, appetizing lighting'
3518
- },
3519
- {
3520
- id: 'music-performance',
3521
- title: 'Music Video',
3522
- icon: 'music',
3523
- desc: 'Artist performance clip',
3524
- model: 'seedance',
3525
- settings: { style: 'surreal', camera: 'steadicam', duration: 18, complexity: 3 },
3526
- prompt: 'Musician performing with emotional intensity, dramatic colored lighting gels, atmospheric smoke, artistic camera movement matching tempo, silhouette shots against colored backdrop'
3527
- },
3528
- {
3529
- id: 'automotive-showcase',
3530
- title: 'Car Commercial',
3531
- icon: 'car',
3532
- desc: 'Vehicle feature highlight',
3533
- model: 'veo3',
3534
- settings: { style: 'scifi', camera: 'dolly', duration: 15, complexity: 3 },
3535
- prompt: 'Luxury car driving on scenic coastal road, paint reflection quality visible, drone following shots, engine sound visualization implied, sunset golden hour lighting, aspirational lifestyle'
3536
- },
3537
- {
3538
- id: 'science-education',
3539
- title: 'Science Experiment',
3540
- icon: 'flask-conical',
3541
- desc: 'Educational demonstration',
3542
- model: 'veo3',
3543
- settings: { style: 'documentary', camera: 'tripod', duration: 20, complexity: 2 },
3544
- prompt: 'Chemical reaction in glass beaker with color change, steam and bubbles, laboratory environment, safety equipment visible, educational narration style, clear lighting'
3545
- },
3546
- {
3547
- id: 'yoga-wellness',
3548
- title: 'Yoga Flow',
3549
- icon: 'sparkles',
3550
- desc: 'Wellness and meditation',
3551
- model: 'seedance',
3552
- settings: { style: 'fantasy', camera: 'steadicam', duration: 25, complexity: 2 },
3553
- prompt: 'Graceful yoga poses in serene nature setting, morning mist atmosphere, flowing fabric movement, peaceful expression, soft natural lighting, mindfulness atmosphere'
3554
- },
3555
- {
3556
- id: 'construction-timelapse',
3557
- title: 'Construction Progress',
3558
- icon: 'hammer',
3559
- desc: 'Building site timelapse',
3560
- model: 'veo3',
3561
- settings: { style: 'documentary', camera: 'tripod', duration: 10, complexity: 2 },
3562
- prompt: 'Timelapse of building construction with moving clouds, cranes operating, workers in safety gear, steel framework assembly, dramatic sky transitions, industrial atmosphere'
3563
  },
3564
  {
3565
- id: 'pet-showcase',
3566
- title: 'Pet Portrait',
3567
- icon: 'cat',
3568
- desc: 'Animal video portrait',
3569
- model: 'kling',
3570
- settings: { style: 'cinematic', camera: 'handheld', duration: 12, complexity: 2 },
3571
- prompt: 'Cute pet playing with toy in slow motion, fur detail visible, happy expression, shallow depth of field, natural window lighting, cozy home environment, playful energy'
3572
- },
3573
- {
3574
- id: 'art-creation',
3575
- title: 'Artist Process',
3576
- icon: 'palette',
3577
- desc: 'Creative art making',
3578
- model: 'seedance',
3579
- settings: { style: 'surreal', camera: 'steadicam', duration: 20, complexity: 3 },
3580
- prompt: 'Artist hands painting on canvas with brush strokes visible, paint mixing on palette, studio environment with art supplies, creative chaos aesthetic, natural light from skylight'
3581
- },
3582
- {
3583
- id: 'coffee-cinematic',
3584
- title: 'Coffee Culture',
3585
- icon: 'coffee',
3586
- desc: 'Barista craft video',
3587
  model: 'veo3',
3588
- settings: { style: 'cinematic', camera: 'dolly', duration: 15, complexity: 2 },
3589
- prompt: 'Barista crafting latte art with steamed milk pour, espresso machine steam, warm coffee shop atmosphere, wooden counter aesthetic, close-up of crema texture, artisanal quality'
3590
- },
3591
- {
3592
- id: 'nightlife-energy',
3593
- title: 'Nightlife Scene',
3594
- icon: 'moon',
3595
- desc: 'Club or bar atmosphere',
3596
- model: 'kling',
3597
- settings: { style: 'noir', camera: 'handheld', duration: 15, complexity: 3 },
3598
- prompt: 'Crowded nightclub with laser lights and fog machine, people dancing with motion blur, DJ booth with equipment, neon lighting accents, high energy atmosphere, bass vibration visualization'
3599
- },
3600
- {
3601
- id: 'baby-family',
3602
- title: 'Family Moment',
3603
- icon: 'baby',
3604
- desc: 'Tender family scene',
3605
- model: 'seedance',
3606
- settings: { style: 'cinematic', camera: 'handheld', duration: 15, complexity: 2 },
3607
- prompt: 'Tender family moment with baby and parents, soft nursery lighting, gentle interactions, pastel color palette, emotional connection, documentary style intimacy, golden hour window light'
3608
  }
3609
  ];
3610
 
@@ -3762,82 +3112,28 @@
3762
  if (e.target === this) closeQRModal();
3763
  });
3764
 
3765
- // REFERENCE IMAGE FUNCTIONS
3766
- function openReferenceModal() {
3767
- document.getElementById('referenceModal').classList.remove('hidden');
3768
- }
3769
 
3770
- function closeReferenceModal() {
3771
- document.getElementById('referenceModal').classList.add('hidden');
3772
- }
3773
 
3774
- function analyzeReferenceImage(input) {
3775
- if (input.files && input.files[0]) {
3776
- const reader = new FileReader();
3777
- reader.onload = function(e) {
3778
- document.getElementById('refImagePreview').src = e.target.result;
3779
- document.getElementById('refImageAnalysis').classList.remove('hidden');
3780
-
3781
- // Simulate AI analysis
3782
- setTimeout(() => {
3783
- const analysis = `Reference Analysis: Image shows ${document.getElementById('storySubject').value || 'subject'} with characteristics suitable for ${currentStoryModel} generation. Key visual elements detected: color palette extracted, lighting direction analyzed, composition mapped. Suggested prompt integration: "Matching reference image style with [subject] in similar environmental conditions."`;
3784
- document.getElementById('refImageDescription').textContent = analysis;
3785
-
3786
- // Add to current prompt if in architect
3787
- if (currentMode === 'architect') {
3788
- const current = document.getElementById('ideaInput').value;
3789
- document.getElementById('ideaInput').value = current + ' [Reference style: ' + analysis.substring(0, 50) + '...]';
3790
- }
3791
- }, 1000);
3792
- };
3793
- reader.readAsDataURL(input.files[0]);
3794
- }
3795
- }
3796
-
3797
- // PLATFORM EXPORT FUNCTIONS
3798
- function exportForPlatform(platform) {
3799
- const basePrompt = document.getElementById('promptOutput').innerText;
3800
- if (!basePrompt || basePrompt.includes('Enter your idea')) {
3801
- showToast('Generate a prompt first!');
3802
- return;
3803
- }
3804
-
3805
- const exports = {
3806
- runway: basePrompt.substring(0, 500) + ' | Character consistency emphasized, motion-heavy description',
3807
- pika: basePrompt.substring(0, 400) + ' | Dynamic motion, physics-focused',
3808
- sora: basePrompt, // Full length for Sora
3809
- veo: basePrompt.substring(0, 600) + ' | Physical accuracy, natural phenomena',
3810
- kling: basePrompt.substring(0, 800) + ' | Smooth motion quality'
3811
- };
3812
-
3813
- const text = exports[platform] || basePrompt;
3814
- navigator.clipboard.writeText(text).then(() => {
3815
- showToast(`Formatted for ${platform} and copied!`);
3816
- });
3817
- }
3818
-
3819
- // Update switchMode to include new modes
3820
- const originalSwitchMode = switchMode;
3821
- switchMode = function(mode) {
3822
  currentMode = mode;
3823
 
3824
  // Hide all modes
3825
- ['architect', 'generator', 'batch', 'story', 'templates', 'enhancer'].forEach(m => {
3826
- const el = document.getElementById(`mode-${m}`);
3827
- if (el) el.classList.add('hidden');
3828
- const tab = document.getElementById(`tab-${m}`);
3829
- if (tab) {
3830
- if (m === mode) {
3831
- tab.className = 'tab-active py-4 text-sm font-medium transition-colors flex items-center gap-2';
3832
- } else {
3833
- tab.className = 'tab-inactive py-4 text-sm font-medium transition-colors flex items-center gap-2';
3834
- }
3835
- }
3836
- });
3837
 
3838
  // Show selected mode
3839
- const selectedEl = document.getElementById(`mode-${mode}`);
3840
- if (selectedEl) selectedEl.classList.remove('hidden');
 
 
 
 
 
3841
 
3842
  // Initialize templates if needed
3843
  if (mode === 'templates' && document.getElementById('templatesGrid').children.length === 0) {
@@ -3845,7 +3141,7 @@
3845
  }
3846
 
3847
  lucide.createIcons();
3848
- };
3849
 
3850
  // API Integration Functions
3851
  const apiKeys = {
 
816
  Generate Detailed Prompt
817
  </button>
818
 
819
+
 
 
 
 
 
820
  </div>
821
 
822
  <!-- Right Panel: Output -->
 
1487
  </div>
1488
 
1489
  >
1490
+ <!-- API Section simplified -->
1491
+ <div class="max-w-3xl mx-auto text-center">
1492
+ <p class="text-sm text-gray-600">Tool works offline with built-in intelligence. No API keys required.</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1493
  </div>
1494
  </div>
1495
  </section>
 
1967
  cyberpunk: ['RGB split lighting', 'neon reflection on wet surfaces', 'high contrast magenta and cyan']
1968
  };
1969
 
1970
+ // Cleaned Idea generation databases - 6 core categories
1971
  const ideaDatabases = {
1972
  woodworking: {
1973
  name: 'Miniature Woodworking Tools',
1974
  items: [
1975
+ 'Miniature precision circular saw with orange safety housing',
1976
+ 'Keychain-sized cordless drill driver with LED work light',
1977
+ 'Compact Japanese pull saw with bamboo handle',
1978
+ 'Palm-sized electric sander with dust collection',
1979
+ 'Miniature router tool with transparent base plate',
1980
+ 'Pocket chisel set with beechwood handles',
1981
+ 'Compact wood burning pyrography pen',
1982
+ 'Keychain miter gauge with angle adjustment',
1983
+ 'Miniature biscuit joiner with ergonomic grip',
1984
+ 'Pocket-sized orbital jigsaw with dust blower'
 
 
 
 
 
1985
  ],
1986
+ colors: ['safety orange', 'industrial yellow', 'forest green'],
1987
+ materials: ['aluminum alloy', 'hardened steel', 'titanium coating'],
1988
+ actions: ['cutting through oak grain', 'drilling precise holes', 'sanding smooth curves'],
1989
+ sound: ['whirring motor', 'cutting resistance', 'wood grain vibration']
1990
  },
1991
  cyberpunk: {
1992
  name: 'Cyberpunk Gadgets',
1993
  items: [
1994
+ 'Neural port interface with glowing synaptic connectors',
1995
+ 'Holographic data shard with floating display',
1996
+ 'Stealth optic implant with LED status ring',
1997
+ 'Quantum encryption key with pulsing circuitry',
1998
+ 'Brain-computer interface with electrode array',
1999
+ 'Cybernetic finger augments with retractable tools',
2000
+ 'Portable EMP device with capacitor indicators',
2001
+ 'Subdermal payment chip scanner with NFC glow',
2002
+ 'Biometric lock picker with thermal lens',
2003
+ 'Neuro-stim injector with dosage display'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2004
  ],
2005
  colors: ['neon cyan', 'hot magenta', 'electro yellow', 'matte black'],
2006
+ materials: ['brushed titanium', 'carbon fiber', 'polycarbonate'],
2007
+ actions: ['interfacing with neural network', 'projecting holographic data', 'hacking terminals'],
2008
+ sound: ['electronic hum', 'data beeps', 'mechanical whir']
2009
  },
2010
  fantasy: {
2011
  name: 'Fantasy Artifacts',
2012
  items: [
2013
+ 'Ancient dragon scale amulet with obsidian chain',
2014
+ 'Elven moonstone compass with silver filigree',
2015
+ 'Dwarven rune hammer with mithril inlay',
2016
+ 'Arcane crystal with floating elemental motes',
2017
+ 'Phoenix feather quill that writes in flame',
2018
+ 'Enchanted pocket watch with shifting face',
2019
+ 'Shadow realm lantern with violet ghost light',
2020
+ 'Merfolk pearl conch that whispers prophecies',
2021
+ 'Giant-slaying axe with lightning etched blade',
2022
+ 'Witch-bane silver pentacle with holy sigils'
2023
  ],
2024
  colors: ['ancient gold', 'mystic violet', 'dragon red', 'moonlight silver'],
2025
+ materials: ['obsidian', 'mithril', 'crystal', 'enchanted wood'],
2026
+ actions: ['glowing with magical energy', 'floating slightly', 'emitting ethereal mist'],
2027
+ sound: ['magical chime', 'crackling energy', 'ancient whisper']
2028
  },
2029
  nature: {
2030
  name: 'Macro Nature',
2031
  items: [
2032
+ 'Morning dew on spider silk with rainbow prism',
2033
+ 'Bee pollinating wildflower with pollen baskets',
2034
+ 'Chameleon catching prey with ballistic tongue',
2035
+ 'Ant carrying leaf fragment ten times its weight',
2036
+ 'Hummingbird hovering with wings frozen mid-beat',
2037
+ 'Ladybug unfolding wings from beneath shell',
2038
+ 'Dew-covered dragonfly wings with cells visible',
2039
+ 'Snail traversing mushroom cap with glistening trail',
2040
+ 'Jumping spider with multiple eyes reflecting',
2041
+ 'Butterfly emerging from chrysalis with wet wings'
2042
  ],
2043
  colors: ['forest green', 'sunset orange', 'dew clear', 'earth brown'],
2044
+ materials: ['organic chitin', 'plant cellulose', 'water droplets'],
2045
+ actions: ['gathering nectar', 'hunting prey', 'emerging from cocoon'],
2046
+ sound: ['wing beats', 'sticky footfalls', 'crunching leaves']
2047
  },
2048
  food: {
2049
  name: 'Gourmet Food Art',
2050
  items: [
2051
+ 'Chef knife slicing through ripe tomato',
2052
+ 'Whisk creating stiff peaks in vanilla cream',
2053
+ 'Blowtorch caramelizing sugar on creme brulee',
2054
+ 'Pasta extruder pushing out fresh bucatini',
2055
+ 'Mortar grinding saffron threads',
2056
+ 'Microplane zesting lemon with oil mist',
2057
+ 'Copper pan flambe with blue flame',
2058
+ 'Chocolate tempering on marble slab',
2059
+ 'Sushi chef forming nigiri with rice',
2060
+ 'Piping bag creating rose frosting'
2061
  ],
2062
  colors: ['copper orange', 'cream white', 'chocolate brown', 'flame blue'],
2063
+ materials: ['steel', 'marble', 'copper', 'ceramic'],
2064
+ actions: ['slicing precisely', 'mixing vigorously', 'caramelizing sugar'],
2065
+ sound: ['sizzle', 'chopping rhythm', 'whisk whisking']
2066
  },
2067
  fashion: {
2068
  name: 'Micro Fashion',
2069
  items: [
2070
+ 'Miniature sewing machine stitching silk',
2071
+ 'Tiny dress form draped with organza',
2072
+ 'Micro loom weaving cashmere',
2073
+ 'Pocket-sized steamer removing wrinkles',
2074
+ 'Miniature dress shoes being polished',
2075
+ 'Tiny leatherworking tools crafting strap',
2076
+ 'Micro embroidery hoop with cross-stitch',
2077
+ 'Pocket watch chain being linked',
2078
+ 'Miniature fabric shears cutting pattern',
2079
+ 'Tiny mannequin being fitted with LED dress'
2080
  ],
2081
  colors: ['haute pink', 'designer black', 'silk white', 'gold thread'],
2082
+ materials: ['silk', 'cashmere', 'Italian leather', 'organza'],
2083
+ actions: ['stitching seams', 'draping fabric', 'polishing leather'],
2084
+ sound: ['sewing machine hum', 'scissor snip', 'steamer hiss']
2085
  }
2086
  };
2087
 
 
2862
  showToast('Downloaded all variations!');
2863
  }
2864
 
2865
+ // Scene Story functions removed - keeping tool simple
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2866
 
2867
+ // Simplified Templates Library - 10 essential templates
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2868
  const promptTemplates = [
2869
  {
2870
  id: 'cinematic-intro',
2871
  title: 'Cinematic Brand Intro',
2872
  icon: 'film',
2873
+ desc: 'Professional product introduction',
2874
  model: 'veo3',
2875
  settings: { style: 'cinematic', camera: 'steadicam', duration: 10, complexity: 2 },
2876
+ prompt: 'Ultra-smooth camera movement revealing premium product on marble surface, dramatic rim lighting, shallow depth of field'
2877
  },
2878
  {
2879
  id: 'product-showcase',
2880
+ title: 'Product Showcase',
2881
  icon: 'box',
2882
+ desc: '360 product rotation',
2883
  model: 'kling',
2884
  settings: { style: 'scifi', camera: 'dolly', duration: 8, complexity: 2 },
2885
+ prompt: 'Seamless 360 degree rotation around product, white background, soft lighting, reflections on glossy surface'
2886
  },
2887
  {
2888
  id: 'nature-doc',
2889
  title: 'Nature Documentary',
2890
  icon: 'leaf',
2891
+ desc: 'Wildlife capture',
2892
  model: 'seedance',
2893
  settings: { style: 'documentary', camera: 'handheld', duration: 15, complexity: 3 },
2894
+ prompt: 'Intimate wildlife behavior, golden hour lighting, telephoto compression, respectful distance'
 
 
 
 
 
 
 
 
 
2895
  },
2896
  {
2897
  id: 'fashion-walk',
2898
  title: 'Fashion Runway',
2899
  icon: 'user',
2900
+ desc: 'Model walking',
2901
  model: 'seedance',
2902
  settings: { style: 'fantasy', camera: 'steadicam', duration: 10, complexity: 2 },
2903
+ prompt: 'Confident model walking toward camera, fabric flowing with motion, dramatic backlight silhouette'
 
 
 
 
 
 
 
 
 
2904
  },
2905
  {
2906
  id: 'food-cinematic',
2907
  title: 'Gourmet Food',
2908
  icon: 'utensils',
2909
+ desc: 'Food cinematography',
2910
  model: 'kling',
2911
  settings: { style: 'cinematic', camera: 'dolly', duration: 8, complexity: 2 },
2912
+ prompt: 'Steam rising from freshly cooked dish, macro lens condensation, warm appetizing color grade'
2913
  },
2914
  {
2915
  id: 'travel-vlog',
2916
  title: 'Travel Destination',
2917
  icon: 'map-pin',
2918
+ desc: 'Aerial landscape',
2919
  model: 'seedance',
2920
  settings: { style: 'cinematic', camera: 'drone', duration: 12, complexity: 2 },
2921
+ prompt: 'Aerial descending reveal of landscape, golden hour lighting, majestic atmosphere'
2922
  },
2923
  {
2924
  id: 'workout-energy',
2925
  title: 'Fitness Energy',
2926
  icon: 'activity',
2927
+ desc: 'Workout sequence',
2928
  model: 'kling',
2929
  settings: { style: 'cyberpunk', camera: 'handheld', duration: 10, complexity: 3 },
2930
+ prompt: 'High intensity athletic movement, gritty gym environment, dramatic side lighting'
2931
  },
2932
  {
2933
+ id: 'tech-demo',
2934
+ title: 'Tech Product Demo',
2935
+ icon: 'smartphone',
2936
+ desc: 'Technology showcase',
2937
  model: 'veo3',
2938
+ settings: { style: 'scifi', camera: 'tripod', duration: 15, complexity: 2 },
2939
+ prompt: 'Holographic interface interactions, finger gestures controlling UI, clean minimal environment'
 
 
 
 
 
 
 
 
 
2940
  },
2941
  {
2942
  id: 'real-estate',
2943
+ title: 'Real Estate',
2944
  icon: 'home',
2945
  desc: 'Property walkthrough',
2946
  model: 'veo3',
2947
+ settings: { style: 'cinematic', camera: 'steadicam', duration: 20, complexity: 2 },
2948
+ prompt: 'Smooth walkthrough of modern luxury home, natural lighting, architectural details highlighted'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2949
  },
2950
  {
2951
+ id: 'unboxing',
2952
+ title: 'Product Unboxing',
2953
+ icon: 'package',
2954
+ desc: 'Satisfying reveal',
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2955
  model: 'veo3',
2956
+ settings: { style: 'documentary', camera: 'tripod', duration: 12, complexity: 1 },
2957
+ prompt: 'Hands carefully opening premium packaging, texture details, overhead flat lay angle'
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2958
  }
2959
  ];
2960
 
 
3112
  if (e.target === this) closeQRModal();
3113
  });
3114
 
3115
+ // Reference image functions removed for simplicity
 
 
 
3116
 
3117
+ // Platform export removed - using simple copy instead
 
 
3118
 
3119
+ // Switch mode function simplified
3120
+ function switchMode(mode) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
3121
  currentMode = mode;
3122
 
3123
  // Hide all modes
3124
+ document.getElementById('mode-architect').classList.add('hidden');
3125
+ document.getElementById('mode-generator').classList.add('hidden');
3126
+ document.getElementById('mode-templates').classList.add('hidden');
3127
+ document.getElementById('mode-enhancer').classList.add('hidden');
 
 
 
 
 
 
 
 
3128
 
3129
  // Show selected mode
3130
+ document.getElementById(`mode-${mode}`).classList.remove('hidden');
3131
+
3132
+ // Update tabs
3133
+ document.getElementById('tab-architect').className = mode === 'architect' ? 'tab-active py-4 text-sm font-medium transition-colors flex items-center gap-2' : 'tab-inactive py-4 text-sm font-medium transition-colors flex items-center gap-2';
3134
+ document.getElementById('tab-generator').className = mode === 'generator' ? 'tab-active py-4 text-sm font-medium transition-colors flex items-center gap-2' : 'tab-inactive py-4 text-sm font-medium transition-colors flex items-center gap-2';
3135
+ document.getElementById('tab-templates').className = mode === 'templates' ? 'tab-active py-4 text-sm font-medium transition-colors flex items-center gap-2' : 'tab-inactive py-4 text-sm font-medium transition-colors flex items-center gap-2';
3136
+ document.getElementById('tab-enhancer').className = mode === 'enhancer' ? 'tab-active py-4 text-sm font-medium transition-colors flex items-center gap-2' : 'tab-inactive py-4 text-sm font-medium transition-colors flex items-center gap-2';
3137
 
3138
  // Initialize templates if needed
3139
  if (mode === 'templates' && document.getElementById('templatesGrid').children.length === 0) {
 
3141
  }
3142
 
3143
  lucide.createIcons();
3144
+ }
3145
 
3146
  // API Integration Functions
3147
  const apiKeys = {