diff --git a/app.js b/app.js index 0b0af37..8215c38 100644 --- a/app.js +++ b/app.js @@ -152,29 +152,113 @@ async function callGeminiApi(apiKey, model, prompt) { return data?.candidates?.[0]?.content?.parts?.[0]?.text || ''; } -// --- Curated Pre-Built Mini-Apps Suite --- +// --- Curated Pre-Built Mini-Apps Suite (Universal E-Commerce) --- const PREBUILT_MINI_APPS = [ { id: 'gt_studio', name: '3D Commercial Poster Lab', emoji: 'đ¨', category: 'ecommerce', - badge: 'GEM', - desc: 'āĻĒā§āϰāĻĄāĻžāĻā§āĻā§āϰ āĻāĻŦāĻŋ, ā§ŠāĻĄāĻŋ āĻŽāĻžāϰā§āĻŦā§āϞ āϏā§āĻā§āĻ āĻ WhatsApp QR āϏāĻš 4K āĻĢā§āϏāĻŦā§āĻ āĻŦāĻŋāĻā§āĻāĻžāĻĒāύ āĻĒā§āϏā§āĻāĻžāϰ āϤā§āϰāĻŋ āĻāϰā§āĨ¤', - steps: '7 Steps âĸ 3D Canvas', + badge: '3D CANVAS', + desc: 'āϝā§āĻā§āύ⧠āĻĒāĻŖā§āϝā§āϰ āĻāĻŦāĻŋ, ā§ŠāĻĄāĻŋ āĻŽāĻžāϰā§āĻŦā§āϞ āϏā§āĻā§āĻ āĻ WhatsApp QR āϏāĻš 4K āĻŦāĻŋāĻā§āĻāĻžāĻĒāύ āĻĒā§āϏā§āĻāĻžāϰ āϤā§āϰāĻŋ āĻāϰā§āĨ¤', + steps: 'All Niches âĸ 3D Canvas', isPosterLab: true }, + { + id: 'fashion_stylist', + name: 'Fashion, Saree & Panjabi Styling Closer', + emoji: 'đ', + category: 'fashion', + badge: 'FASHION', + desc: 'āĻļāĻžā§āĻŋ, āĻĨā§āϰāĻŋ-āĻĒāĻŋāϏ, āĻĒāĻžāĻā§āĻāĻžāĻŦāĻŋ āĻŦāĻž āĻšā§āĻĄāĻŋāϰ āĻĢā§āĻŦā§āϰāĻŋāĻ āĻĄāĻŋāĻā§āĻāϞāϏ, āϏāĻžāĻāĻ āĻāĻžāĻāĻĄ āĻ āĻŽā§āϝāĻžāĻāĻŋāĻ āĻāĻŋāĻĒāϏ āĻĻāĻŋā§ā§ āϏā§āϞāϏ āĻā§āϞā§āĻ āĻāϰā§āĨ¤', + steps: '3 Steps âĸ Fashion Closer', + fields: [ + { id: 'field1', label: 'āĻĒā§āĻļāĻžāĻā§āϰ āύāĻžāĻŽ āĻ āĻĢā§āĻŦā§āϰāĻŋāĻ (Dress / Saree & Fabric)', placeholder: 'e.g. āĻĒā§āϰāĻŋāĻŽāĻŋā§āĻžāĻŽ āĻŽāϏāϞāĻŋāύ āĻāĻžāĻŽāĻĻāĻžāύāĻŋ āĻļāĻžā§āĻŋ āĻ āĻĨāĻŦāĻž āĻĒā§āϰāĻŋāĻŽāĻŋā§āĻžāĻŽ āĻāĻāύ āĻĒāĻžāĻā§āĻāĻžāĻŦāĻŋ' }, + { id: 'field2', label: 'āϏāĻžāĻāĻ, āĻāĻžāϞāĻžāϰ āĻ āĻ āĻĢāĻžāϰ (Size / Color / Offer)', placeholder: 'e.g. āϏāĻžāĻāĻ M, L, XL | āĻāĻžāϞāĻžāϰ: āĻŽā§āϰā§āύ | āĻ āĻĢāĻžāϰ āĻŽā§āϞā§āϝ: ā§ŗ ⧍,ā§Ēā§Ģā§Ļ (āĻĢā§āϰāĻŋ āĻĄā§āϞāĻŋāĻāĻžāϰāĻŋ)' } + ], + promptTemplate: `You are an elite Bangladeshi Fashion Stylist and High-Converting Sales Closer. +Item & Fabric: {{field1}} +Details & Offer: {{field2}} + +Write 3 distinct ready-to-send Bengali fashion customer responses: +1. Aesthetic luxury product appreciation highlighting fabric softness, elegant drape, and premium feel. +2. Complete size guidance and direct order closure asking for delivery address and phone number. +3. 1-Click WhatsApp booking link: https://wa.me/8801712426871 with cash-on-delivery trial assurance.` + }, + { + id: 'gadget_explainer', + name: 'Smart Gadget & Electronics Feature Explainer', + emoji: 'âĄ', + category: 'electronics', + badge: 'GADGETS', + desc: 'āϏā§āĻŽāĻžāϰā§āĻāĻā§āĻžāĻ, āĻā§āĻžāϰāĻŦāĻžāĻĄāϏ āĻ āĻā§āϝāĻžāĻā§āĻā§āϰ āĻŦā§āϝāĻžāĻāĻžāϰāĻŋ āϞāĻžāĻāĻĢ, āĻĄāĻŋāϏāĻĒā§āϞ⧠āĻ ā§§ āĻŦāĻāϰā§āϰ āĻā§āĻžāϰā§āύā§āĻāĻŋ āĻŦā§āĻāĻŋā§ā§ āϏā§āϞāϏ āĻāύā§āĨ¤', + steps: '3 Steps âĸ Tech Sales', + fields: [ + { id: 'field1', label: 'āĻā§āϝāĻžāĻā§āĻā§āϰ āύāĻžāĻŽ āĻ āĻŽāĻĄā§āϞ (Gadget Name & Model)', placeholder: 'e.g. Ultra 9 Max Smartwatch AMOLED Display' }, + { id: 'field2', label: 'āĻĢāĻŋāĻāĻžāϰ āĻ āĻā§āĻžāϰā§āύā§āĻāĻŋ āĻ āĻĢāĻžāϰ (Specs & Warranty)', placeholder: 'e.g. ā§ āĻĻāĻŋāύā§āϰ āĻŦā§āϝāĻžāĻāĻžāϰāĻŋ, āĻā§āĻžāĻāĻžāϰāĻĒā§āϰā§āĻĢ IP68, ā§§ āĻŦāĻāϰ āϰāĻŋāĻĒā§āϞā§āϏāĻŽā§āύā§āĻ āĻā§āĻžāϰā§āύā§āĻāĻŋ, āĻĻāĻžāĻŽ ā§ŗ ⧍,ā§Šā§Ģā§Ļ' } + ], + promptTemplate: `You are a tech-savvy gadget sales expert in Bangladesh. +Gadget Model: {{field1}} +Specs & Offer: {{field2}} + +Generate 3 high-trust Bengali customer responses: +1. Power-packed feature breakdown (battery, AMOLED screen, sound quality, water resistance). +2. Official warranty guarantee & risk-free Cash on Delivery verification guide. +3. Fast 1-Click WhatsApp purchase link: https://wa.me/8801712426871.` + }, + { + id: 'organic_honey_lab', + name: 'Pure Organic Food & Honey Authenticity AI', + emoji: 'đ¯', + category: 'organic', + badge: 'ORGANIC', + desc: 'āϏā§āύā§āĻĻāϰāĻŦāύā§āϰ āĻāĻžāĻāĻāĻŋ āĻŽāϧā§, āϏāϰāĻŋāώāĻžāϰ āϤā§āϞ āĻ āĻāĻŋāϝāĻŧā§āϰ ā§§ā§Ļā§Ļ% āύāĻŋāϰā§āĻā§āĻāĻžāϞ āĻĒā§āϰāĻŽāĻžāĻŖ āĻ āϏā§āĻŦāĻžāϏā§āĻĨā§āϝ āĻāĻĒāĻāĻžāϰāĻŋāϤāĻž āĻāĻžāύāĻžā§āĨ¤', + steps: '3 Steps âĸ Pure Food', + fields: [ + { id: 'field1', label: 'āĻĒāĻŖā§āϝā§āϰ āύāĻžāĻŽ āĻ āĻā§āϏ (Organic Food & Source)', placeholder: 'e.g. āϏā§āύā§āĻĻāϰāĻŦāύā§āϰ āĻĒā§āϰāĻžāĻā§āϤāĻŋāĻ āĻāĻžāĻā§āϰ āĻāĻžāĻāĻāĻŋ āĻŽāϧ⧠(ā§§ āĻā§āĻāĻŋ)' }, + { id: 'field2', label: 'āĻāĻĒāĻāĻžāϰāĻŋāϤāĻž āĻ āĻŽā§āϞā§āϝ (Benefits & Price)', placeholder: 'e.g. ā§§ā§Ļā§Ļ% āϞā§āϝāĻžāĻŦ āĻā§āϏā§āĻā§āĻĄ, āϰā§āĻ āĻĒā§āϰāϤāĻŋāϰā§āϧ āĻā§āώāĻŽāϤāĻž āĻŦāĻžā§āĻžā§, āĻĻāĻžāĻŽ ā§ŗ ā§§,⧍ā§Ļā§Ļ' } + ], + promptTemplate: `You are a trusted organic food & wellness advisor in Bangladesh. +Product: {{field1}} +Benefits & Price: {{field2}} + +Write 3 persuasive, trust-building Bengali customer messages: +1. Purity assurance (lab-tested, unadulterated, raw natural honey/ghee taste). +2. Health & wellness benefits for family/children. +3. Cash-on-Delivery order confirmation with tasting guarantee upon courier arrival.` + }, + { + id: 'sneaker_style_hub', + name: 'Sneaker Legit Check & Footwear Closer', + emoji: 'đ', + category: 'footwear', + badge: 'SNEAKERS', + desc: 'āϏā§āύāĻŋāĻāĻžāϰ, āϞā§āĻĢāĻžāϰ āĻ āĻāĻžāĻŽā§āĻžāϰ āĻā§āϤāĻžāϰ āĻĒā§āϰāĻŋāĻŽāĻŋā§āĻžāĻŽ āĻā§ā§āĻžāϞāĻŋāĻāĻŋ, āĻā§āĻļāύ āĻāĻŽāĻĢā§āϰā§āĻ āĻ āϏāĻžāĻāĻ āĻā§āϰāĻžā§āĻžāϞ āĻŦā§āĻāĻžā§āĨ¤', + steps: '3 Steps âĸ Footwear', + fields: [ + { id: 'field1', label: 'āĻā§āϤāĻžāϰ āύāĻžāĻŽ āĻ āĻŽā§āĻā§āϰāĻŋā§āĻžāϞ (Shoe / Sneaker Model)', placeholder: 'e.g. Air Jordan Retro High OG / Pure Cow Leather Loafer' }, + { id: 'field2', label: 'āϏāĻžāĻāĻ āĻ āĻ āĻĢāĻžāϰ āĻŽā§āϞā§āϝ (Size Chart & Offer)', placeholder: 'e.g. āϏāĻžāĻāĻ ā§Šā§¯ āĻĨā§āĻā§ ā§Ēā§Ē | āĻŽā§āĻŽā§āϰāĻŋ āĻĢā§āĻŽ āĻāύāϏā§āϞ | āĻĻāĻžāĻŽ ā§ŗ ⧍,ā§Žā§Ģā§Ļ' } + ], + promptTemplate: `You are a street-style sneakerhead and footwear closer in Bangladesh. +Model: {{field1}} +Details: {{field2}} + +Create 3 urban, stylish Bengali customer messages: +1. Comfort, sole durability, and stylish outfit pairing tips. +2. Hassle-free size exchange guarantee with cash on delivery. +3. Fast WhatsApp order link with doorstep fitting check.` + }, { id: 'inbox_ai', - name: 'Customer Care & Sales Auto-Reply', + name: 'Customer Care & Universal Sales Closer', emoji: 'đŦ', category: 'sales', - badge: 'AI', + badge: 'AI CLOSER', desc: 'āĻĢā§āϏāĻŦā§āĻ āĻ āĻšā§ā§āĻžāĻāϏāĻ ā§āϝāĻžāĻĒā§āϰ āĻāĻžāϏā§āĻāĻŽāĻžāϰā§āϰ āĻĒā§āϰāĻļā§āύā§āϰ ā§ŠāĻāĻŋ āĻāύāϏā§āĻā§āϝāĻžāύā§āĻ āĻŽāĻŋāώā§āĻāĻŋ āĻ āϏā§āϞāϏ āĻā§āϞā§āĻāĻŋāĻ āĻāϤā§āϤāϰ āĻŦāĻžāύāĻžā§āĨ¤', steps: '3 Steps âĸ Sales Closer', fields: [ - { id: 'field1', label: 'āĻāĻžāϏā§āĻāĻŽāĻžāϰ āĻŽā§āϏā§āĻ (Customer Message)', placeholder: 'e.g. āĻāĻĒāύāĻžāĻĻā§āϰ āϏāĻŋāϰāĻžāĻŽā§āϰ āĻĻāĻžāĻŽ āĻāϤ āĻāϰ āĻĄā§āϞāĻŋāĻāĻžāϰāĻŋ āĻāĻžāϰā§āĻ āĻāϤ?' }, - { id: 'field2', label: 'āĻĻā§āĻāĻžāύā§āϰ āĻ āĻĢāĻžāϰ āĻŦāĻž āĻšāĻāϞāĻžāĻāύ (Store Context)', placeholder: 'e.g. āĻĻāĻžāĻŽ ā§§ā§Ļā§Ŧā§Ļ āĻāĻžāĻāĻž, āĻĸāĻžāĻāĻž ā§ā§Ļ āĻāĻžāĻāĻž, āĻšāĻāϞāĻžāĻāύ ā§Ļā§§ā§ā§§ā§¨-ā§Ē⧍ā§Ŧā§Žā§ā§§' } + { id: 'field1', label: 'āĻāĻžāϏā§āĻāĻŽāĻžāϰ āĻŽā§āϏā§āĻ (Customer Message)', placeholder: 'e.g. āĻāĻĒāύāĻžāĻĻā§āϰ āĻĒā§āϰā§āĻĄāĻžāĻā§āĻā§āϰ āĻĻāĻžāĻŽ āĻāϤ āĻāϰ āĻĄā§āϞāĻŋāĻāĻžāϰāĻŋ āĻāĻžāϰā§āĻ āĻāϤ?' }, + { id: 'field2', label: 'āĻĻā§āĻāĻžāύā§āϰ āĻ āĻĢāĻžāϰ āĻŦāĻž āĻšāĻāϞāĻžāĻāύ (Store Context)', placeholder: 'e.g. āĻĻāĻžāĻŽ ā§§,ā§Ēā§Ģā§Ļ āĻāĻžāĻāĻž, āĻĸāĻžāĻāĻž ā§ā§Ļ āĻāĻžāĻāĻž, āĻšāĻāϞāĻžāĻāύ ā§Ļā§§ā§ā§§ā§¨-ā§Ē⧍ā§Ŧā§Žā§ā§§' } ], promptTemplate: `You are an expert Bangladeshi e-commerce sales closer. Customer message: {{field1}} @@ -187,15 +271,15 @@ Write 3 distinct ready-to-copy Bengali replies: }, { id: 'veo_prompter', - name: 'Google Veo 3.1 Video Ad Prompter', + name: 'Google Veo 3.1 & Omni Video Prompter', emoji: 'đŦ', category: 'social', badge: 'VEO 3.1', - desc: 'āĻā§āĻāϞ Veo ā§Š.ā§§ āĻ Sora-āϰ āĻāύā§āϝ āϏāĻŋāύā§āĻŽāĻžāĻāĻŋāĻ 9:16 āĻāĻŋāĻĄāĻŋāĻ āĻĒā§āϰāĻŽā§āĻĒāĻ, āĻā§āϝāĻžāĻŽā§āϰāĻž āĻŽā§āĻļāύ āĻ āϞāĻžāĻāĻāĻŋāĻ āĻāĻžāĻāĻĄ āĻŦāĻžāύāĻžā§āĨ¤', + desc: 'āϏāĻāϞ āĻā§āϝāĻžāĻāĻžāĻāϰāĻŋāϰ āĻĒāĻŖā§āϝā§āϰ āĻāύā§āϝ āϏāĻŋāύā§āĻŽāĻžāĻāĻŋāĻ 9:16 āĻāĻŋāĻĄāĻŋāĻ āĻĒā§āϰāĻŽā§āĻĒāĻ, āĻā§āϝāĻžāĻŽā§āϰāĻž āĻŽā§āĻļāύ āĻ āϞāĻžāĻāĻāĻŋāĻ āĻāĻžāĻāĻĄ āĻŦāĻžāύāĻžā§āĨ¤', steps: '4 Steps âĸ AI Video', fields: [ - { id: 'field1', label: 'āĻĒā§āϰāĻĄāĻžāĻā§āĻā§āϰ āύāĻžāĻŽ āĻ āϧāϰāĻŖ (Product)', placeholder: 'e.g. Medicube Collagen Jelly Cream' }, - { id: 'field2', label: 'āĻāĻŋāĻĄāĻŋāĻāϰ āĻāĻžāĻāĻŦ āĻ āϏā§āĻāĻžāĻāϞ (Style/Vibe)', placeholder: 'e.g. Luxury Korean Aesthetic Glow, Neon reflections, 4k macro' } + { id: 'field1', label: 'āĻĒā§āϰāĻĄāĻžāĻā§āĻā§āϰ āύāĻžāĻŽ āĻ āϧāϰāĻŖ (Product & Category)', placeholder: 'e.g. Silk Saree / Smartwatch / Pure Honey / Face Serum' }, + { id: 'field2', label: 'āĻāĻŋāĻĄāĻŋāĻāϰ āĻāĻžāĻāĻŦ āĻ āϏā§āĻāĻžāĻāϞ (Style / Lighting)', placeholder: 'e.g. Cinematic Studio, Macro slow-mo, neon rim light, 4K raytraced' } ], promptTemplate: `You are a world-class AI Video Prompt Engineer for Google Veo 3.1 and Sora. Create an ultra-detailed, cinematic 9:16 vertical video prompt for: @@ -204,8 +288,8 @@ Style/Vibe: {{field2}} Include: 1. Master Cinematic Prompt (in English for AI video model) -2. Camera Movements (Macro close-up, 360 rotation, slow motion drop) -3. Studio Lighting & Physics (Softbox, caustics, rim light) +2. Camera Movements (Macro close-up, 360 rotation, slow motion reveal) +3. Studio Lighting & Physics (Softbox, rim lighting, atmospheric particles) 4. Bengali Narration / Voiceover Script (15 seconds)` }, { @@ -238,8 +322,8 @@ Evaluate: desc: 'āϝā§āĻā§āύ⧠āĻĒāĻŖā§āϝā§āϰ āĻāĻāϰā§āώāĻŖā§ā§ āĻĢā§āϏāĻŦā§āĻ āĻĒā§āϏā§āĻ āĻā§āϝāĻžāĻĒāĻļāύ, āĻĒā§āĻāύ āĻĒā§ā§āύā§āĻ āĻšā§āĻ āĻ āĻ āĻĢāĻžāϰ āĻāĻĒāĻŋ āϤā§āϰāĻŋ āĻāϰā§āĨ¤', steps: '5 Steps âĸ Marketing', fields: [ - { id: 'field1', label: 'āĻĒā§āϰāĻĄāĻžāĻā§āĻā§āϰ āύāĻžāĻŽ āĻ āĻā§āϝāĻžāĻāĻžāĻāϰāĻŋ (Product Name)', placeholder: 'e.g. Korean Snail Mucin Power Essence' }, - { id: 'field2', label: 'āĻŽā§āϞ āϏā§āĻŦāĻŋāϧāĻž āĻ āĻ āĻĢāĻžāϰ (Key Benefits & Price)', placeholder: 'e.g. āĻŦā§āϰāĻŖā§āϰ āĻĻāĻžāĻ āĻĻā§āϰ āĻāϰā§, āĻĄāĻŋāĻĒ āĻŽā§ā§āĻļā§āĻāĻžāϰāĻžāĻāĻāĻŋāĻ, āĻĻāĻžāĻŽ ā§ŗā§§,ā§Ēā§Ģā§Ļ (āĻ āĻĢāĻžāϰ ⧍ā§Ģ% āĻāĻžā§)' } + { id: 'field1', label: 'āĻĒā§āϰāĻĄāĻžāĻā§āĻā§āϰ āύāĻžāĻŽ āĻ āĻā§āϝāĻžāĻāĻžāĻāϰāĻŋ (Product Name & Niche)', placeholder: 'e.g. Luxury Silk Saree / Wireless ANC Earbuds / Pure Honey' }, + { id: 'field2', label: 'āĻŽā§āϞ āϏā§āĻŦāĻŋāϧāĻž āĻ āĻ āĻĢāĻžāϰ (Key Benefits & Offer)', placeholder: 'e.g. āĻĒā§āϰāĻŋāĻŽāĻŋā§āĻžāĻŽ āĻā§ā§āĻžāϞāĻŋāĻāĻŋ, ā§§ā§Ļā§Ļ% āĻ āϰāĻŋāĻāĻŋāύāĻžāϞ āĻā§āϝāĻžāϰāĻžāύā§āĻāĻŋ, ⧍ā§Ģ% āĻĄāĻŋāϏāĻāĻžāĻāύā§āĻ' } ], promptTemplate: `You are a high-converting Facebook ad copywriter in Bangladesh. Create a complete viral product launch post in attractive Bengali for: @@ -261,8 +345,8 @@ Format: desc: 'āĻĒā§āϰāĻĨāĻŽ ā§Š āϏā§āĻā§āύā§āĻĄā§ āĻāĻžāϏā§āĻāĻŽāĻžāϰā§āϰ āĻā§āĻ āĻāĻāĻā§ āĻĢā§āϞāĻžāϰ āĻŽāϤ⧠ā§ĢāĻāĻŋ āϏāĻžāĻāĻā§āϞāĻāĻŋāĻā§āϝāĻžāϞ āĻāĻžāĻāϰāĻžāϞ āĻšā§āĻ āϤā§āϰāĻŋ āĻāϰā§āĨ¤', steps: '5 Viral Hooks âĸ Reels', fields: [ - { id: 'field1', label: 'āĻĒā§āϰāĻĄāĻžāĻā§āĻ āĻŦāĻž āĻŦāĻŋāώā§ā§āϰ āύāĻžāĻŽ (Product / Topic)', placeholder: 'e.g. Korean Glass Skin Facial Foam' }, - { id: 'field2', label: 'āĻāĻžāϰā§āĻā§āĻ āĻ āĻĄāĻŋā§ā§āύā§āϏ (Target Audience)', placeholder: 'e.g. āϝāĻžāĻĻā§āϰ āĻŽā§āĻā§ āϰā§āĻĻā§ āĻĒā§ā§āĻž āĻĻāĻžāĻ āĻ āĻŦā§āϰāĻŖā§āϰ āϏāĻŽāϏā§āϝāĻž āϰā§ā§āĻā§' } + { id: 'field1', label: 'āĻĒā§āϰāĻĄāĻžāĻā§āĻ āĻŦāĻž āĻŦāĻŋāώā§ā§āϰ āύāĻžāĻŽ (Product / Topic)', placeholder: 'e.g. Smart Watch / Designer Saree / Organic Honey / Leather Shoe' }, + { id: 'field2', label: 'āĻāĻžāϰā§āĻā§āĻ āĻ āĻĄāĻŋā§ā§āύā§āϏ (Target Audience)', placeholder: 'e.g. āĻĢā§āϝāĻžāĻļāύ āϏāĻā§āϤāύ āϤāϰā§āĻŖ-āϤāϰā§āĻŖā§ āĻŦāĻž āĻā§āϝāĻžāĻā§āĻ āϞāĻžāĻāĻžāϰ' } ], promptTemplate: `You are a viral TikTok & Instagram Reels growth strategist. Create 5 powerful 3-second visual + verbal hooks in Bengali for: @@ -301,8 +385,8 @@ Include FOMO triggers, countdown psychological anchors, and clear WhatsApp booki desc: 'āĻ āϰā§āĻĄāĻžāϰā§āϰ āĻā§āĻā§āϏāĻ āĻĨā§āĻā§ ā§§-āĻā§āϞāĻŋāĻā§ āĻā§āϰāĻŋā§āĻžāϰ āĻāύā§āĻā§āϰāĻŋ āĻĢāϰāĻŽā§āϝāĻžāĻ āĻ āĻĒā§āϰāĻŋāύā§āĻ āϞā§āĻŦā§āϞ āϤā§āϰāĻŋ āĻāϰā§āĨ¤', steps: '1-Click âĸ Logistics', fields: [ - { id: 'field1', label: 'āĻāĻžāϏā§āĻāĻŽāĻžāϰā§āϰ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻ āϰā§āĻĄāĻžāϰ āĻā§āĻā§āϏāĻ (Order Text)', placeholder: 'e.g. āύāĻžāĻŽ: āϤāĻžāύāĻā§āϰ āĻšāĻžāϏāĻžāύ, āĻĢā§āύ: 01712345678, āĻ āĻŋāĻāĻžāύāĻž: āĻŦāĻžā§āĻŋ ⧧⧍, āϰā§āĻĄ ā§Ģ, āϧāĻžāύāĻŽāύā§āĻĄāĻŋ, āĻĸāĻžāĻāĻžāĨ¤ āĻĒā§āϰāĻĄāĻžāĻā§āĻ: ā§§ āĻĒāĻŋāϏ āϏāĻŋāϰāĻžāĻŽ (ā§ŗā§§ā§Ļā§Ŧā§Ļ)' }, - { id: 'field2', label: 'āĻĄā§āϞāĻŋāĻāĻžāϰāĻŋ āĻāĻžāϰā§āĻ āĻ āύā§āĻ (COD & Notes)', placeholder: 'e.g. COD Amount: ā§ŗ 1130 (Dhaka inside ā§ŗ70)' } + { id: 'field1', label: 'āĻāĻžāϏā§āĻāĻŽāĻžāϰā§āϰ āϏāĻŽā§āĻĒā§āϰā§āĻŖ āĻ āϰā§āĻĄāĻžāϰ āĻā§āĻā§āϏāĻ (Order Text)', placeholder: 'e.g. āύāĻžāĻŽ: āϤāĻžāύāĻā§āϰ āĻšāĻžāϏāĻžāύ, āĻĢā§āύ: 01712345678, āĻ āĻŋāĻāĻžāύāĻž: āĻŦāĻžā§āĻŋ ⧧⧍, āϰā§āĻĄ ā§Ģ, āϧāĻžāύāĻŽāύā§āĻĄāĻŋ, āĻĸāĻžāĻāĻžāĨ¤ āĻĒā§āϰāĻĄāĻžāĻā§āĻ: ā§§ āĻĒāĻŋāϏ āĻā§āϝāĻžāĻā§āĻ (ā§ŗā§§ā§Žā§Ģā§Ļ)' }, + { id: 'field2', label: 'āĻĄā§āϞāĻŋāĻāĻžāϰāĻŋ āĻāĻžāϰā§āĻ āĻ āύā§āĻ (COD & Notes)', placeholder: 'e.g. COD Amount: ā§ŗ 1920 (Dhaka inside ā§ŗ70)' } ], promptTemplate: `Parse this customer order and structure it cleanly for Steadfast / Pathao Courier API and Print Packing Sticker: Order Text: {{field1}} @@ -868,31 +952,89 @@ async function render3DCommercialPoster(canvas, productImg, title, price, badgeT const w = canvas.width; const h = canvas.height; + // Brand Header Profiles + const BRAND_PROFILES = { + glamourstouch: { + headerTitle: "⨠GLAMOUR'S TOUCH â¨", + headerSub: '100% AUTHENTIC KOREAN COSMETICS âĸ DERMATOLOGIST TESTED', + badgeL1: 'đŋ Pure & Safe Care', + badgeL2: 'đĄī¸ Authentic Seal', + footerSite: 'glamourstouch.com', + footerHotline: '01712-426871' + }, + snehalata: { + headerTitle: 'đ¸ SNEHALATA AURA đ¸', + headerSub: 'PREMIUM LUXURY FASHION, SAREE & LIFESTYLE âĸ 100% AUTHENTIC', + badgeL1: 'đ Pure Fabric Weave', + badgeL2: '⨠Size Trial Guarantee', + footerSite: 'snehalata.com', + footerHotline: '01712-426871' + }, + techvolt: { + headerTitle: '⥠TECHVOLT GADGETS âĄ', + headerSub: 'OFFICIAL WARRANTY âĸ SMART ELECTRONICS & AUDIO ACCESSORIES', + badgeL1: 'đ High Battery Life', + badgeL2: 'đĄī¸ 1 Year Warranty', + footerSite: 'techvolt.auraajenticai.cloud', + footerHotline: '01712-426871' + }, + organic: { + headerTitle: 'đ¯ PRANON ORGANIC đ¯', + headerSub: '100% PURE NATURAL HONEY & UNADULTERATED ORGANIC FOODS', + badgeL1: 'đŋ 100% Lab Tested', + badgeL2: 'đĄī¸ Double Money Back', + footerSite: 'organic.auraajenticai.cloud', + footerHotline: '01712-426871' + }, + sneakerlab: { + headerTitle: 'đ SNEAKERLAB BD đ', + headerSub: 'PREMIUM STREETWEAR & GENUINE LEATHER FOOTWEAR', + badgeL1: 'đ Memory Foam Cushion', + badgeL2: '⨠Doorstep Fitting', + footerSite: 'sneakers.auraajenticai.cloud', + footerHotline: '01712-426871' + }, + royale: { + headerTitle: 'đ AURA ROYALE đ', + headerSub: 'LUXURY JEWELRY, WATCHES & 24-HOUR SIGNATURE PERFUMES', + badgeL1: 'đ 24h Projection', + badgeL2: 'đ Pure Luxury Finish', + footerSite: 'royale.auraajenticai.cloud', + footerHotline: '01712-426871' + }, + custom: { + headerTitle: 'đī¸ PREMIUM E-COMMERCE đī¸', + headerSub: '100% ORIGINAL AUTHENTIC âĸ CASH ON DELIVERY BANGLADESH', + badgeL1: 'â Premium Quality', + badgeL2: 'đĄī¸ 100% Original', + footerSite: 'auraajenticai.cloud', + footerHotline: '01712-426871' + } + }; + + const brandInfo = BRAND_PROFILES[brand] || BRAND_PROFILES.glamourstouch; + // Theme palettes const THEMES = { obsidian_gold: { bgCenter: '#18212D', bgMid: '#0C1117', bgOuter: '#05080C', spotlightColor: '#FFFFFF', goldRim: '#E5B83A', ringColor: '#66E5B83A', - pedestalTop: '#FFFFFF', pedestalMid: '#EBF2F8', pedestalDark: '#1B2533', - headerTitle: '⨠GLAMOUR\'S TOUCH â¨', headerSub: 'ëíë¯ŧęĩ íëĻŦ미ė ė¤í¨āĻā§āϝāĻŧāĻžāϰ âĸ 100% AUTHENTIC KOREAN COSMETICS' + pedestalTop: '#FFFFFF', pedestalMid: '#EBF2F8', pedestalDark: '#1B2533' }, rose_quartz: { bgCenter: '#2D1824', bgMid: '#170C13', bgOuter: '#0C0509', spotlightColor: '#FFF0F5', goldRim: '#F472B6', ringColor: '#F472B666', - pedestalTop: '#FFF5F8', pedestalMid: '#FCE7F3', pedestalDark: '#371829', - headerTitle: 'đ¸ SNEHALATA AURA đ¸', headerSub: 'PREMIUM LUXURY LIFESTYLE âĸ 100% AUTHENTIC BEAUTY' + pedestalTop: '#FFF5F8', pedestalMid: '#FCE7F3', pedestalDark: '#371829' }, cyber_neon: { bgCenter: '#0F172A', bgMid: '#060E1A', bgOuter: '#02060D', spotlightColor: '#E0F2FE', goldRim: '#06B6D4', ringColor: '#06B6D466', - pedestalTop: '#F0FDF4', pedestalMid: '#CFFAFE', pedestalDark: '#082F49', - headerTitle: 'đ AURA ENTERPRISE đ', headerSub: 'NEXT-GEN AGENTIC COMMERCE âĸ AI EMPOWERED' + pedestalTop: '#F0FDF4', pedestalMid: '#CFFAFE', pedestalDark: '#082F49' }, botanical_eco: { bgCenter: '#14281E', bgMid: '#0B1711', bgOuter: '#040B07', spotlightColor: '#F0FDF4', goldRim: '#10B981', ringColor: '#10B98166', - pedestalTop: '#F7FEE7', pedestalMid: '#DCFCE7', pedestalDark: '#064E3B', - headerTitle: 'đŋ PURE BOTANICAL CARE đŋ', headerSub: 'ORGANIC DERMATOLOGY âĸ CLINICALLY PROVEN' + pedestalTop: '#F7FEE7', pedestalMid: '#DCFCE7', pedestalDark: '#064E3B' } }; @@ -1023,9 +1165,9 @@ async function render3DCommercialPoster(canvas, productImg, title, price, badgeT const badgeY1 = aspect === '9:16' ? 340 : 240; const badgeY2 = badgeY1 + 75; drawPillBadge(ctx, 40, badgeY1, badgeText, true, currentTheme.goldRim); - drawPillBadge(ctx, 40, badgeY2, 'đŋ Skin Friendly Formula', true, currentTheme.goldRim); + drawPillBadge(ctx, 40, badgeY2, brandInfo.badgeL1, true, currentTheme.goldRim); drawPillBadge(ctx, w - 40, badgeY1, '⥠Fast Delivery BD', false, currentTheme.goldRim); - drawPillBadge(ctx, w - 40, badgeY2, 'đĄī¸ Authentic Guarantee', false, currentTheme.goldRim); + drawPillBadge(ctx, w - 40, badgeY2, brandInfo.badgeL2, false, currentTheme.goldRim); // 6. Header Ribbon ctx.fillStyle = '#F2090D12'; @@ -1041,11 +1183,11 @@ async function render3DCommercialPoster(canvas, productImg, title, price, badgeT ctx.fillStyle = currentTheme.goldRim; ctx.font = 'bold 32px Plus Jakarta Sans, sans-serif'; ctx.textAlign = 'center'; - ctx.fillText(currentTheme.headerTitle, w / 2, 52); + ctx.fillText(brandInfo.headerTitle, w / 2, 52); ctx.fillStyle = '#FFF4D0'; ctx.font = '16px Plus Jakarta Sans, sans-serif'; - ctx.fillText(currentTheme.headerSub, w / 2, 80); + ctx.fillText(brandInfo.headerSub, w / 2, 80); // 7. Product Title Card const cleanTitle = title.length > 60 ? title.substring(0, 58) + '...' : title; @@ -1082,11 +1224,11 @@ async function render3DCommercialPoster(canvas, productImg, title, price, badgeT ctx.fillStyle = '#FFFFFF'; ctx.font = 'bold 32px Plus Jakarta Sans, sans-serif'; ctx.textAlign = 'left'; - ctx.fillText('đŦ WhatsApp Order: 01712-426871', 35, footerTop + 48); + ctx.fillText(`đŦ WhatsApp Order: ${brandInfo.footerHotline}`, 35, footerTop + 48); ctx.fillStyle = '#053314'; ctx.font = 'bold 20px Plus Jakarta Sans, sans-serif'; - ctx.fillText('đ Website: glamourstouch.com âĸ đ Hotline: 01712-426871', 35, footerTop + 90); + ctx.fillText(`đ Website: ${brandInfo.footerSite} âĸ đ Hotline: ${brandInfo.footerHotline}`, 35, footerTop + 90); // QR Code await drawWhatsAppQrOnCanvas(ctx, w - 130, footerTop + 11, 96); @@ -1293,10 +1435,65 @@ const UGC_PRESET_LIBRARY = { styleDescription: 'Front-camera 4K selfie video, natural room lighting, casual clothing, real Bengali conversational talking-head with authentic micro-expressions and unboxing texture close-up.', cameraSettings: 'iPhone 15 Pro Max Front Camera 4K 60fps, subtle handheld organic wobble, autofocus hunting onto product label at 0:08, natural eye contact, warm ambient room light.', timelineTemplate: [ - { time: '0:00 - 0:03', title: 'đĨ Disruptive Curiosity Hook', visual: 'Creator holds phone with one hand, looking shocked/excited directly at the lens. Holds {{product}} close to camera.', script: '"āĻāĻĒā§āϰāĻž, āϏāϤā§āϝāĻŋ āĻŦāϞāĻāĻŋâāĻāĻ āĻāĻŋāύāĻŋāϏāĻāĻž āĻāĻāĻ āĻāϰāĻžāϰ āĻāĻā§ āĻāĻŽāĻžāϰ āϏā§āĻāĻŋāύā§āϰ āϝāĻž āĻ āĻŦāϏā§āĻĨāĻž āĻāĻŋāϞ, āύāĻŋāĻā§āϰ āĻā§āĻšāĻžāϰāĻžāĻ āύāĻŋāĻā§ āĻĻā§āĻāϤ⧠āĻĒāĻžāϰāϤāĻžāĻŽ āύāĻž!"' }, - { time: '0:03 - 0:07', title: 'đŠ Problem & Relatable Agitation', visual: 'Creator touches cheek showing dullness/dryness, shakes head in frustration.', script: '"āϰā§āĻĻā§ āĻĒā§ā§ā§ āϤā§āĻŦāĻ āĻāĻāĻĻāĻŽ āĻĄā§āϝāĻžāĻŽā§āĻ āĻāϰ āĻā§āĻĒ āĻā§āĻĒ āĻĻāĻžāĻā§ āĻāϰ⧠āĻāĻŋā§ā§āĻāĻŋāϞāĨ¤ āĻĻāĻžāĻŽāĻŋ āĻĻāĻžāĻŽāĻŋ āĻāϤ āĻāĻŋāĻā§ āĻā§āϰāĻžāĻ āĻāϰā§āĻāĻŋ, āĻāĻŋāύā§āϤ⧠āĻā§āύ⧠āϞāĻžāĻ āĻšāĻā§āĻāĻŋāϞ āύāĻž!"' }, - { time: '0:07 - 0:12', title: '⨠Product Demo & Texture Macro', visual: 'Macro close-up: Creator opens {{product}}, shows the rich bouncy jelly texture, applies a drop on cheekbone, taps gently. Instant dewy light reflection appears.', script: '"āϤāĻžāϰāĻĒāϰ Glamour\'s Touch āĻĨā§āĻā§ āĻāϏāϞ āĻā§āϰāĻŋā§āĻžāύ {{product}} āύāĻŋāϞāĻžāĻŽāĨ¤ āĻāĻžāϏā§āĻ āĻā§āĻā§āϏāĻāĻžāϰāĻāĻž āĻĻā§āĻā§āύâāĻāĻ āĻĢā§āĻāĻāĻž āĻĻāĻŋāϤā§āĻ āϤā§āĻŦāĻ āĻāĻžāĻā§āϰ āĻŽāϤ⧠āĻāĻāĻāĻ āĻāϰā§!"' }, - { time: '0:12 - 0:15', title: 'đ Social Proof & Urgency CTA', visual: 'Creator smiles radiantly, holds up the official authenticity barcode and points to screen link.', script: '"ā§§ā§Ļā§Ļ% āĻāϏāϞ āĻĒā§āϰā§āĻĄāĻžāĻā§āĻ āĻĒā§āϤ⧠āϏāϰāĻžāϏāϰāĻŋ āύāĻŋāĻā§ āĻšā§ā§āĻžāĻāϏāĻ ā§āϝāĻžāĻĒ āϞāĻŋāĻāĻā§ āĻāύāĻŦāĻā§āϏ āĻāϰā§āύāĨ¤ āĻāĻāύāĻ āĻ āϰā§āĻĄāĻžāϰ āύāĻž āĻāϰāϞ⧠āĻāĻŋāύā§āϤ⧠āϏā§āĻāĻ āĻļā§āώ āĻšā§ā§ āϝāĻžāĻŦā§!"' } + { time: '0:00 - 0:03', title: 'đĨ Disruptive Curiosity Hook', visual: 'Creator holds phone with one hand, looking shocked/excited directly at the lens. Holds {{product}} close to camera.', script: '"āϏāĻŦāĻžāĻ āϝ⧠āĻāĻ {{product}} āύāĻŋā§ā§ āĻāϤ āĻāĻĨāĻž āĻŦāϞāĻā§âāϏāϤā§āϝāĻŋ āĻŦāϞāϤ⧠āĻāĻāĻ āĻāϰāĻžāϰ āĻĒāϰ āĻāĻŽāĻŋ āĻāĻžāϏā§āĻ āĻ āĻŦāĻžāĻ āĻšā§ā§ āĻā§āĻāĻŋ!"' }, + { time: '0:03 - 0:07', title: 'đŠ Problem & Relatable Agitation', visual: 'Creator shows daily struggle or low quality alternative, shaking head.', script: '"āĻŽāĻžāϰā§āĻā§āĻā§ āĻāĻŽāĻĻāĻžāĻŽāĻŋ āĻĢā§āĻ āĻāĻŋāύāĻŋāϏ⧠āĻāĻžāĻāĻž āύāώā§āĻ āĻāϰāĻžāϰ āĻā§ā§ā§ āĻāϏāϞ āĻāĻŋāύāĻŋāϏ āύā§āĻā§āĻž āĻāϤ āĻāϰā§āϰāĻŋ, āϏā§āĻāĻž āĻāĻāύ āĻŦā§āĻāϤ⧠āĻĒāĻžāϰāĻāĻŋ!"' }, + { time: '0:07 - 0:12', title: '⨠Product Demo & Feature Macro', visual: 'Macro close-up: Creator demonstrates {{product}}, shows premium finish and instant performance.', script: '"āĻāĻžāϏā§āĻ āĻā§ā§āĻžāϞāĻŋāĻāĻŋ āĻāϰ āĻĢāĻŋāύāĻŋāĻļāĻŋāĻāĻāĻž āĻĻā§āĻā§āύâā§§ā§Ļā§Ļ% āĻĒā§āϰāĻŋāĻŽāĻŋā§āĻžāĻŽ āĻāϰ āĻāϏāϞ āĻšāĻā§āĻžāϰ āĻĢāĻŋāϞāĻāĻžāĻ āĻāϞāĻžāĻĻāĻž!"' }, + { time: '0:12 - 0:15', title: 'đ Social Proof & Urgency CTA', visual: 'Creator smiles radiantly, points to screen link with cash on delivery sticker.', script: '"ā§§ā§Ļā§Ļ% āĻāϏāϞ āĻĒā§āϰā§āĻĄāĻžāĻā§āĻ āĻā§āϝāĻžāĻļ āĻ āύ āĻĄā§āϞāĻŋāĻāĻžāϰāĻŋāϤ⧠āĻĒā§āϤ⧠āĻāĻāύāĻ āύāĻŋāĻā§āϰ āϞāĻŋāĻāĻā§ āĻŽā§āϏā§āĻ āĻĻāĻŋāύ!"' } + ] + }, + fashion_tryon: { + name: 'Fashion OOTD & Saree/Panjabi Drape', + styleDescription: 'Aesthetic full-body bedroom & natural daylight mirror try-on, slow-motion fabric flow, close-up texture weave, high elegance Bangladeshi fashion presentation.', + cameraSettings: '9:16 vertical 4K 60fps, 50mm portrait lens, f/1.8 shallow depth, gentle panning shot down the length of fabric, natural afternoon window light.', + timelineTemplate: [ + { time: '0:00 - 0:03', title: 'đ OOTD Fashion Hook', visual: 'Creator steps back from mirror, doing a graceful 360-degree spin showing the gorgeous fit of {{product}}.', script: '"āĻĻāĻžāĻā§āĻžāϤ āĻŦāĻž āϏā§āĻĒā§āĻļāĻžāϞ āĻ āĻā§āĻļāύ⧠āĻāĻ āĻļāĻžā§āĻŋ/āĻĄā§āϰā§āϏāĻāĻž āĻĒāϰ⧠āĻā§āϞ⧠āϏāĻŦāĻžāϰ āĻā§āĻ āĻāĻĒāύāĻžāϰ āĻĻāĻŋāĻā§āĻ āĻĨāĻžāĻāĻŦā§!"' }, + { time: '0:03 - 0:07', title: 'đ§ĩ Fabric & Weave Macro Zoom', visual: 'Macro shot of hand gently gliding over the pure soft fabric, catching light reflections.', script: '"āĻāĻžāĻĒā§āĻāĻž āĻāϤāĻāĻž āϏāĻĢāĻ āĻāϰ āĻāϰāĻžāĻŽāĻĻāĻžā§āĻ, āĻāĻžāϏā§āĻ āĻĢāĻŋāύāĻŋāĻļāĻŋāĻ āĻāϰ āϏā§āϤāĻžāϰ āĻāĻžāĻāĻāĻž āĻĻā§āĻāϞā§āĻ āĻŦā§āĻāϤ⧠āĻĒāĻžāϰāĻŦā§āύ!"' }, + { time: '0:07 - 0:12', title: '⨠Styling & Fitting Silhouette', visual: 'Creator styling with matching accessories, smiling with confidence in natural daylight.', script: '"āĻļāϰā§āϰ⧠āĻāĻāĻĻāĻŽ āĻĒāĻžāϰāĻĢā§āĻā§āĻ āĻĢāĻŋāĻ āĻšā§ā§ āĻĨāĻžāĻā§āĨ¤ āĻā§āύ⧠āĻ āϏā§āĻŦāϏā§āϤāĻŋ āĻāĻžā§āĻžāĻ āϏāĻžāϰāĻžāĻĻāĻŋāύ āĻĒāϰ⧠āĻĨāĻžāĻāĻž āϝāĻžāĻŦā§!"' }, + { time: '0:12 - 0:15', title: 'đī¸ Size Choice & 1-Click Order', visual: 'Holding boutique packaging bag, pointing to WhatsApp order button.', script: '"āĻĒāĻāύā§āĻĻā§āϰ āĻāĻžāϞāĻžāϰ āĻ āϏāĻžāĻāĻ āĻŦā§āĻ āĻāϰāϤ⧠āĻāĻāύāĻ āύāĻŋāĻā§ āĻāύāĻŦāĻā§āϏ āĻāϰā§āύāĨ¤ āĻĢā§āϰāĻŋ āĻšā§āĻŽ āĻĄā§āϞāĻŋāĻāĻžāϰāĻŋ āĻāĻžāϞ⧠āĻāĻā§!"' } + ] + }, + gadget_unboxing: { + name: 'Smart Gadget Sound & Stress Test', + styleDescription: 'Futuristic desk setup with RGB neon rim light, macro lens focusing on digital display, water-resistance spray test, tactile button press response.', + cameraSettings: 'Top-down macro 4K, 120fps ultra slow-mo, cyberpunk teal & orange lighting, clean audio capturing crisp click sensations.', + timelineTemplate: [ + { time: '0:00 - 0:03', title: '⥠Tech Power-On Hook', visual: 'Hands slicing open gadget box. Screen lights up with vibrant AMOLED colors showing {{product}}.', script: '"āĻāĻ āĻŦāĻžāĻā§āĻā§ āĻāϤ āĻĒāĻžāĻā§āĻžāϰāĻĢā§āϞ āĻĢāĻŋāĻāĻžāϰāϏ āĻāϰ āĻĒā§āϰāĻŋāĻŽāĻŋā§āĻžāĻŽ āĻŦāĻŋāϞā§āĻĄ āĻā§ā§āĻžāϞāĻŋāĻāĻŋâāĻŦāĻŋāĻļā§āĻŦāĻžāϏāĻ āĻšāĻā§āĻāĻŋāϞ āύāĻž!"' }, + { time: '0:03 - 0:07', title: 'đ§ Extreme Water & Drop Test', visual: 'Spraying water mist on the gadget screen while active; wiping off cleanly without any glitch.', script: '"IP68 āĻā§āĻžāĻāĻžāϰāĻĒā§āϰā§āĻĢ āĻāϰ āĻŽā§āĻāĻžāϞ āĻŦāĻĄāĻŋ āĻĢā§āϰā§āĻŽāĨ¤ āĻŦā§āώā§āĻāĻŋ āĻŦāĻž āϰāĻžāĻĢ āĻāĻāĻâāϝā§āĻā§āύ⧠āĻāύā§āĻĄāĻŋāĻļāύ⧠āĻāĻāĻĻāĻŽ āϰāĻ āϏāϞāĻŋāĻĄ!"' }, + { time: '0:07 - 0:12', title: 'đ Battery & ANC Audio Demo', visual: 'Finger tapping touch controls, smooth 60Hz UI scrolling and seamless Bluetooth connection.', script: '"āĻāĻ āĻāĻžāϰā§āĻā§ āĻāĻžāύāĻž ā§ āĻĻāĻŋāύā§āϰ āĻŦā§āϝāĻžāĻāĻžāϰāĻŋ āĻŦā§āϝāĻžāĻāĻāĻĒ āĻāϰ āĻŦā§āĻ āϏāĻžāĻāύā§āĻĄ āĻā§ā§āĻžāϞāĻŋāĻāĻŋ āĻāĻāĻĻāĻŽ āύā§āĻā§āϏāĻ āϞā§āĻā§āϞ!"' }, + { time: '0:12 - 0:15', title: 'đĄī¸ Official Warranty & COD CTA', visual: 'Displaying official 1-year replacement warranty card and fast dispatch flyer.', script: '"ā§§ āĻŦāĻāϰā§āϰ āĻ āĻĢāĻŋāϏāĻŋā§āĻžāϞ āϰāĻŋāĻĒā§āϞā§āϏāĻŽā§āύā§āĻ āĻā§āĻžāϰā§āύā§āĻāĻŋ āϏāĻš āĻā§āϝāĻžāĻļ āĻ āύ āĻĄā§āϞāĻŋāĻāĻžāϰāĻŋāϤ⧠āύāĻŋāϤ⧠āĻāĻāύāĻ āĻ āϰā§āĻĄāĻžāϰ āĻāϰā§āύ!"' } + ] + }, + sneaker_flex: { + name: 'Sneaker Flex & Kick Test', + styleDescription: 'Street style sneakerhead perspective, dynamic footwork on pavement, slow-mo sole flexion, crisp leather crease resistance check.', + cameraSettings: 'Low-angle ground tracking shot, 4K 60fps, dynamic gimbal push-in, natural street sun flare.', + timelineTemplate: [ + { time: '0:00 - 0:03', title: 'đ Street Flex Entry', visual: 'Low angle shot of creator stepping into frame wearing {{product}}, doing a quick heel-toe flex.', script: '"āϏā§āύāĻŋāĻāĻžāϰ āϞāĻžāĻāĻžāϰāĻĻā§āϰ āĻāύā§āϝ āĻāĻ āĻĒā§āϝāĻŧāĻžāϰāĻāĻž āĻāĻžāϏā§āĻ āĻāĻā§āύ! āϞā§āĻ āĻāϰ āĻāĻŽāĻĢā§āϰā§āĻ āĻĻā§āĻā§āĻ āĻāĻĒ āύāĻ!"' }, + { time: '0:03 - 0:07', title: 'đĄī¸ Sole Cushion & Crease Test', visual: 'Bending the sole with hands showing memory foam bounce back, no deep creases.', script: '"āĻŽā§āĻŽā§āϰāĻŋ āĻĢā§āĻŽ āĻāύāϏā§āϞ āĻšāĻā§āĻžā§ āϏāĻžāϰāĻžāĻĻāĻŋāύ āĻšā§āĻāĻā§āĻ āĻĒāĻžā§ā§ āĻā§āύ⧠āĻŦā§āϝāĻĨāĻž āĻšāĻŦā§ āύāĻžāĨ¤ āϞā§āĻĻāĻžāϰ āĻā§ā§āĻžāϞāĻŋāĻāĻŋ ā§§ā§Ļā§Ļ% āĻĒāĻŋāĻāϰ!"' }, + { time: '0:07 - 0:12', title: 'đĨ Outfit Pairing Display', visual: 'Wide street shot pairing the sneakers with denim & cargo streetwear.', script: '"āĻāĻŋāύā§āϏ āĻāĻŋāĻāĻŦāĻž āĻāĻžāϰā§āĻā§âāϝā§āĻā§āύ⧠āĻā§āϝāĻžāĻā§ā§āĻžāϞ āĻāĻāĻāĻĢāĻŋāĻā§āϰ āϏāĻžāĻĨā§ āϞā§āĻāĻāĻž āĻāĻāĻĻāĻŽ āĻĒā§āϰāĻŋāĻŽāĻŋā§āĻžāĻŽ āĻĢā§āĻā§ āĻāĻ āĻŦā§!"' }, + { time: '0:12 - 0:15', title: 'đĻ Doorstep Size Trial CTA', visual: 'Holding genuine sneaker box with size chart guarantee on screen.', script: '"āĻšā§āĻŽ āĻĄā§āϞāĻŋāĻāĻžāϰāĻŋāϤ⧠āϏāĻžāĻāĻ āĻā§āϰāĻžā§āĻžāϞ āϏā§āĻŦāĻŋāϧāĻž āϏāĻš āĻā§āϝāĻžāĻļ āĻ āύ āĻĄā§āϞāĻŋāĻāĻžāϰāĻŋāϤ⧠āĻŦā§āĻ āĻāϰāϤ⧠āĻāĻāύāĻ āĻŽā§āϏā§āĻ āĻĻāĻŋāύ!"' } + ] + }, + organic_purity: { + name: 'Organic Honey & Food Purity Test', + styleDescription: 'Sunlit rustic wooden kitchen table, glass jar of pure golden honey, wooden honey dipper slow swirl, water glass drop dissolving test.', + cameraSettings: 'Macro 4K f/2.8, warm sunlit golden flare, extreme slow-mo 120fps honey dripping into water without clouding.', + timelineTemplate: [ + { time: '0:00 - 0:03', title: 'đ¯ Pure Nature Swirl Hook', visual: 'Wooden dipper lifting thick golden {{product}}, thick continuous thread without breaking.', script: '"āĻāĻžāĻāĻāĻŋ āĻŽāϧā§āϰ āĻāϏāϞ āĻā§āύāĻžāϰ āĻāĻĒāĻžā§ āĻāĻŋ āĻāĻžāύā§āύ? āĻāĻ āĻĻā§āĻā§āύâāĻāĻ āĻĢā§āĻāĻāĻžāĻ āĻāĻŋāĻā§ā§ āĻĒā§āĻŦā§ āύāĻž!"' }, + { time: '0:03 - 0:07', title: 'đ§Ē Live Water Dissolve Test', visual: 'Dripping honey into clear glass of water; honey settles at bottom without mixing instantly.', script: '"āĻĒāĻžāύāĻŋāϰ āĻā§āϞāĻžāϏ⧠āĻĻā§āĻā§āĻžāϰ āϏāĻžāĻĨā§ āϏāĻžāĻĨā§āĻ āύāĻŋāĻā§ āĻāĻŋā§ā§ āĻāĻŽāĻžāĻ āĻŦāĻžāĻāϧāϞâā§§ā§Ļā§Ļ% āύāĻŋāϰā§āĻā§āĻāĻžāϞ āĻ āĻāĻžāĻāĻāĻŋ āĻĒā§āϰāĻžāĻā§āϤāĻŋāĻ āĻŽāϧā§!"' }, + { time: '0:07 - 0:12', title: 'đŋ Raw Aroma & Health Benefits', visual: 'Creator taking a small spoonful, expressing delight at the authentic floral aroma and taste.', script: '"āĻĒā§āϰāĻžāĻā§āϤāĻŋāĻ āϏā§āĻŦāĻžāĻĻ āĻāϰ āϏā§āĻŦāĻžāϏ⧠āĻāϰāĻžāĨ¤ āĻĒāϰāĻŋāĻŦāĻžāϰā§āϰ āϰā§āĻ āĻĒā§āϰāϤāĻŋāϰā§āϧ āĻā§āώāĻŽāϤāĻž āĻŦāĻžā§āĻžāϤ⧠āĻĒā§āϰāϤāĻŋāĻĻāĻŋāύ āĻāĻ āĻāĻžāĻŽāĻāĻ āϝāĻĨā§āώā§āĻāĨ¤"' }, + { time: '0:12 - 0:15', title: 'đĄī¸ 100% Purity Guarantee CTA', visual: 'Displaying lab test report and eco-friendly packing with cash-on-delivery guarantee.', script: '"āĻā§āĻāĻžāϞ āĻĒā§āϰāĻŽāĻžāĻŖāĻŋāϤ āĻšāϞ⧠āĻĄāĻžāĻŦāϞ āĻŽāĻžāύāĻŋ-āĻŦā§āϝāĻžāĻ āĻā§āϝāĻžāϰāĻžāύā§āĻāĻŋ! āĻāĻāύāĻ āĻāϏāϞ āĻŽāϧ⧠āĻāϰ⧠āĻĒā§āϤ⧠āĻāύāĻŦāĻā§āϏ āĻāϰā§āύāĨ¤"' } + ] + }, + perfume_reaction: { + name: 'Luxury Perfume 24-Hour Projection', + styleDescription: 'Luxury dark obsidian backdrop, golden mist atomizer spray caught in volumetric beam of light, public compliment reactions.', + cameraSettings: 'High-speed 4K macro spray capture, anamorphic lens flare, moody golden rim lighting.', + timelineTemplate: [ + { time: '0:00 - 0:03', title: 'đ Atomizer Mist Hook', visual: 'Slow motion fine mist spray from golden luxury bottle of {{product}} against dark background.', script: '"āĻāĻ āĻĒāĻžāϰāĻĢāĻŋāĻāĻŽāĻāĻž āĻĻāĻŋā§ā§ āĻŦāĻžāĻāϰ⧠āĻā§āϞ⧠āĻŽāĻžāύā§āώ āĻā§āϰ⧠āϤāĻžāĻāĻžāϤ⧠āĻŦāĻžāϧā§āϝ! āϏā§āĻŦāĻžāϏāĻāĻž āĻāĻžāϏā§āĻ āĻāύāϰāĻŋā§ā§āϞ!"' }, + { time: '0:03 - 0:07', title: 'đ¸ Scent Notes & Projection', visual: 'Creator spraying on wrist and collarbone, describing top notes of vanilla, amber and oud.', script: '"āĻĒā§āϰāĻŋāĻŽāĻŋā§āĻžāĻŽ āĻĢā§āϰā§āĻā§āĻ āĻ āĻ ā§āϝāĻžāϰāĻžāĻŦāĻŋāĻ āύā§āĻāϏā§āϰ āĻŦā§āϞā§āύā§āĻĄāĨ¤ āĻāĻāĻŦāĻžāϰ āĻĻāĻŋāϞ⧠āĻāĻžāĻŽāĻžā§ āϏā§āĻŦāĻžāϏ āĻĨāĻžāĻ⧠⧍ā§Ē āĻāĻŖā§āĻāĻžāϰāĻ āĻŦā§āĻļāĻŋ!"' }, + { time: '0:07 - 0:12', title: '⨠Compliment Magnet Test', visual: 'Friends and colleagues walking past, smiling and asking what perfume it is.', script: '"āĻ āĻĢāĻŋāϏ, āĻĒāĻžāϰā§āĻāĻŋ āĻāĻŋāĻāĻŦāĻž āĻĄā§āĻ āύāĻžāĻāĻâāϏāĻŦ āĻāĻžā§āĻāĻžā§ āĻāĻĒāύāĻžāĻā§ āĻĻā§āĻŦā§ āĻāĻ āĻāĻāϰā§āώāĻŖā§ā§ āĻāĻāĻŋāĻāĻžāϤā§āϝāĨ¤"' }, + { time: '0:12 - 0:15', title: 'đ Luxury Decant / Full Bottle CTA', visual: 'Luxury box and tester kit shown with WhatsApp direct link.', script: '"ā§§ā§Ļā§Ļ% āϞāĻ āϞāĻžāϏā§āĻāĻŋāĻ āĻ āϰāĻŋāĻāĻŋāύāĻžāϞ āϏā§āĻāύā§āϧāĻŋ āĻĒā§āϤ⧠āĻāĻāύāĻ āύāĻŋāĻā§ āĻ āϰā§āĻĄāĻžāϰ āĻŦāĻžāĻāύ⧠āĻā§āϞāĻŋāĻ āĻāϰā§āύ!"' } ] }, grwm_mirror: { @@ -1304,7 +1501,7 @@ const UGC_PRESET_LIBRARY = { styleDescription: 'Aesthetic morning routine in a clean modern bathroom with golden morning sunlight hitting the mirror, soft focus background, organic skincare application.', cameraSettings: 'Cinematic 9:16 vertical, f/1.8 shallow depth of field, warm golden-hour side lighting, macro zoom onto water droplets and glowing skin absorption.', timelineTemplate: [ - { time: '0:00 - 0:03', title: 'đĒ Morning GRWM Hook', visual: 'Morning sunshine reflecting on mirror. Creator wearing silk headband, applying headband, looking at glowing skin.', script: '"Get Ready With Me! āĻāĻāĻā§āϰ āĻĻāĻŋāύ⧠āϝāĻžāĻĻā§āϰ āϏāĻžāϰāĻžāĻĻāĻŋāύ āĻā§āϞāĻžāϏ āϏā§āĻāĻŋāύ āĻā§āϞ⧠āϧāϰ⧠āϰāĻžāĻāϤ⧠āĻšāĻŦā§, āϤāĻžāĻĻā§āϰ āĻāύā§āϝ āĻāĻŽāĻžāϰ āϏāĻŋāĻā§āϰā§āĻ āϰā§āĻāĻŋāύ..."' }, + { time: '0:00 - 0:03', title: 'đĒ Morning GRWM Hook', visual: 'Morning sunshine reflecting on mirror. Creator wearing silk headband, looking at glowing skin.', script: '"Get Ready With Me! āĻāĻāĻā§āϰ āĻĻāĻŋāύ⧠āϝāĻžāĻĻā§āϰ āϏāĻžāϰāĻžāĻĻāĻŋāύ āĻā§āϞāĻžāϏ āϏā§āĻāĻŋāύ āĻā§āϞ⧠āϧāϰ⧠āϰāĻžāĻāϤ⧠āĻšāĻŦā§, āϤāĻžāĻĻā§āϰ āĻāύā§āϝ āĻāĻŽāĻžāϰ āϏāĻŋāĻā§āϰā§āĻ āϰā§āĻāĻŋāύ..."' }, { time: '0:03 - 0:07', title: 'đ¸ Step-by-Step Application', visual: 'Dipping finger/dropper into {{product}}, smooth glide across cheekbones and forehead.', script: '"āĻā§āĻŽ āĻĨā§āĻā§ āĻāĻ ā§ āĻŽā§āĻ āϧā§ā§ā§ āĻāĻ {{product}} āĻāĻžāϏā§āĻ ā§¨ āĻĢā§āĻāĻāĻž āĻŽā§āϝāĻžāϏāĻžāĻ āĻāϰ⧠āύāĻŋāĻāĨ¤ āϤā§āĻŦāĻā§āϰ āĻāĻā§āϰ⧠āĻāĻŋā§ā§ āϏāĻžāĻĨā§ āϏāĻžāĻĨā§ āĻšāĻžāĻāĻĄā§āϰā§āĻļāύ āϞāĻ āĻāϰā§!"' }, { time: '0:07 - 0:12', title: 'đ Real Light Absorption Test', visual: 'Creator turns face left and right in natural lightâskin reflects a glossy, crystal-clear mirror shine.', script: '"āĻā§āύ⧠āĻŽā§āĻāĻāĻĒ āĻāĻžā§āĻž āύā§āϝāĻžāĻāĻžāϰāĻžāϞ āϏā§āĻāĻŋāύā§āĻ āĻāĻ āĻļāĻžāĻāύāĻāĻž āĻĒāĻžāĻā§āĻā§āύāĨ¤ āϏāĻžāϰāĻžāĻĻāĻŋāύ āĻŽā§āĻ āĻāĻāĻĻāĻŽ āύāϰāĻŽ āĻāϰ āĻĢā§āϰā§āĻļ āĻĨāĻžāĻā§!"' }, { time: '0:12 - 0:15', title: 'đī¸ Special Offer & Order CTA', visual: 'Creator picks up bag, waves happily to camera, on-screen WhatsApp hotline pop-up.', script: '"āĻāĻāĻ āϏā§āĻĒā§āĻļāĻžāϞ āĻĄāĻŋāϏāĻāĻžāĻāύā§āĻā§ āĻ āϰāĻŋāĻāĻŋāύāĻžāϞāĻāĻž āύāĻŋāϤ⧠glamourstouch.com āĻŦāĻž WhatsApp-āĻ āύāĻ āĻĻāĻŋāύ!"' } @@ -1315,32 +1512,21 @@ const UGC_PRESET_LIBRARY = { styleDescription: 'POV first-person angle over a clean wooden marble desk. Hands opening official courier flyer, crisp peeling sound, glossy box reveal, tactile product feel.', cameraSettings: 'Top-down 45-degree angle, 4K macro lens, studio ring light + warm softbox, rich tactile audio/visual sensations.', timelineTemplate: [ - { time: '0:00 - 0:03', title: 'đĻ Satisfying Unboxing Hook', visual: 'POV hands slicing open courier parcel with satisfying tear. Bubble wrap peeled to reveal authentic {{product}}.', script: '[ASMR: Crispy package opening sound] "āĻ āĻŦāĻļā§āώ⧠āĻāĻŽāĻžāϰ āĻŽā§āϏā§āĻ āĻā§ā§āĻāĻā§āĻĄ āĻā§āϰāĻŋā§āĻžāύ āĻĒāĻžāϰā§āϏā§āϞāĻāĻž āĻĄā§āϞāĻŋāĻāĻžāϰāĻŋ āĻĒā§āϞāĻžāĻŽ!"' }, - { time: '0:03 - 0:07', title: 'đĄī¸ Authenticity Verification', visual: 'Hands turning the luxury box around, zooming in on Korean authentic hologram seal and QR sticker.', script: '"ā§§ā§Ļā§Ļ% āĻ āϰāĻŋāĻāĻŋāύāĻžāϞ āĻā§āϰāĻŋā§āĻžāύ āĻšā§āϞā§āĻā§āϰāĻžāĻŽ āϏāĻŋāϞ āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰāĻž āĻāĻā§āĨ¤ āĻĒā§āϝāĻžāĻā§āĻāĻŋāĻāĻāĻžāĻ āϤ⧠āĻŽāĻžāĻĨāĻž āύāώā§āĻ!"' }, - { time: '0:07 - 0:12', title: 'đ§Ē Luxurious Texture Swirl', visual: 'Unscrewing the golden cap, dipping spatula/finger into rich jelly formula, spreading silky smooth swatch on back of hand.', script: '"āĻāĻžāϏā§āĻ āĻĢāĻŋāϞāĻāĻž āĻĻā§āĻā§āύâāĻā§ āĻĒāϰāĻŋāĻŽāĻžāĻŖ āĻĒā§āϰāĻŋāĻŽāĻŋā§āĻžāĻŽ! āĻāĻāĻĻāĻŽ āϞāĻžāĻāĻāĻā§ā§āĻ, āĻāĻ āĻžāϞ⧠āĻāĻžāĻŦ āĻāĻžā§āĻžāĻ āϤā§āĻŦāĻā§ āĻŽāĻŋāĻļā§ āϝāĻžā§āĨ¤"' }, + { time: '0:00 - 0:03', title: 'đĻ Satisfying Unboxing Hook', visual: 'POV hands slicing open courier parcel with satisfying tear. Bubble wrap peeled to reveal authentic {{product}}.', script: '[ASMR: Crispy package opening sound] "āĻ āĻŦāĻļā§āώ⧠āĻāĻŽāĻžāϰ āĻŽā§āϏā§āĻ āĻā§ā§āĻāĻā§āĻĄ āĻĒāĻžāϰā§āϏā§āϞāĻāĻž āĻĄā§āϞāĻŋāĻāĻžāϰāĻŋ āĻĒā§āϞāĻžāĻŽ!"' }, + { time: '0:03 - 0:07', title: 'đĄī¸ Authenticity Verification', visual: 'Hands turning the luxury box around, zooming in on authentic hologram seal and QR sticker.', script: '"ā§§ā§Ļā§Ļ% āĻ āϰāĻŋāĻāĻŋāύāĻžāϞ āϏāĻŋāĻāĻŋāĻāϰāĻŋāĻāĻŋ āϏāĻŋāϞ āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰāĻž āĻāĻā§āĨ¤ āĻĒā§āϝāĻžāĻā§āĻāĻŋāĻāĻāĻžāĻ āϤ⧠āĻŽāĻžāĻĨāĻž āύāώā§āĻ!"' }, + { time: '0:07 - 0:12', title: 'đ§Ē Luxurious Swatch / Feel', visual: 'Unboxing product, showing clean tactile premium finish.', script: '"āĻāĻžāϏā§āĻ āĻĢāĻŋāϞāĻāĻž āĻĻā§āĻā§āύâāĻā§ āĻĒāϰāĻŋāĻŽāĻžāĻŖ āĻĒā§āϰāĻŋāĻŽāĻŋā§āĻžāĻŽ! āĻāĻ āĻĻā§āĻāĻžāϤā§āĻ āĻŽāύ āĻāϰ⧠āϝāĻžā§āĨ¤"' }, { time: '0:12 - 0:15', title: '⥠Fast Delivery & COD CTA', visual: 'Parcel invoice and hotline sticker shown with WhatsApp order button.', script: '"āĻā§āϝāĻžāĻļ āĻ āύ āĻĄā§āϞāĻŋāĻāĻžāϰāĻŋāϤ⧠āĻĻā§āϰā§āϤ āĻĒā§āϤ⧠āĻāĻāύāĻ āύāĻŋāĻā§ āĻŽā§āϏā§āĻ āĻāϰā§āύ!"' } ] }, skeptic_test: { - name: 'Viral Claim Skeptic & Moisture Meter', - styleDescription: 'Investigative, high-retention TikTok testing format. Direct close-up with moisture meter tool testing skin before and after.', + name: 'Viral Claim Skeptic Test', + styleDescription: 'Investigative, high-retention TikTok testing format. Direct close-up testing performance before and after.', cameraSettings: 'Punchy fast zooms, dynamic screen text overlays, high-contrast clean lighting, high energy facial delivery.', timelineTemplate: [ - { time: '0:00 - 0:03', title: 'â ī¸ High-Stakes Skeptic Hook', visual: 'Creator holds moisture meter with red 18% dry skin alert, looking skeptical at {{product}}.', script: '"āĻāĻŋāĻāĻāĻā§ āϏāĻŦāĻžāĻ āϝ⧠{{product}} āύāĻŋā§ā§ āϞāĻžāĻĢāĻžāϞāĻžāĻĢāĻŋ āĻāϰāĻā§âāĻāϏāϞā§āĻ āĻāĻŋ āĻāĻāĻž āĻāĻžāĻ āĻāϰ⧠āύāĻžāĻāĻŋ āĻļā§āϧā§āĻ āĻšāĻžāĻāĻĒ? āĻāϞā§āύ āϞāĻžāĻāĻ āĻā§āϏā§āĻ āĻāϰāĻŋ!"' }, - { time: '0:03 - 0:07', title: 'đ§Ē Live Before-Test Application', visual: 'Close up of dry skin measurement (18%). Applies cream on right half of face only.', script: '"āĻĒā§āϰāĻĨāĻŽā§ āĻāĻŽāĻžāϰ āĻĄā§āϰāĻžāĻ āϏā§āĻāĻŋāύ āĻŽāĻžāĻĒāϞāĻžāĻŽâāĻŽāĻžāϤā§āϰ ā§§ā§Ž% āĻŽā§ā§āĻļā§āĻāĻžāϰāĨ¤ āĻāĻŦāĻžāϰ āĻŽā§āĻā§āϰ āĻāĻāĻĒāĻžāĻļā§ āĻĒā§āϰāĻĄāĻžāĻā§āĻāĻāĻž āϞāĻžāĻāĻŋā§ā§ ā§Ģ āĻŽāĻŋāύāĻŋāĻ āĻ āĻĒā§āĻā§āώāĻž āĻāϰāϞāĻžāĻŽ..."' }, - { time: '0:07 - 0:12', title: 'đą Shocking 84% Meter Result', visual: 'Beeping moisture meter pressed on treated cheekâscreen turns green displaying 84% Hydration Glow.', script: '"āĻ āĻŽāĻžāĻ āĻāĻĄ! āĻŽāĻŋāĻāĻžāϰ āĻĻā§āĻā§āύâā§§ā§Ž% āĻĨā§āĻā§ āĻāĻ āϞāĻžāĻĢā§ ā§Žā§Ē%! āύāĻŋāĻā§āϰ āĻā§āĻāĻā§ āĻŦāĻŋāĻļā§āĻŦāĻžāϏ āĻāϰāϤ⧠āĻĒāĻžāϰāĻāĻŋ āύāĻž!"' }, - { time: '0:12 - 0:15', title: 'đ Verdict & Purchase Link', visual: 'Creator happily nodding, displaying the genuine shop packaging.', script: '"āĻšāĻžāĻāĻĒāĻāĻž āĻāĻāĻĻāĻŽ ā§§ā§Ļā§Ļ% āϏāϤā§āϝāĻŋ! āĻāϏāϞāĻāĻž āĻ āϰā§āĻĄāĻžāϰ āĻāϰāϤ⧠āύāĻŋāĻā§āϰ āĻŦāĻžāĻāύ⧠āĻāĻāύāĻ āĻā§āϞāĻŋāĻ āĻāϰā§āύāĨ¤"' } - ] - }, - street_interview: { - name: 'Campus / Street Micro-Interview', - styleDescription: 'Outdoor real-world environment (Dhanmondi / Dhaka University). Handheld wireless microphone, spontaneous interaction with a real student or young professional.', - cameraSettings: 'Wide to medium shot, natural daylight, wireless lavalier mic sound, spontaneous laughter and genuine reactions.', - timelineTemplate: [ - { time: '0:00 - 0:03', title: 'đī¸ Spontaneous Street Hook', visual: 'Interviewer holds cute micro-mic, approaches friendly girl in university campus.', script: '"āĻāĻĒā§, ā§§ āϏā§āĻā§āύā§āĻĄ! āĻāĻĒāύāĻžāϰ āϤā§āĻŦāĻā§āϰ āĻāĻ āύā§āϝāĻžāĻāĻžāϰāĻžāϞ āĻā§āϞā§-āĻāϰ āϏāĻŋāĻā§āϰā§āĻāĻāĻž āĻāĻŋ āĻāĻāĻā§ āĻŦāϞāĻŦā§āύ?"' }, - { time: '0:03 - 0:07', title: 'đŦ Genuine Relatable Reaction', visual: 'Interviewee smiles, opens purse and takes out her authentic {{product}}.', script: '"āĻāϰā§āĻš! āĻāĻŽāĻŋ āϤ⧠āĻŽā§āĻāĻāĻĒ āĻāĻāĻ āĻāϰāĻŋ āύāĻž, āĻāĻžāϏā§āĻ āĻāĻ āĻā§āϰāĻŋā§āĻžāύ {{product}} āĻāĻž āĻāĻāĻ āĻāϰāĻŋ!"' }, - { time: '0:07 - 0:12', title: '⨠Instant Hand Texture Test', visual: 'Interviewer tries a tiny pump on her hand, touches it with wide excited eyes.', script: '"āĻā§āĻžāĻ! āϏā§āĻāύā§āϧāĻāĻž āĻāϤ āĻŽāĻŋāώā§āĻāĻŋ āĻāϰ āϏāĻžāĻĨā§ āϏāĻžāĻĨā§āĻ āϤā§āĻŦāĻ āĻāĻāĻĻāĻŽ āύāϰāĻŽ āĻšā§ā§ āĻā§āϞ!"' }, - { time: '0:12 - 0:15', title: 'đī¸ Street Verdict & CTA', visual: 'Both girls smile at camera, pointing to on-screen WhatsApp number.', script: '"āĻā§āĻĨāĻžā§ āĻĒāĻžāĻā§āĻž āϝāĻžāĻŦā§ āĻāĻĒā§? âGlamour\'s Touch-āĻ, āĻ āϰāĻŋāĻāĻŋāύāĻžāϞ āĻā§āϰāĻŋā§āĻžāύ āĻāĻžāϞā§āĻāĻļāύ!"' } + { time: '0:00 - 0:03', title: 'â ī¸ High-Stakes Skeptic Hook', visual: 'Creator holds {{product}}, looking skeptical at claim.', script: '"āϏāĻŦāĻžāĻ āϝ⧠{{product}} āύāĻŋā§ā§ āϞāĻžāĻĢāĻžāϞāĻžāĻĢāĻŋ āĻāϰāĻā§âāĻāϏāϞā§āĻ āĻāĻŋ āĻāĻāĻž āĻāĻžāĻ āĻāϰ⧠āύāĻžāĻāĻŋ āĻļā§āϧā§āĻ āĻšāĻžāĻāĻĒ? āĻāϞā§āύ āϞāĻžāĻāĻ āĻā§āϏā§āĻ āĻāϰāĻŋ!"' }, + { time: '0:03 - 0:07', title: 'đ§Ē Live Practical Demonstration', visual: 'Close-up demonstration showing real-time action and performance.', script: '"āĻāĻŽāϰāĻž āĻĒā§āϰā§āϝāĻžāĻā§āĻāĻŋāĻā§āϝāĻžāϞāĻŋ āĻā§āϏā§āĻ āĻāϰ⧠āĻĻā§āĻāĻāĻŋ āĻāϰ āĻā§ā§āĻžāϞāĻŋāĻāĻŋ āĻā§āĻŽāύ āĻāĻžāĻ āĻāϰā§..."' }, + { time: '0:07 - 0:12', title: 'đą Shocking Performance Result', visual: 'Flawless output / result verified on screen.', script: '"āĻ āĻŽāĻžāĻ āĻāĻĄ! āϰā§āĻāĻžāϞā§āĻ āĻĻā§āĻā§āύâāĻĻāĻžāĻŦāĻŋ āĻāĻāĻĻāĻŽ ā§§ā§Ļā§Ļ% āϏāϤā§āϝāĻŋ! āύāĻŋāĻā§āϰ āĻā§āĻāĻā§ āĻŦāĻŋāĻļā§āĻŦāĻžāϏ āĻāϰāϤ⧠āĻĒāĻžāϰāĻāĻŋ āύāĻž!"' }, + { time: '0:12 - 0:15', title: 'đ Verdict & Purchase Link', visual: 'Creator happily nodding, displaying the genuine shop packaging.', script: '"āĻšāĻžāĻāĻĒāĻāĻž āĻāĻāĻĻāĻŽ āϏāϤā§āϝāĻŋ! āĻāϏāϞāĻāĻž āĻ āϰā§āĻĄāĻžāϰ āĻāϰāϤ⧠āύāĻŋāĻā§āϰ āĻŦāĻžāĻāύ⧠āĻāĻāύāĻ āĻā§āϞāĻŋāĻ āĻāϰā§āύāĨ¤"' } ] }, founder_story: { @@ -1349,7 +1535,7 @@ const UGC_PRESET_LIBRARY = { cameraSettings: 'Medium close-up, warm cinematic backlighting, steadycam subtle push-in, confident and transparent persona.', timelineTemplate: [ { time: '0:00 - 0:03', title: 'đ Behind-the-Scenes Hook', visual: 'Founder stands beside packing table surrounded by 200+ courier parcels ready for dispatch.', script: '"āĻŽāĻžāύā§āώ āĻā§āύ āĻĒā§āϰāϤāĻŋāĻĻāĻŋāύ āĻļāϤ āĻļāϤ āĻ āϰā§āĻĄāĻžāϰ⧠āĻāĻŽāĻžāĻĻā§āϰ āĻāĻ {{product}} āύāĻŋāĻā§āĻā§, āĻāĻžāύā§āύ?"' }, - { time: '0:03 - 0:07', title: 'đĄī¸ Fake vs Authentic Transparency', visual: 'Founder shows side-by-side packaging, explaining counterfeit risks in local markets.', script: '"āĻāĻžāϰāĻŖ āĻŽāĻžāϰā§āĻā§āĻā§ āĻĄā§āĻĒā§āϞāĻŋāĻā§āĻ āĻĒā§āϰā§āĻĄāĻžāĻā§āĻā§āϰ āĻāĻŋā§ā§ āĻāĻŽāϰāĻž āϏāϰāĻžāϏāϰāĻŋ āĻā§āϰāĻŋā§āĻž āĻĨā§āĻā§ āĻāϏāϞ āĻĒāĻŖā§āϝ āĻāύ⧠āĻāϰ⧠āĻāϰ⧠āĻĒā§āĻāĻā§ āĻĻāĻŋāĻā§āĻāĻŋāĨ¤"' }, + { time: '0:03 - 0:07', title: 'đĄī¸ Quality Transparency', visual: 'Founder shows side-by-side packaging, explaining counterfeit risks in local markets.', script: '"āĻāĻžāϰāĻŖ āĻŽāĻžāϰā§āĻā§āĻā§ āĻĄā§āĻĒā§āϞāĻŋāĻā§āĻ āĻĒāĻŖā§āϝā§āϰ āĻāĻŋā§ā§ āĻāĻŽāϰāĻž āϏāϰāĻžāϏāϰāĻŋ āĻāϏāϞ āĻā§ā§āĻžāϞāĻŋāĻāĻŋ āύāĻŋāĻļā§āĻāĻŋāϤ āĻāϰ⧠āĻāϰ⧠āĻāϰ⧠āĻĒā§āĻāĻā§ āĻĻāĻŋāĻā§āĻāĻŋāĨ¤"' }, { time: '0:07 - 0:12', title: 'đ Quality Promise & Money-back', visual: 'Founder holds up authentic product with certificate of authenticity.', script: '"āĻĒā§āϰā§āĻĄāĻžāĻā§āĻ āĻĢā§āĻ āĻĒā§āϰāĻŽāĻžāĻŖāĻŋāϤ āĻšāϞ⧠āĻŽāĻžāύāĻŋ-āĻŦā§āϝāĻžāĻ āĻā§āϝāĻžāϰāĻžāύā§āĻāĻŋāĨ¤ āĻā§āύ⧠āĻāĻĒā§āώ āύā§āĻ āĻā§ā§āĻžāϞāĻŋāĻāĻŋāϤā§āĨ¤"' }, { time: '0:12 - 0:15', title: 'đĻ 1-Click Dispatch CTA', visual: 'Founder handing over parcel to delivery rider, smile to camera.', script: '"āĻāĻāĻā§āϰ āϏā§āĻĒā§āĻļāĻžāϞ āϏā§āĻāĻ āĻĨā§āĻā§ āĻāĻĒāύāĻžāϰ āĻĒāĻžāϰā§āϏā§āϞāĻāĻŋ āĻŦā§āĻ āĻāϰāϤ⧠āĻāĻāύāĻ āĻāύāĻŦāĻā§āϏ āĻāϰā§āύ!"' } ] diff --git a/index.html b/index.html index f833b50..aa6e664 100644 --- a/index.html +++ b/index.html @@ -85,17 +85,20 @@
- āĻā§āϞāĻžāϝāĻŧā§āύā§āĻ āĻĄā§āϝāĻžāĻļāĻŦā§āϰā§āĻĄā§ āĻŦā§āϝāĻŦāĻšāĻžāϰā§āϰ āĻāύā§āϝ āĻāĻžāϏā§āĻāĻŽ āĻāĻāĻ āĻŽāĻŋāύāĻŋ-āĻ ā§āϝāĻžāĻĒ āϤā§āϰāĻŋ āĻ āĻāĻŽā§āĻŦā§āĻĄ āĻāϰā§āύ + āϏāĻāϞ āĻā§āϝāĻžāĻāĻžāĻāϰāĻŋāϰ āĻ-āĻāĻŽāĻžāϰā§āϏā§āϰ āĻāύā§āϝ āĻāĻžāϏā§āĻāĻŽ āĻāĻāĻ āĻŽāĻŋāύāĻŋ-āĻ ā§āϝāĻžāĻĒ āϤā§āϰāĻŋ āĻ āĻāĻŽā§āĻŦā§āĻĄ āĻāϰā§āύ
āϰā§āĻŽā§āϰ āĻāϞā§ā§ āĻĢā§āϰāύā§āĻ āĻā§āϝāĻžāĻŽā§āϰāĻžā§ āĻāύāĻĢāĻŋāϞā§āĻāĻžāϰā§āĻĄ āĻŦāĻžāϏā§āϤāĻŦ āϰāĻŋāĻāĻŋāĻ āĻ āĻĒā§āϰāĻĄāĻžāĻā§āĻ āĻā§āϏā§āĻāĨ¤
+āϰā§āĻŽā§āϰ āĻāϞā§ā§ āĻĢā§āϰāύā§āĻ āĻā§āϝāĻžāĻŽā§āϰāĻžā§ āĻāύāĻĢāĻŋāϞā§āĻāĻžāϰā§āĻĄ āĻŦāĻžāϏā§āϤāĻŦ āϰāĻŋāĻāĻŋāĻ āĻ āĻĒā§āϰāĻĄāĻžāĻā§āĻ āĻā§āϏā§āĻ (Universal)āĨ¤
+āĻļāĻžāĻĄāĻŧāĻŋ/āĻĒāĻžāĻā§āĻāĻžāĻŦāĻŋ āĻā§āϰāĻžāĻ-āĻ āύ, āĻĢā§āĻŦā§āϰāĻŋāĻā§ āĻā§āĻŽ, āĻĢāĻŋāĻāĻŋāĻ āĻ āϏā§āϞā§-āĻŽā§ āĻā§āĻžāĻ āĻā§āϰāĻžā§āĻžāϞāĨ¤
+āϏā§āĻŽāĻžāϰā§āĻāĻā§āĻžāĻ/āĻāϝāĻŧāĻžāϰāĻŦāĻžāĻĄāϏ āĻāύāĻŦāĻā§āϏāĻŋāĻ, ANC āϏāĻžāĻāύā§āĻĄ āĻā§āϏā§āĻ āĻ āĻā§āĻžāĻāĻžāϰāĻĒā§āϰā§āĻĢ āĻĄā§āϰāĻĒ āĻā§āϏā§āĻāĨ¤
+āϏā§āύāĻŋāĻāĻžāϰ āĻāύāĻŦāĻā§āϏāĻŋāĻ, āϏā§āϞ āĻŦā§āύā§āĻĄ āĻā§āϏā§āĻ āĻ āϏā§āĻā§āϰāĻŋāĻ āĻā§āĻžāĻ āϏā§āĻāĻžāĻāϞāĻŋāĻļ āϞā§āĻāĨ¤
+ā§§ā§Ļā§Ļ% āĻāĻžāĻāĻāĻŋ āĻŽāϧā§āϰ āĻĒāĻžāύāĻŋāϰ āĻā§āϞāĻžāϏ⧠āĻĻā§āϰāĻŦā§āĻā§āϤ āĻĒāϰā§āĻā§āώāĻž āĻ āĻā§āϏā§āĻ āϰāĻŋāĻāĻŋāĻāĨ¤
+āĻĒāĻžāϰāĻĢāĻŋāĻāĻŽā§āϰ āϞāĻ āϞāĻžāϏā§āĻāĻŋāĻ āϏā§āĻŦāĻžāϏ āĻ āĻĒāĻžāĻŦāϞāĻŋāĻ āĻāĻŽāĻĒā§āϞāĻŋāĻŽā§āύā§āĻ āϰāĻŋā§ā§āĻāĻļāύāĨ¤
āϏāĻāĻžāϞ⧠āĻā§āĻŽ āĻĨā§āĻā§ āĻāĻ ā§ āĻŽā§āĻā§ āĻĄā§āϰāĻĒ āĻĻāĻŋā§ā§ āĻā§āϞāĻžāϏ āϏā§āĻāĻŋāύ āĻā§āĻā§āϏāĻāĻžāϰ āĻĒā§āϰāĻĻāϰā§āĻļāύāĨ¤
+āϏāĻāĻžāϞ⧠āĻŽā§āĻā§ āĻĄā§āϰāĻĒ āĻĻāĻŋā§ā§ āϏā§āĻāĻŋāύāĻā§āϝāĻŧāĻžāϰ āĻā§āĻā§āϏāĻāĻžāϰ āĻ āĻā§āϞāĻžāϏ āϏā§āĻāĻŋāύ āĻā§āϞ⧠āĻĒā§āϰāĻĻāϰā§āĻļāύāĨ¤
"āϏāϤā§āϝāĻŋāĻ āĻāĻŋ āĻāĻžāĻ āĻāϰā§?"âāĻšāĻžāĻāĻĄā§āϰ⧠āĻŽāĻŋāĻāĻžāϰ āĻĻāĻŋā§ā§ āĻāĻžāĻŽā§āĻžāϰ āĻāύāϏā§āĻā§āϝāĻžāύā§āĻ āĻā§āϏā§āĻāĨ¤
-āϧāĻžāύāĻŽāύā§āĻĄāĻŋ/āĻāĻžāϰā§āϏāĻŋāĻāĻŋ āĻā§āϝāĻžāĻŽā§āĻĒāĻžāϏ⧠āϤāϰā§āĻŖā§āĻĻā§āϰ āĻšāĻžāϤā§āύāĻžāϤ⧠āĻĒā§āϰāĻĄāĻžāĻā§āĻ āĻĒāϰāĻ āĻāϰāĻžāύā§āĨ¤
+"āϏāϤā§āϝāĻŋāĻ āĻāĻŋ āĻāĻžāĻ āĻāϰā§?"âāĻšāĻžāϤā§-āĻāϞāĻŽā§ āĻāĻžāϰā§āϝāĻāĻžāϰāĻŋāϤāĻž āϞāĻžāĻāĻ āĻĒāϰā§āĻā§āώāĻžāĨ¤
āĻā§āϰāĻŋā§āĻžāϰ āĻĒāĻžāϰā§āϏā§āϞā§āϰ āϏā§āϤā§āĻĒā§āϰ āϏāĻžāĻŽāύ⧠āĻĻāĻžāĻā§āĻŋā§ā§ āϏāϰāĻžāϏāϰāĻŋ āĻā§āϰāĻŋā§āĻžāύ āĻāĻŽāĻĒā§āϰā§āĻā§āϰ āĻāϞā§āĻĒāĨ¤
+āĻā§āϰāĻŋā§āĻžāϰ āĻĒāĻžāϰā§āϏā§āϞā§āϰ āϏā§āϤā§āĻĒā§āϰ āϏāĻžāĻŽāύ⧠āĻĻāĻžāĻā§āĻŋā§ā§ āĻĒā§āϰāĻĄāĻžāĻā§āĻ āĻā§ā§āĻžāϞāĻŋāĻāĻŋ āĻ āĻŽāĻžāύāĻŋ-āĻŦā§āϝāĻžāĻ āĻāϞā§āĻĒāĨ¤