Spaces:
Running
Running
🐳 19/02 - 22:47 - tool not working now remove unusual features
Browse files- index.html +132 -836
index.html
CHANGED
|
@@ -816,12 +816,7 @@
|
|
| 816 |
Generate Detailed Prompt
|
| 817 |
</button>
|
| 818 |
|
| 819 |
-
|
| 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 |
-
<!--
|
| 1496 |
-
<div class="max-w-3xl mx-auto
|
| 1497 |
-
<
|
| 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 |
-
//
|
| 2001 |
const ideaDatabases = {
|
| 2002 |
woodworking: {
|
| 2003 |
name: 'Miniature Woodworking Tools',
|
| 2004 |
items: [
|
| 2005 |
-
'Miniature precision circular saw with orange safety housing
|
| 2006 |
-
'Keychain-sized cordless drill driver with
|
| 2007 |
-
'Compact Japanese pull saw with
|
| 2008 |
-
'Palm-sized electric sander with
|
| 2009 |
-
'Miniature router tool with
|
| 2010 |
-
'Pocket chisel set with beechwood handles
|
| 2011 |
-
'Compact wood burning pyrography pen
|
| 2012 |
-
'Keychain miter gauge with angle adjustment
|
| 2013 |
-
'Miniature biscuit joiner with
|
| 2014 |
-
'Pocket-sized orbital jigsaw with
|
| 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'
|
| 2022 |
-
materials: ['
|
| 2023 |
-
actions: ['cutting through oak grain', 'drilling precise holes', 'sanding smooth curves'
|
| 2024 |
-
sound: ['whirring motor', 'cutting resistance', 'wood grain vibration'
|
| 2025 |
},
|
| 2026 |
cyberpunk: {
|
| 2027 |
name: 'Cyberpunk Gadgets',
|
| 2028 |
items: [
|
| 2029 |
-
'Neural port interface with glowing synaptic connectors
|
| 2030 |
-
'Holographic data shard with floating
|
| 2031 |
-
'Stealth optic implant with LED status ring
|
| 2032 |
-
'Quantum encryption key with pulsing circuitry
|
| 2033 |
-
'
|
| 2034 |
-
'Cybernetic finger augments with retractable tools
|
| 2035 |
-
'Portable EMP device with capacitor indicators
|
| 2036 |
-
'Subdermal payment chip scanner with NFC
|
| 2037 |
-
'Biometric lock picker with thermal
|
| 2038 |
-
'Neuro-stim injector with dosage display
|
| 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', '
|
| 2259 |
-
actions: ['interfacing with neural network', 'projecting holographic data', 'hacking
|
| 2260 |
-
sound: ['electronic hum', 'data
|
| 2261 |
},
|
| 2262 |
fantasy: {
|
| 2263 |
name: 'Fantasy Artifacts',
|
| 2264 |
items: [
|
| 2265 |
-
'Ancient dragon scale amulet with
|
| 2266 |
-
'Elven moonstone compass with silver filigree
|
| 2267 |
-
'Dwarven rune hammer with mithril inlay
|
| 2268 |
-
'Arcane
|
| 2269 |
-
'Phoenix feather quill that writes in
|
| 2270 |
-
'Enchanted
|
| 2271 |
-
'Shadow realm lantern with violet ghost light
|
| 2272 |
-
'Merfolk pearl conch that whispers prophecies
|
| 2273 |
-
'Giant-slaying
|
| 2274 |
-
'Witch-bane silver pentacle with holy sigils
|
| 2275 |
],
|
| 2276 |
colors: ['ancient gold', 'mystic violet', 'dragon red', 'moonlight silver'],
|
| 2277 |
-
materials: ['obsidian', 'mithril', 'crystal', 'enchanted wood'
|
| 2278 |
-
actions: ['glowing with magical energy', 'floating slightly', 'emitting ethereal mist'
|
| 2279 |
-
sound: ['magical chime', 'crackling energy', 'ancient whisper'
|
| 2280 |
},
|
| 2281 |
nature: {
|
| 2282 |
name: 'Macro Nature',
|
| 2283 |
items: [
|
| 2284 |
-
'Morning dew on spider silk with rainbow prism
|
| 2285 |
-
'Bee pollinating wildflower with pollen baskets
|
| 2286 |
-
'Chameleon catching prey with ballistic tongue
|
| 2287 |
-
'Ant carrying leaf fragment ten times its weight
|
| 2288 |
-
'Hummingbird hovering
|
| 2289 |
-
'Ladybug unfolding wings from beneath
|
| 2290 |
-
'Dew-covered dragonfly wings with
|
| 2291 |
-
'Snail traversing mushroom cap with glistening trail
|
| 2292 |
-
'Jumping spider with multiple eyes reflecting
|
| 2293 |
-
'Butterfly emerging from chrysalis with wet
|
| 2294 |
],
|
| 2295 |
colors: ['forest green', 'sunset orange', 'dew clear', 'earth brown'],
|
| 2296 |
-
materials: ['organic chitin', 'plant cellulose', 'water droplets'
|
| 2297 |
-
actions: ['gathering nectar', 'hunting prey', 'emerging from cocoon'
|
| 2298 |
-
sound: ['wing beats', 'sticky footfalls', 'crunching leaves'
|
| 2299 |
},
|
| 2300 |
food: {
|
| 2301 |
name: 'Gourmet Food Art',
|
| 2302 |
items: [
|
| 2303 |
-
'Chef knife slicing through ripe tomato
|
| 2304 |
-
'Whisk creating stiff peaks in vanilla
|
| 2305 |
-
'Blowtorch caramelizing sugar on
|
| 2306 |
-
'Pasta extruder pushing out fresh bucatini
|
| 2307 |
-
'Mortar grinding saffron threads
|
| 2308 |
-
'Microplane zesting lemon with oil mist
|
| 2309 |
-
'Copper pan
|
| 2310 |
-
'Chocolate tempering on marble slab
|
| 2311 |
-
'Sushi chef forming nigiri with rice
|
| 2312 |
-
'Piping bag creating rose frosting
|
| 2313 |
],
|
| 2314 |
colors: ['copper orange', 'cream white', 'chocolate brown', 'flame blue'],
|
| 2315 |
-
materials: ['steel', 'marble', 'copper', 'ceramic'
|
| 2316 |
-
actions: ['slicing precisely', 'mixing vigorously', 'caramelizing sugar'
|
| 2317 |
-
sound: ['sizzle', 'chopping rhythm', 'whisk whisking'
|
| 2318 |
},
|
| 2319 |
fashion: {
|
| 2320 |
name: 'Micro Fashion',
|
| 2321 |
items: [
|
| 2322 |
-
'Miniature sewing machine stitching silk
|
| 2323 |
-
'Tiny dress form draped with
|
| 2324 |
-
'Micro loom weaving cashmere
|
| 2325 |
-
'Pocket-sized steamer removing wrinkles
|
| 2326 |
-
'Miniature dress shoes being polished
|
| 2327 |
-
'Tiny leatherworking tools crafting
|
| 2328 |
-
'Micro embroidery hoop with cross-stitch
|
| 2329 |
-
'Pocket watch chain being linked
|
| 2330 |
-
'Miniature fabric shears cutting
|
| 2331 |
-
'Tiny mannequin being fitted with LED
|
| 2332 |
],
|
| 2333 |
colors: ['haute pink', 'designer black', 'silk white', 'gold thread'],
|
| 2334 |
-
materials: ['silk', 'cashmere', 'Italian leather', 'organza'
|
| 2335 |
-
actions: ['stitching seams', 'draping fabric', 'polishing leather'
|
| 2336 |
-
sound: ['sewing machine hum', 'scissor snip', 'steamer hiss'
|
| 2337 |
}
|
| 2338 |
};
|
| 2339 |
|
|
@@ -3114,497 +2862,99 @@
|
|
| 3114 |
showToast('Downloaded all variations!');
|
| 3115 |
}
|
| 3116 |
|
| 3117 |
-
//
|
| 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 |
-
|
| 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
|
| 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
|
| 3383 |
},
|
| 3384 |
{
|
| 3385 |
id: 'product-showcase',
|
| 3386 |
-
title: '
|
| 3387 |
icon: 'box',
|
| 3388 |
-
desc: '
|
| 3389 |
model: 'kling',
|
| 3390 |
settings: { style: 'scifi', camera: 'dolly', duration: 8, complexity: 2 },
|
| 3391 |
-
prompt: 'Seamless 360 degree rotation around product, white
|
| 3392 |
},
|
| 3393 |
{
|
| 3394 |
id: 'nature-doc',
|
| 3395 |
title: 'Nature Documentary',
|
| 3396 |
icon: 'leaf',
|
| 3397 |
-
desc: '
|
| 3398 |
model: 'seedance',
|
| 3399 |
settings: { style: 'documentary', camera: 'handheld', duration: 15, complexity: 3 },
|
| 3400 |
-
prompt: 'Intimate wildlife behavior
|
| 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: '
|
| 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
|
| 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: '
|
| 3434 |
model: 'kling',
|
| 3435 |
settings: { style: 'cinematic', camera: 'dolly', duration: 8, complexity: 2 },
|
| 3436 |
-
prompt: 'Steam rising from freshly cooked dish, macro lens condensation
|
| 3437 |
},
|
| 3438 |
{
|
| 3439 |
id: 'travel-vlog',
|
| 3440 |
title: 'Travel Destination',
|
| 3441 |
icon: 'map-pin',
|
| 3442 |
-
desc: '
|
| 3443 |
model: 'seedance',
|
| 3444 |
settings: { style: 'cinematic', camera: 'drone', duration: 12, complexity: 2 },
|
| 3445 |
-
prompt: 'Aerial descending reveal of landscape,
|
| 3446 |
},
|
| 3447 |
{
|
| 3448 |
id: 'workout-energy',
|
| 3449 |
title: 'Fitness Energy',
|
| 3450 |
icon: 'activity',
|
| 3451 |
-
desc: '
|
| 3452 |
model: 'kling',
|
| 3453 |
settings: { style: 'cyberpunk', camera: 'handheld', duration: 10, complexity: 3 },
|
| 3454 |
-
prompt: 'High intensity athletic movement,
|
| 3455 |
},
|
| 3456 |
{
|
| 3457 |
-
id: '
|
| 3458 |
-
title: '
|
| 3459 |
-
icon: '
|
| 3460 |
-
desc: '
|
| 3461 |
model: 'veo3',
|
| 3462 |
-
settings: { style: '
|
| 3463 |
-
prompt: '
|
| 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: '
|
| 3477 |
icon: 'home',
|
| 3478 |
desc: 'Property walkthrough',
|
| 3479 |
model: 'veo3',
|
| 3480 |
-
settings: { style: 'cinematic', camera: 'steadicam', duration:
|
| 3481 |
-
prompt: 'Smooth walkthrough of modern luxury home, natural lighting
|
| 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: '
|
| 3566 |
-
title: '
|
| 3567 |
-
icon: '
|
| 3568 |
-
desc: '
|
| 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: '
|
| 3589 |
-
prompt: '
|
| 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 |
-
//
|
| 3766 |
-
function openReferenceModal() {
|
| 3767 |
-
document.getElementById('referenceModal').classList.remove('hidden');
|
| 3768 |
-
}
|
| 3769 |
|
| 3770 |
-
|
| 3771 |
-
document.getElementById('referenceModal').classList.add('hidden');
|
| 3772 |
-
}
|
| 3773 |
|
| 3774 |
-
|
| 3775 |
-
|
| 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 |
-
|
| 3826 |
-
|
| 3827 |
-
|
| 3828 |
-
|
| 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 |
-
|
| 3840 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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 = {
|