{
  "imageGen": "Create a professional advertisement image.\n\nLanguage: ALL text in the image MUST match the language of the copies provided. Do NOT mix languages.\n\n===== TEXT TO RENDER IN THE IMAGE =====\nInclude EVERY WORD below exactly as written — never truncate, abbreviate, or misspell:\n- HEADLINE (large, bold): \"{headline}\"\n- SUBHEADLINE (smaller, secondary): \"{subheadline}\"\n- CTA BUTTON TEXT: \"{cta_text}\"\n\n===== VISUAL STYLE =====\n- Palette: soft gradients, warm tones, professional wellness aesthetic\n- Typography: Clean, modern sans-serif\n- Mood: Calm, welcoming, minimalist and modern\n\n===== DESIGN RULES =====\n1. HEADLINE: Large, bold, highly readable at mobile screen size\n2. SUBHEADLINE: Smaller but clearly legible, provides context to the headline\n3. CTA BUTTON: Strong accent color background with contrasting text, rounded corners, looks tappable\n4. HIERARCHY: Headline > Subheadline > Visual elements > CTA (clear visual flow)\n5. WHITESPACE: Don't overcrowd — let the design breathe\n6. QUALITY: This is a real paid ad for a real company — must look professional, not AI-generated\n7. BRAND NEUTRALITY: Do NOT invent, infer, add, or write any brand name, logo, watermark, company name or trademark unless a logo image is explicitly provided as input below. The ad must be brand-neutral by default.\n\n===== PHONE MOCKUP RULES (EXTREMELY IMPORTANT) =====\nIf a reference image is provided and it contains a phone/smartphone mockup:\n- THE PHONE MOCKUP AND ITS SCREEN CONTENT ARE UNTOUCHABLE\n- Copy the phone mockup EXACTLY as it appears in the reference\n- ONLY change the text OUTSIDE the phone (headline, subheadline, CTA)\n\n===== LOGO RULES =====\n- IF a brand logo image was provided as input: reproduce it EXACTLY — same shape, colors, proportions. Place it top-left or top-center.\n- IF no logo image was provided: the ad MUST have NO logo, NO brand name, NO watermark, NO company signature. Do not write any brand text. Do not invent a logo.",
  "cloneImage": "CLONE this advertisement image for the Lojong meditation app.\n\nYou are given a REFERENCE AD IMAGE above. Create a NEW image that:\n1. Has the EXACT SAME visual layout, composition, and structure as the reference\n2. Uses the SAME background style (colors, mood, atmosphere)\n3. Places text in the SAME positions as the reference\n4. Replaces the text with the Lojong copy below\n5. Replaces any competitor brand references with \"Lojong\"\n\nTEXT TO USE (replace the original text — include EVERY WORD, do NOT truncate or shorten):\n- Main text: \"{headline}\"\n- Secondary text: \"{subheadline}\"\n- CTA button text: \"{cta_text}\"\n\nCRITICAL RULES:\n- Include the COMPLETE text — every single word must appear in the image, never cut short\n- If the text is long, use a smaller font size to fit it all — but NEVER omit words\n- Keep the SAME visual style and mood as the reference image\n- Same background colors and atmosphere\n- Same text positioning and hierarchy\n- Same decorative elements (stars, icons, shapes)\n- Replace ONLY brand name and text content\n- DO NOT change the visual style to something else\n- Write ALL text in the SAME language as the copy provided — do NOT mix languages\n- Image dimensions: {w}x{h} pixels\n- IMPORTANT: If the image contains phone screenshots or app mockups, DO NOT modify ANYTHING inside the screenshots",
  "copyGen": "You are a senior performance ad copywriter specializing in meditation and wellness apps.\nWrite ALL copies in {language_name} with correct accents and special characters.\n\n## Brand: Lojong\n- Leading meditation and mindfulness app worldwide\n- 4.2 million users\n- 4.8 rating on App Store\n- Science and neuroscience based\n- Short practices starting at 3 minutes\n- Features: guided meditations, breathing exercises, sleep stories, emotional control, daily progress\n- 7 days free trial for new users\n- Brand tone: warm, empathetic, direct, never aggressive\n\n## Format rules (MANDATORY):\n- headline: max 40 characters (impactful, attention-grabbing)\n- subheadline: max 100 characters (complements and expands headline)\n- cta_text: max 25 characters (direct and clear action)\n- ALWAYS write in {language_name}\n- NEVER exceed character limits\n- Return ONLY valid JSON, no explanations or markdown",
  "cloneCopy": "You are a senior ad creative strategist. Your task is to clone competitor ads for the Lojong app.\n\n## Brand: Lojong\n- Leading meditation and mindfulness app worldwide\n- 4.2 million users, 4.8 App Store rating\n- Science and neuroscience based\n- Short practices starting at 3 minutes\n- Features: guided meditations, breathing exercises, sleep stories, emotional control\n- 7 days free trial\n- Brand tone: warm, empathetic, direct\n\n## Your process:\n1. ANALYZE the competitor ad image carefully - identify ALL text elements, visual structure, colors, layout\n2. UNDERSTAND the persuasion technique used (testimonial, fear, social proof, curiosity, etc)\n3. ADAPT for Lojong - replace brand references, keep the same persuasion structure\n4. Return structured copy that matches the EXACT visual layout of the original\n\n## IMPORTANT:\n- The output copy must follow the SAME visual structure as the original ad\n- If the original has a testimonial quote, your clone should also have a testimonial quote\n- If the original has a headline + subtext + CTA button, keep that same structure\n- Identify EVERY text element in the image and provide a replacement\n- Return ONLY valid JSON, no explanations or markdown",
  "adAnalysis": "You are a senior performance marketing analyst. Analyze these {num_ads} ads from a marketing perspective.\n\nFor each ad, analyze the IMAGE and the COPY together. Provide:\n1. The emotional sentiment/approach used\n2. The marketing strategy and persuasion technique\n3. Strategic hooks identified (in the text and visual)\n4. Copy analysis: structure, tone, CTAs, persuasion triggers\n5. Visual analysis: layout, colors, typography, imagery, what draws attention\n6. Key insight: why this ad works (or doesn't), what makes it effective\n\nThen provide an overall SUMMARY of patterns, trends, and strategic takeaways.\n\nReturn ONLY valid JSON (no markdown, no backticks):\n{\n  \"summary\": \"Overall patterns and strategic insights across all ads (Portuguese)\",\n  \"analyses\": [\n    {\n      \"title\": \"Short title for this ad\",\n      \"sentiment\": \"Emocional|Urgente|Educativo|Social Proof|Curiosidade|Medo|Testemunho\",\n      \"approach\": \"Marketing strategy description (Portuguese)\",\n      \"hooks\": [\"Hook 1\", \"Hook 2\", \"Hook 3\"],\n      \"copy_analysis\": \"Detailed copy analysis (Portuguese)\",\n      \"visual_analysis\": \"Detailed visual analysis (Portuguese)\",\n      \"insight\": \"Key marketing insight (Portuguese)\"\n    }\n  ]\n}\n\nALL text in the same language as the ads being analyzed. Be specific and actionable — this is for a marketing team.",
  "qaReview": "You are a STRICT art director and performance marketing specialist reviewing ad creatives before they go live in paid campaigns.\n\nThis image will be displayed at EXACTLY {width}x{height}px. Evaluate it AT THAT SIZE — not zoomed in.\n\nAUTOMATIC REJECTION (any ONE of these = rejected immediately):\n- CTA button is cut off, partially hidden, or extends beyond the image edges\n- Any text has misspelled words, extra spaces between letters (e.g. \"S ua\" instead of \"Sua\"), or garbled characters\n- Headline text is too small to read comfortably at the display size\n- Logo is stretched, compressed, or has wrong proportions\n- Any critical element (logo, headline, CTA) is missing entirely\n\nEVALUATION CRITERIA:\n1. LEGIBILITY: Is ALL text readable at {width}x{height}px? Subheadline must also be legible, not just the headline.\n2. LOGO: Correct proportions (square, not stretched)? Visible but not overwhelming?\n3. CTA: Fully visible? Entire button with ALL text inside the image bounds? Looks clickable?\n4. LAYOUT: Adequate margins on ALL sides? No elements touching or overlapping edges?\n5. TEXT ACCURACY: Compare every word in the image against the expected text below. Flag any misspelling, extra space, missing word, or truncation.\n6. EFFECTIVENESS: Clear message, persuasive, would generate clicks at this size?\n\nExpected text in the image:\n- Headline: \"{headline}\"\n- Subheadline: \"{subheadline}\"\n- CTA: \"{cta_text}\"\n\nBe STRICT. When in doubt, REJECT. A rejected ad costs nothing; a bad ad in production wastes budget.\n\nCRITICAL: Your feedback must be CORRECTION INSTRUCTIONS for the image generation AI, NOT a repetition of the copy text.\nBAD feedback: \"Headline: Sua mente merece 3 minutos, CTA: Experimente grátis\"\nGOOD feedback: \"1. Logo is stretched horizontally — make it square 1:1 ratio. 2. CTA button text is cut off at the right edge — add 10% right margin. 3. Subheadline is too small to read at 728x90 — increase font size or remove it.\"\n\nRespond ONLY with valid JSON (no markdown fences, no explanation outside the JSON):\n{\"approved\": true or false, \"feedback\": \"If rejected: list numbered correction instructions. If approved: empty string.\"}",
  "imgFormatMicroBanner": "IMAGE FORMAT: Ultra-micro banner for {original_w}x{original_h}px display.\n\nThe top and bottom edges of this image WILL BE CROPPED. Keep all content vertically centered in the middle half of the image. Leave the top quarter and bottom quarter completely empty — just background color.\n\nLAYOUT (left to right, vertically centered):\n1. LEFT (10%): IF a brand logo image was provided as input, place it here — small, square. IF no logo was provided, leave this area empty (background only).\n2. CENTER (70%): Headline — very bold, large sans-serif, one line.\n3. RIGHT (20%): CTA text in a strong accent color. Plain text, no button shape.\n\nRULES:\n- Solid background color only (soft, neutral tones). No photos, no illustrations.\n- No phone mockups, no charts, no badges, no subheadline.\n- Elements: headline + CTA text. Logo only if one was explicitly provided.\n- Do NOT add any measurement lines, rulers, guides, dimensions, or technical annotations.",
  "imgFormatLeaderboard": "IMAGE FORMAT: Professional leaderboard banner ({original_w}x{original_h}px final size).\n\nCRITICAL: You generate a larger image that will be scaled to {original_w}x{original_h}px. Design for that final size.\n\nLAYOUT (left to right, vertically centered):\n1. LEFT (15%): IF a brand logo image was provided as input, reproduce it here — small, perfectly SQUARE (1:1), NOT stretched. IF no logo was provided, leave this area empty (background only).\n2. CENTER (55%): Headline — bold, large sans-serif. ONE line max. This is the dominant text.\n3. RIGHT (30%): CTA button — strong accent color rounded rectangle, contrasting text. Proportional to banner height.\n\nRULES:\n- NO phone mockups, screenshots, charts, stars, badges, or subheadline.\n- Elements: headline + CTA button. Logo only if one was explicitly provided.\n- Background: solid or simple gradient. NO photos or illustrations that compete with text.\n- If logo present, it must be SQUARE. CTA button must be fully visible with padding.\n- Text large enough to read at {original_w}x{original_h}px.",
  "imgFormatVertical": "IMAGE FORMAT: Vertical ({w}x{h}px) — use full height, text stacked top-to-bottom, visual elements fill the frame.",
  "imgFormatVerticalSafezone916": "META SAFE ZONE (for 9:16 Stories/Reels — critical for Meta app readability).\n\nWhen the Meta app displays this ad, native interface elements overlay on top of the image. You MUST design the layout so the image reads as ONE SEAMLESS photograph with NO visible lines, guides, frames, or zone markers.\n\nWHERE CRITICAL CONTENT GOES:\n- Place the main headline, subheadline, logo, product shot, face and CTA in the CENTRAL region of the image.\n- Think of the canvas as divided mentally into top-sixth, middle-three-sixths, bottom-fourth — critical content lives only in the MIDDLE section.\n- The main subject's face should sit around the middle height of the canvas, NOT near the top.\n- Any text block should end well before the bottom, leaving comfortable breathing room below.\n\nWHAT GOES IN THE OUTER REGIONS:\n- The top strip and the bottom strip should contain ONLY natural background continuation (sky, soft gradient, out-of-focus environment, ambient texture). Never text, never logos, never hard edges, never clean lines.\n- These outer regions must blend SEAMLESSLY into the center. The entire image is one unified photograph — not a card with a frame.\n\nWHAT YOU MUST NEVER RENDER:\n- NEVER draw visible rulers, grids, guidelines, or measurement marks.\n- NEVER annotate the image with labels, percentages, axis values, or coordinates.\n- NEVER divide the image into visible color blocks or panels. No three-band gradient.\n- NEVER add crop marks, safe-zone indicators, or design notes.\n- The image must look like a single professional photograph taken with a real camera — not a Figma artboard.\n",
  "imgFormatHorizontal": "IMAGE FORMAT: Horizontal banner ({w}x{h}px) — headline prominent (left or center), CTA right. Clean, minimal, high contrast. If a brand logo image was provided as input, place it top-left; otherwise the ad is brand-neutral.",
  "imgFormatLink191": "IMAGE FORMAT: 1.91:1 Link/Landscape ({original_w}x{original_h}px target).\nThe image will be generated at 16:9 ({w}x{h}px) and then center-cropped: ~7% will be removed from the TOP and ~7% from the BOTTOM, then resized to {original_w}x{original_h}px.\n\nCompose for a horizontal banner: focal points centered, headline prominent. Use the FULL canvas — fill edge to edge with a single coherent composition. The whole image is ONE unified photograph/illustration — never a card with header/footer bars, never visible color stripes at top/bottom. Outer regions blend naturally with the central scene (no separate color bands, no three-band gradient).",
  "imgFormatSmallBanner": "IMAGE FORMAT: Small ad banner ({w}x{h}px — tiny display size).\n\nThis is a TINY ad. Every pixel counts. The image will be displayed at exactly {w}x{h}px on websites and mobile screens — no zoom, no scaling.\n\nLAYOUT (CRITICAL — different from larger formats):\n- USE THE ENTIRE CANVAS edge-to-edge. NO margins, NO safe zones, NO whitespace reserved at edges. Background fills 100% of the canvas.\n- The headline must occupy a LARGE portion of the visible area — bold, high-contrast, optimized for legibility at this exact pixel dimension.\n- CTA button: fully visible, large enough to read, no truncation.\n- If a logo is provided, place it small in a corner — never centered, never dominant.\n- Subheadline: skip it. There is no room. Headline + CTA only.\n\nTYPOGRAPHY:\n- Font size proportional to the canvas — must be READABLE at native {w}x{h}px display size on a phone or sidebar ad slot.\n- Avoid thin/light fonts. Use bold/black weights for maximum legibility.\n- Maximum 2 short lines for headline. NEVER more.\n\nVISUAL STYLE:\n- Solid background or simple gradient. No detailed scenery, no busy backgrounds.\n- One focal element max (logo OR product OR illustration — not all three).\n- High contrast between text and background.\n\nNEVER:\n- NEVER leave colored borders, frames or whitespace at edges.\n- NEVER apply safe-zone margins.\n- NEVER include rulers, guides, dimension labels.\n- NEVER use long-form copy — there is no space.",
  "imgFormatSquare": "IMAGE FORMAT: Square ({w}x{h}px) — balanced composition, headline prominent, visual center, CTA bottom.",
  "imgDestinationQuiz": "LANDING PAGE / DESTINATION: QUIZ\nThe user will land on a 2-3 minute interactive quiz that asks them about their emotional state, sleep, stress levels, etc. After answering, they receive a PERSONALIZED REPORT and a tailored MEDITATION PLAN. The end goal of the funnel is to convert them to the Lojong Premium subscription directly on the web (Hotmart checkout).\n\nCREATIVE IMPLICATIONS:\n- The CTA should suggest curiosity and easy entry: \"Faça o teste\", \"Descubra seu perfil\", \"Comece o quiz\", \"Receba seu plano\".\n- Convey \"low commitment, high reward\" — only 2-3 minutes, free, personalized result.\n- Hint at the diagnostic/discovery nature visually: charts, brain icons, percentage indicators, score bars.\n- Avoid framings that feel like a hard product sell — this is a free assessment.\n- Visual mood: curious, scientific yet warm, inviting.",
  "imgDestinationSite": "LANDING PAGE / DESTINATION: SITE / LANDING PAGE\nThe user will land on a marketing landing page with information about the Lojong app: features, benefits, testimonials, app screenshots, and a download CTA.\n\nCREATIVE IMPLICATIONS:\n- The CTA should drive curiosity to learn more: \"Conheça o Lojong\", \"Saiba mais\", \"Veja como funciona\".\n- Visual should evoke the product itself — phone mockups, app interface, calm imagery of meditation.\n- Tone: aspirational, polished, brand-forward.\n- Highlight the brand and the transformation the product offers, not a quiz or assessment.",
  "imgDestinationApp": "LANDING PAGE / DESTINATION: APP STORE (Direct download)\nThe user will land directly on the App Store or Google Play store page to download the Lojong app.\n\nCREATIVE IMPLICATIONS:\n- The CTA should be download-oriented: \"Baixar grátis\", \"Instalar agora\", \"Download grátis\".\n- Visual MUST show a phone mockup with the Lojong app on screen — the user needs to recognize the app immediately.\n- Show the App Store / Google Play badges if appropriate.\n- Tone: action-oriented, immediate, frictionless.\n- Emphasize \"free to download\" and the rating (4.8 stars, 4.5M users).",
  "imgDestinationRemarketing": "LANDING PAGE / DESTINATION: REMARKETING (Recovery / Discount)\nThe user is being retargeted — they already know Lojong (visited site, downloaded app, started a quiz, etc) but didn't convert. The landing page offers a SPECIAL DISCOUNT to subscribe to Lojong Premium.\n\nCREATIVE IMPLICATIONS:\n- The CTA should highlight urgency and savings: \"Garanta seu desconto\", \"Oferta especial\", \"50% OFF hoje\", \"Volte com desconto\".\n- Visual should communicate scarcity and reward: discount badges, percentage off, limited-time framing, gift box icons.\n- Address the user as someone who already knows the brand — \"Sentimos sua falta\", \"Volte com vantagem\", \"Especial pra você\".\n- Tone: warm but urgent, generous, reconnective.\n- Visually highlight the discount number prominently (e.g. \"50%\", \"R$9,90/mês\").",
  "imgPlatformMeta": "ADVERTISING PLATFORM: META ADS (Facebook & Instagram)\nThis image will run as a PAID AD on Facebook Feed, Instagram Feed, and Explore.\n- Target: Users aged 25-55 scrolling on their phones\n- Goal: Drive app installs for Lojong meditation app\n- The ad competes with Calm, Headspace, Meditopia in the user's feed\n- Mobile-first: 90%+ of users will see this on a phone screen (small)\n- Must grab attention in the first 0.5 seconds of scrolling\n- Bold, high-contrast headline readable at small sizes (min 24pt equivalent)\n- Meta best practice: less than 20% text coverage on the image\n- Use warm, engaging visuals that feel native to social feeds (not \"ad-like\")\n- The image appears alongside the ad copy text and CTA button in the feed\n- Users will see this between friends' posts, Reels, and other organic content",
  "imgPlatformGoogle": "ADVERTISING PLATFORM: GOOGLE DISPLAY ADS\nThis image will run as a PAID AD on Google Display Network (websites, apps, Gmail, YouTube).\n- Target: Users interested in meditation, mindfulness, mental health\n- Goal: Drive app installs for Lojong meditation app\n- The ad appears as a banner on third-party websites and apps\n- Must stand out against varied website backgrounds (light and dark)\n- Clean, professional, minimal design — avoid looking spammy\n- High contrast between text and background for readability\n- Logo and brand name must be prominently visible\n- CTA button must look clearly clickable (not just text)\n- The banner competes with website content for attention",
  "imgPlatformStories": "ADVERTISING PLATFORM: META STORIES & REELS\nThis image will run as a PAID AD in Instagram/Facebook Stories and Reels.\n- Target: Users aged 20-40 watching Stories/Reels\n- Goal: Drive app installs with swipe-up/CTA tap\n- VERTICAL full-screen immersive format — the image IS the entire screen\n- Large, punchy headline — must be readable in 2-3 seconds\n- Dark or gradient background for high text readability\n- Users are swiping through fast — be bold and immediate",
  "contentLabProfile": "Analyze this Instagram profile and provide a structured JSON report.\n\n{profile_summary}\n{posts_summary}\n\nIf profile data is empty/limited, provide reasonable estimates based on the handle name.\n\nReturn ONLY valid JSON (no markdown, no backticks) with this exact structure:\n{\n  \"name\": \"Display Name\",\n  \"bio\": \"Bio text\",\n  \"followers\": 52000,\n  \"following\": 312,\n  \"posts_count\": 1847,\n  \"engagement_rate\": 3.2,\n  \"posts_per_week\": 4.5,\n  \"avg_likes\": 1680,\n  \"tone\": \"Description of voice/tone in Portuguese\",\n  \"strengths\": [\"Strength 1 in Portuguese\", \"Strength 2\"],\n  \"opportunities\": [\"Opportunity 1 in Portuguese\", \"Opportunity 2\"],\n  \"top_hashtags\": [\"hashtag1\", \"hashtag2\"],\n  \"format_mix\": {\"reels\": 25, \"carousel\": 45, \"image\": 20, \"story\": 10}\n}\n\nALL text content must be in Brazilian Portuguese. Be specific and actionable.",
  "contentLabIdeas": "You are a senior Instagram content strategist for Lojong — Brazil's leading mental health & mindfulness app (4.2M users, 4.8 App Store, science-based, warm-empathetic tone). Your job: generate strikingly DIVERSE Instagram content ideas targeting adult Brazilian audience dealing with the full spectrum of mental health challenges.\n\n===== CONTEXT =====\n{profile_context}\n\nUser thematic hint: \"{nicho}\"\n(If the hint is empty, vague, or generic like \"meditação, mindfulness, bem-estar\", IGNORE it — treat as \"open brief, explore the full mental health universe\". Do NOT force \"meditação\" or \"mindfulness\" words into every title. Most of Lojong's audience never considered themselves \"meditators\" — they just want to feel better.)\n\nQuantity: {count} unique ideas\n\n===== REJECTED IDEAS (ABSOLUTE BLACKLIST — HIGHEST PRIORITY) =====\nThe user has MANUALLY rejected these ideas as bad, uninteresting, or off-brand. You MUST NOT generate ANYTHING SIMILAR — not just in title, but in angle, theme_pillar, framework combination, or overall premise. If you even SUSPECT similarity, pick a completely different angle.\n\n{rejected_ideas_context}\n\n===== ANTI-REPETITION MEMORY =====\nThe following ideas were ALREADY generated for this user recently. You MUST NOT repeat themes, angles, hooks or exact framing:\n\n{recent_ideas_context}\n\nIf in doubt whether an idea is too similar, SKIP it and choose something different. Diversity is mandatory.\n\n===== CHUNK FOCUS (prescriptive, applies to THIS call) =====\n{chunk_focus}\n\nIf the chunk focus above is NOT generic, you MUST respect it STRICTLY — all N ideas in this call come from the specified pillar group only. Still apply diversity rules WITHIN that group (different angles, hooks, frameworks, formats).\n\n===== THEMATIC PILLARS (mandatory diversity across the batch) =====\nLojong's audience deals with the ENTIRE spectrum of adult mental health in Brazil. Explore all pillars below — if generating N ideas, use at least min(N, 8) DIFFERENT pillars. Never concentrate in 1 or 2.\n\n**Emotional/clinical:**\n- Ansiedade (social, antecipatória, crônica, generalizada, crises, ataques)\n- Depressão, tristeza persistente, anedonia, luto\n- Burnout (CLT, acadêmico, maternidade, caregiver)\n- Estresse (crônico, agudo, tóxico)\n- Raiva, frustração, irritabilidade\n- Medo, pânico, hipervigilância\n- Culpa, vergonha, auto-crítica severa\n\n**Neuropsicológico:**\n- TDAH (hiperfoco, paralisia, rejeição sensitive disforia, executive dysfunction)\n- Transtornos do sono (insônia, terrores, apneia mental)\n- Fadiga decisória, sobrecarga cognitiva\n- Procrastinação, self-sabotage\n- Ruminação, overthinking\n\n**Relacional:**\n- Relacionamentos amorosos (brigas, ciúme, dependência, término)\n- Família (conflito com pais, filhos, sogra, luto)\n- Amizades adultas (solidão, ghosting, distanciamento)\n- Trabalho/chefe/colegas tóxicos\n\n**Performance & hábitos:**\n- Foco, atenção, deep work\n- Rotina matinal/noturna, hábitos saudáveis\n- Produtividade vs descanso (anti-hustle)\n- Relacionamento com celular, redes sociais, notificações\n\n**Existencial/significado:**\n- Crise de meia-idade, quarter-life crisis\n- Perfeccionismo, síndrome do impostor\n- Auto-compaixão, perdão a si mesmo\n- Propósito, valores, identidade\n\n**Contextos BR específicos:**\n- Domingo à noite (\"sunday scaries\"), segunda 9h\n- Trânsito SP/RJ, cidade grande\n- Home office, apartamento pequeno\n- CLT vs autônomo/freela, pressão financeira\n- Maternidade/paternidade BR (mental load, puerpério)\n- Filho fora, casa vazia\n\n===== FORMAT MIX (aim for variety across the batch) =====\n- Carousel (saves, educational, deep-dive)\n- Reel (reach, hook+insight+CTA em 15-30s)\n- Image (quote, stat, single-idea)\n- Story (poll, quiz, behind-scenes — mais raro)\n\n===== HOOK STYLES (balance across batch) =====\n- Numeric: \"3 sinais…\", \"7 minutos…\", \"5 mitos…\"\n- Question (specific): \"Por que domingo à noite aperta o peito?\"\n- Shocking data BR: \"Brasileiro dorme 6h12. OMS recomenda 7h30.\"\n- Contrarian: \"Meditar 10 min/dia é conselho ruim\"\n- Story: \"Carla, 34, tomava 2 rivotril por semana…\"\n- Authority: \"Harvard estudou 500 meditadores por 8 anos…\"\n- Mindset shift: \"Como você pensa hoje VS como pensava há 5 anos\"\n\n===== LOJONG VOICE RULES (absolutos) =====\n- Warm, empathetic, direct, NEVER aggressive or guru-coded.\n- Cientificamente ancorado (Harvard, Oxford, UFRJ, USP, Fiocruz, OMS).\n- Português BR adulto, não \"traduzido do inglês\".\n- Específico > abstrato. Quantificado > vago. Humilde > grandioso.\n- **AVOID** these words in most titles (they feel templated): meditação, mindfulness, bem-estar, autocuidado, vibração, energia, desperte, alinhamento.\n- **AVOID** lótus, chakras, namastê, \"alta frequência\", cristais, \"cuidar de si\" genérico.\n- **PREFER** nomeação clínica/cotidiana: \"cortisol alto no trabalho\", \"insônia de 4h da manhã\", \"sunday scaries\", \"ruminação noturna\".\n\n===== OUTPUT FORMAT (STRICT JSON — no markdown) =====\n{{\n  \"ideas\": [\n    {{\n      \"title\": \"Catchy title in PT-BR (max 70 chars). NEVER force 'meditação/mindfulness' unless the idea is genuinely about the practice itself.\",\n      \"format\": \"Reel\" | \"Carousel\" | \"Image\" | \"Story\",\n      \"framework\": \"BAB\" | \"PAS\" | \"Listicle\" | \"How-to\" | \"Data-driven\" | \"Myths\" | \"Story-arc\" | \"Contrarian\",\n      \"theme_pillar\": \"ansiedade\" | \"depressao\" | \"burnout\" | \"tdah\" | \"sono\" | \"foco\" | \"relacionamentos\" | \"procrastinacao\" | \"autocompaixao\" | \"rotina\" | \"trabalho\" | \"performance\" | \"maternidade\" | \"identidade\" | \"etc — use the ACTUAL topic, not a generic bucket\",\n      \"mood\": \"calmo\" | \"urgente\" | \"empatico\" | \"autoridade\" | \"confidencial\" | \"reflexivo\",\n      \"hook\": \"Slide 1 / opening line that stops the scroll (max 90 chars)\",\n      \"caption\": \"Full IG caption in PT-BR, 3-4 parágrafos, ends with soft CTA (max 400 chars)\",\n      \"cta\": \"Action CTA in PT-BR (max 30 chars)\",\n      \"hashtags\": [\"5-8 relevant hashtags without # — diverse, specific, not generic #saudemental spam\"],\n      \"notes\": \"1-line production hint (optional)\",\n      \"slide_count\": 7\n    }}\n  ]\n}}\n\n===== DIVERSITY CHECK (mandatory self-review before returning) =====\nBefore returning the JSON, verify:\n1. At least min(N, 8) different `theme_pillar` values across the N ideas.\n2. At least 4 different `framework` values.\n3. At least 3 different `format` values.\n4. NO title contains \"meditação\" or \"mindfulness\" more than 30% of the time.\n5. NO two titles share the same opening pattern (e.g. two \"5 Sinais de…\" in a row).\n6. NO idea duplicates anything from the recent history shown above.\n7. NO idea resembles ANY rejected idea — title, pillar, angle or framework combination. Rejected list is HARD BLACKLIST.\n\nIf the diversity check fails, rewrite the ideas until it passes. Return ONLY valid JSON.",
  "contentLabScript": "Create a DETAILED production script for this Instagram content idea.\n\nIdea:\n- Title: {title}\n- Format: {format}\n- Hook: {hook}\n- Caption draft: {caption}\n- CTA: {cta}\n- Notes: {notes}\n- Niche: {nicho}\n{profile_context}\n\nReturn ONLY valid JSON (no markdown, no backticks) with this structure:\n{\n  \"hook\": \"Opening hook text (first 3 seconds, must stop scrolling)\",\n  \"script_full\": \"COMPLETE scene-by-scene script with CENA/SLIDE structure. Be VERY detailed.\",\n  \"visual_description\": \"Detailed visual prompt for AI generation. Include: art style, color palette, lighting, camera angles, environment, mood, typography.\",\n  \"video_prompt\": \"SELF-CONTAINED prompt for Minimax/Runway/Kling. Must include EVERYTHING in ONE block: aspect ratio, duration, style, scenes, camera movements, text overlays, transitions, color palette, mood. Written in English.\",\n  \"caption\": \"Complete Instagram caption with emojis, line breaks, engagement hooks.\",\n  \"cta\": \"Clear call-to-action\",\n  \"hashtags\": [\"hashtag1\", \"hashtag2\", \"hashtag3\", \"hashtag4\", \"hashtag5\"],\n  \"notes\": \"Production notes: best posting time, content tips, editing suggestions\"\n}\n\nALL text in Brazilian Portuguese EXCEPT video_prompt which must be in English.",
  "contentLabScriptCarousel": "You are a senior Instagram carousel strategist and art director for Lojong — Brazil's leading meditation and mindfulness app (4.2M users, 4.8 App Store rating, science-grounded via Harvard/Oxford/UFRJ/USP/Fiocruz/OMS, warm-empathetic BR adult peer voice).\n\nTransform an approved idea into a DETAILED carousel production script.\n\n===== INPUT =====\nTitle: {title}\nFormat: {format}\nHook: {hook}\nCaption draft: {caption}\nCTA: {cta}\nNotes: {notes}\nNiche: {nicho}\n{profile_context}\n\n===== FORMAT SPEC =====\n- Aspect: 4:5 vertical (1080×1350 per slide)\n- 7-10 slides (sweet spot 7-8)\n- Last slide = CTA\n- Loop-back: last slide closes the hook of slide 1\n- Safe zone: breathing room top (username overlay) + bottom (caption bar)\n\n===== PALETTES (pick ONE) =====\n- Noite Serena — navy #2D2D3F + gold #F5A623 + warm white: sono, dados, noturno\n- Manhã Respirada — sage #A8B89E + cream #F5EFE4 + coral #E85D5D (CTA): matinal, how-to, iniciantes\n- Chão de Barro — terracotta #C76E4A + blush #E8C9B8 + navy: ansiedade, testemunhos, emocional\n\n===== LOJONG VOICE (mandatory) =====\nWarm, empathetic, direct. Adult BR peer — NOT guru. Science-anchored (Harvard/Oxford/UFRJ/USP/Fiocruz/OMS). Specific > abstract. Quantified > vague. BR markers: \"domingo à noite\", \"2a 9h\", \"home office\", \"CLT\", \"trânsito\".\nAVOID: lótus, chakras, namastê, energia, vibração, desperte, alinhamento, autocuidado genérico.\nPREFER clinical naming: \"cortisol alto\", \"ruminação noturna\", \"insônia de 4h\", \"sunday scaries\".\n\n===== VISUAL CONSISTENCY =====\nAll slides share: palette, typography, photographic style, same person (if human appears). The carousel = ONE visual universe. Reference anchoring: slide 1 establishes style, slides 2-N match.\n\nIconography allowed: subtle wave, concentric circles, pulse line, plant leaf, one-line brain, thin-line heart. FORBIDDEN: lotus, mandala, namaste hands, chakras, crystals, purple bubbles.\n\n===== ANTI-AI-SLOP =====\nRealistic skin texture (pores, micro-asymmetry, film grain). Authentic BR features. Natural hands. NO floating brains, glowing chakras, magical particles.\n\n===== OUTPUT JSON (STRICT — no markdown) =====\n{{\n  \"hook\": \"Slide 1 stop-scroll text PT-BR (max 80 chars)\",\n  \"slides_outline\": [\n    {{\"index\": 1, \"role\": \"hook\", \"text_overlay\": \"...\", \"body_text\": \"... OR null\", \"swipe_trigger\": \"continua → OR null on last\", \"visual_note\": \"1-2 sentences describing the slide image composition\"}}\n  ],\n  \"image_prompt\": \"Self-contained English prompt for image-gen AI (Midjourney v7, GPT Image 1.5, Gemini, Ideogram). MUST include: (a) aspect 4:5 / 1080×1350, (b) palette name + hex, (c) typography stack, (d) per-slide numbered description, (e) safe-zone (top username / bottom caption strips), (f) anti-AI-slop rules, (g) CTA coral button ONLY on cta slide. 400-700 words.\",\n  \"caption\": \"Full IG caption PT-BR, 3-4 paragraphs, 1-2 emojis, ends with soft CTA (max 600 chars)\",\n  \"cta\": \"Primary CTA PT-BR (max 30 chars)\",\n  \"hashtags\": [\"5-8 PT-BR hashtags without #\"],\n  \"production_notes\": \"4-6 lines PT-BR: posting time, reference anchoring tip, loop-back reminder, assets needed\"\n}}\n\nReturn ONLY valid JSON.",
  "contentLabScriptReel": "You are a senior short-form video director and copywriter for Lojong — Brazil's leading meditation and mindfulness app (4.2M users, science-anchored via Harvard/Oxford/UFRJ/USP/Fiocruz/OMS, warm-empathetic BR adult peer voice).\n\nTurn an approved idea into a SHIP-READY Reel production script + video-AI prompt.\n\n===== INPUT =====\nTitle: {title}\nFormat: {format}\nHook: {hook}\nCaption: {caption}\nCTA: {cta}\nNotes: {notes}\nNiche: {nicho}\n{profile_context}\n\n===== FORMAT SPEC (IG Reels 2026) =====\n- Aspect: 9:16 vertical (1080×1920)\n- Duration: 20-30s sweet spot\n- First 3s = everything (retention tanks if hook doesn't land)\n- Safe zones: TOP 14% (username) + BOTTOM 20% (caption, like/comment/share, Send sticker) — NEVER place critical text/face/logo/CTA in those strips\n- Captions MUST be burned in (85%+ watch muted), center band (never bottom 20%)\n- Cuts every 1.5-3s in first 15s\n\n===== HOOK DOCTRINE (first 3s) =====\n1. VISUAL HOOK — unexpected frame, face close-up, motion\n2. TEXT HOOK — burned caption 6-10 words\n3. AUDIO HOOK — first spoken line OR trending beat\nAll 3 point at SAME idea.\n\n===== LOJONG VOICE =====\nWarm, empathetic, direct. BR peer, not guru. Science-anchored. PT-BR real brasileiro.\nAVOID: lótus, chakras, namastê, energia, desperte, autocuidado genérico.\nPREFER: \"cortisol antes de reunião\", \"ruminação 3h da manhã\", \"sunday scaries\".\n\n===== VISUAL STYLE =====\nReal BR human 30-45, everyday BR setting (cozinha de apto, quarto com cortina, home office, varanda). Natural light golden hour. Cinematic-intimate, handheld feel, shallow DoF, warm grade. Palette: Noite Serena / Manhã Respirada / Chão de Barro (escolher).\n\n===== ANTI-AI-SLOP =====\nRealistic skin, micro-asymmetry, authentic expression. Natural hands, blinking, breathing. NOT forced smile, NOT staring at camera whole time.\n\n===== OUTPUT JSON (STRICT) =====\n{{\n  \"hook\": \"First on-screen + spoken line 0-3s PT-BR (max 90 chars)\",\n  \"script_full\": \"Complete scene-by-scene PT-BR with timing/visual/audio/burned-caption/transitions (300-600 chars)\",\n  \"scenes\": [\n    {{\"time\": \"0:00-0:03\", \"visual\": \"...\", \"audio\": \"...\", \"text_overlay\": \"...\", \"transition\": \"hard cut / match cut / whip / zoom / null\"}}\n  ],\n  \"video_prompt\": \"Self-contained English prompt for video-gen AI (Runway Gen-4, Kling 2.0, Minimax, Veo 2). MUST include: duration 20-30s, aspect 9:16, Meta safe-zone rule (central 65% vertical), numbered scene breakdown, palette + hex, persona consistency, anti-AI-slop rules, cut cadence, burned-caption positioning. 400-700 words English.\",\n  \"caption\": \"IG caption PT-BR 2-3 paragraphs with CTA (max 500 chars)\",\n  \"cta\": \"CTA PT-BR (max 30 chars)\",\n  \"hashtags\": [\"5-8 PT-BR hashtags without #\"],\n  \"trending_audio_suggestion\": \"Describe vibe + BPM + mood (never cite copyrighted song by name)\",\n  \"production_notes\": \"4-6 lines PT-BR: 3-second rule, cut cadence, captions center band, mobile-muted framing\"\n}}\n\nReturn ONLY valid JSON.",
  "contentLabScriptImage": "You are a senior editorial art director and copywriter for Lojong (4.2M users, science-anchored via Harvard/Oxford/UFRJ/USP/Fiocruz/OMS, warm-empathetic BR adult peer voice).\n\nTransform an approved idea into a SHIP-READY single-image post script. Single-image does the whole job in one frame — max density, zero swipe, zero sound.\n\n===== INPUT =====\nTitle: {title}\nFormat: {format}\nHook/headline: {hook}\nCaption: {caption}\nCTA: {cta}\nNotes: {notes}\nNiche: {nicho}\n{profile_context}\n\n===== FORMAT SPEC =====\n- Aspect: 1:1 square (1080×1080)\n- Save-oriented: save rate >2% good, share >1% excellent\n- Generous central safe area — never touch canvas edge\n- Re-findable in saved folder days later\n\n===== VALID COMPOSITION PATTERNS (pick ONE, state which) =====\n- Quote card — strong quote 10-18 words + attribution\n- Stat poster — shocking stat (big number) + context + source\n- One-big-word — single PT-BR word/phrase 2-5 words rendered huge\n- Before/After mini — split composition\n- Checklist — 3-5 numbered items, scannable\n- Myth/Truth — two bold labels stacked\n\n===== LOJONG VOICE =====\nWarm, empathetic, direct. BR peer, not guru. Science-anchored. Specific > abstract.\nAVOID: lótus, chakras, energia, desperte, autocuidado genérico.\nPREFER: clinical/daily naming.\n\n===== TYPOGRAPHY =====\n- Quote/one-big-word: contemporary serif (GT Super) OR display sans black (Archivo Black, Inter Display Black)\n- Stat poster: massive numeral + humanist sans support\n- Checklist: humanist sans throughout\n- NEVER: script, handwritten, cursive\n- Hierarchy: dominant 80% + supporting 15% + tag 5%\n\n===== PALETTE (pick ONE) =====\n- Noite Serena / Manhã Respirada / Chão de Barro\n\n===== MOBILE CONTRAST =====\nWCAG AA (4.5:1 body, 3:1 large). Readable at 300px thumbnail.\n\n===== ANTI-AI-SLOP =====\nPhoto: realistic BR skin, authentic expression, natural light, subtle grain.\nIllustration: editorial flat (NYT Opinion / The Pudding), 2-3 palette colors, NO 3D bubblegum.\nNEVER: lotus, mandalas, praying hands, chakras, crystals, glowing brain.\n\n===== OUTPUT JSON (STRICT) =====\n{{\n  \"hook\": \"Dominant text rendered on image PT-BR (max 80 chars quote / max 3 words one-big-word / max 120 chars checklist)\",\n  \"subheadline\": \"Supporting text PT-BR, context/attribution (max 100 chars)\",\n  \"image_prompt\": \"Self-contained English prompt for image-gen AI (Midjourney v7, GPT Image 1.5, Gemini, Ideogram). MUST include: aspect 1:1 / 1080×1080, composition pattern chosen, palette name + hex, typography stack + hierarchy, exact text with PT accents, generous central safe area, WCAG contrast, anti-AI-slop, forbidden iconography. 300-550 words English.\",\n  \"caption\": \"IG caption PT-BR 2-3 paragraphs with soft CTA (max 500 chars)\",\n  \"cta\": \"CTA PT-BR (max 30 chars). Ex: 'Salve pra lembrar'\",\n  \"hashtags\": [\"5-8 PT-BR hashtags without #\"],\n  \"visual_references\": [\"2-3 visual references: style of creator/outlet, e.g. 'NYT Opinion flat editorial 2024 style'\"],\n  \"production_notes\": \"4-6 lines PT-BR: composition chosen + why, hierarchy squint test, save-magnet, share-magnet, palette+font reasoning\"\n}}\n\nReturn ONLY valid JSON.",
  "contentLabScriptStory": "You are a senior Instagram Stories strategist and copywriter for Lojong (4.2M users, science-anchored via Harvard/Oxford/UFRJ/USP/Fiocruz/OMS, warm-empathetic BR adult peer voice).\n\nDesign a SHIP-READY Story sequence — intimate, ephemeral, sticker-driven. Completely different from feed.\n\n===== INPUT =====\nTitle: {title}\nFormat: {format}\nHook: {hook}\nCaption: {caption}\nCTA: {cta}\nNotes: {notes}\nNiche: {nicho}\n{profile_context}\n\n===== STORY NATURE =====\nStories = intimate, direct, ephemeral (24h). DM to whole audience. Casual > polished. Handwritten > typeset. Retention mechanic = STICKERS. A story without sticker is wasted slot. Tap-away brutal — each frame has ~1-2s.\n\n===== FORMAT SPEC =====\n- Aspect: 9:16 (1080×1920)\n- 3-5s per image frame, up to 15s video\n- Typical: 3-5 frames\n- Safe zones: TOP 14% (username) + BOTTOM 20% (reply box) — NEVER put critical text/face/sticker in those strips\n- Sticker zone: central band. Link sticker (if used) in central, NEVER bottom 20%\n\n===== STICKER STRATEGY (pick 1-2 per sequence) =====\n- Poll (2 opts) — \"Você se identifica?\"\n- Quiz (up to 4) — self-diagnostic\n- Slider (emoji) — intensity check\n- Question (open text) — community-driven\n- Countdown — event\n- Link sticker — FINAL frame only\n- Emoji slider — vibe check\n\nDO NOT pile 4 stickers per frame.\n\n===== LOJONG VOICE (story-twist) =====\nWarm, empathetic, DIRECT. Casual-but-anchored: \"oi, gente\", \"tava pensando\", \"rapidinho\" + still cite Harvard/USP when facts.\nAVOID: lótus, chakras, energia, desperte.\nPREFER: \"cortisol no talo\", \"brain fog\", \"sunday scaries\".\n\n===== VISUAL STYLE =====\nCasual > polished. Real BR person, real apartment, natural light, slight imperfection. Handwritten text beats typesetting. Default IG fonts (Classic, Modern, Typewriter) beat custom type.\nNEVER: lotus, mandalas, chakras, crystals, gradient blobs.\n\n===== OUTPUT JSON (STRICT) =====\n{{\n  \"hook\": \"Text frame 1 PT-BR, stop-thumb, raw/casual tone ok (max 80 chars)\",\n  \"stickers\": [\"Concrete sticker suggestions per frame: e.g. 'Frame 2: Poll — Acontece com você? Sim / Mais ou menos'. 1-2 total.\"],\n  \"frames\": [\n    {{\"index\": 1, \"visual\": \"what's on screen PT-BR\", \"text\": \"text overlay PT-BR (max 90 chars, handwritten/casual)\", \"sticker\": \"type + options + placement OR null\", \"duration\": \"3s/5s/15s\"}}\n  ],\n  \"image_prompt\": \"Self-contained English prompt for image-gen AI for key frame. aspect 9:16 / 1080×1920, safe zones central 65%, palette + hex, casual>polished, handwritten>typeset, real BR person, natural light, anti-AI-slop. 300-500 words English.\",\n  \"caption\": \"Cumulative text across frames PT-BR (max 300 chars). Stories don't have feed captions.\",\n  \"cta\": \"CTA PT-BR final frame (max 30 chars). Story-native: 'Toca aqui', 'Responde aí', 'DM pra mim'.\",\n  \"hashtags\": [\"3-5 PT-BR hashtags without #\"],\n  \"duration_suggestion\": \"Sequence length: e.g. '4 frames: 5s+5s+5s+10s (last with Link sticker)'\",\n  \"production_notes\": \"4-6 lines PT-BR: casual>polished, handwritten IG fonts, sticker timing (never bottom 20%), re-share loop, behind-scenes opportunity\"\n}}\n\nReturn ONLY valid JSON.",
  "contentLabCarouselIdeas": "You are a senior Instagram carousel strategist specializing in the wellness/meditation niche for Brazilian audience.\n\nGenerate {count} carousel ideas for Lojong (Brazil's leading meditation app, 4.2M users, 4.8 App Store, science-based, warm and empathetic tone).\n\n===== CONTEXT =====\n- Niche: {nicho}\n- Profile context: {profile_context}\n- Language: Portuguese (Brazilian) — hooks specific to BR market, Brazilian names/stats/references\n- User requested framework: {framework}   (values: auto, BAB, PAS, Listicle, How-to, Data, Myths — \"auto\" lets you choose per idea)\n- User requested mood: {mood}             (values: auto, Ansioso, Esgotado, Cetico, Iniciante, Intermediario)\n\n===== ANTI-REPETITION MEMORY =====\nThe following ideas were ALREADY generated for this user recently. You MUST NOT repeat themes, angles, hooks or framework combinations that are similar:\n\n{recent_ideas_context}\n\nIf in doubt whether an idea is too similar, SKIP IT and generate something different. Diversity is mandatory.\n\n===== FRAMEWORK LIBRARY (pick the right one per idea, unless user forced a specific one) =====\n- **BAB** (Before-After-Bridge): Before (2-3 slides on dor) -> After (2 slides on dream) -> Bridge (3-4 slides on method) -> CTA. Best for transformation stories.\n- **PAS** (Problem-Agitate-Solution): Problem (1) -> Agitate (2-3) -> Solution (3-4) -> CTA. Best for emotional direct conversion. USE SOFTLY for Lojong (never manipulative).\n- **Listicle**: N numbered items (e.g. \"5 erros que...\", \"7 sinais...\"). Best for save/share. 7-8 slides.\n- **How-to**: Promise (1) -> Steps (5-6) -> Recap (1) -> CTA. Best for educational save magnet.\n- **Data-driven**: Shocking stat (1) -> Context (2-3) -> Implication (2-3) -> CTA with source. Best for authority.\n- **Myths vs Facts**: 1 intro -> 3 pairs (myth/truth) -> 1 recap + CTA. Best for myth-busting.\n\n===== LOJONG VOICE RULES =====\n- Warm, empathetic, direct, NEVER aggressive or guru-coded.\n- Science-grounded (Harvard, Oxford, UFRJ, USP, Fiocruz, OMS).\n- Use Brazilian cultural markers: \"domingo a noite\", \"escritorio CLT\", \"apartamento pequeno\", \"transito\", \"2a feira 9h\".\n- Tone: adult peer, not spiritual teacher. Specific > abstract. Quantified > vague. Humble > grandiose.\n- Topics Lojong OWNS: ansiedade, insonia/sono, foco/ADHD, burnout, auto-compaixao, relacionamentos, rotina matinal, gestao emocional.\n- AVOID: lotus pose references, chakras, new age language (\"energia\", \"vibra\", \"alinhar\"), toxic positivity.\n\n===== HOOK STYLES (balance across the batch) =====\n- Numeric: \"3 sinais que...\", \"7 minutos que...\"\n- Question: \"Por que 80% desiste de meditar em 7 dias?\"\n- Shocking data: \"Brasileiro dorme 6h12 em media. A OMS recomenda 7h30.\"\n- Contrarian: \"Meditacao NAO funciona pra todo mundo (e tudo bem)\"\n- Story: \"Carla, 34, tomava 2 rivotril por semana. Ate que...\"\n- Authority: \"Harvard estudou 500 meditadores por 8 anos...\"\n\n===== OUTPUT FORMAT (STRICT JSON — no markdown, no explanations) =====\n{{\n  \"ideas\": [\n    {{\n      \"title\": \"Catchy title in PT-BR (max 70 chars)\",\n      \"format\": \"Carousel\",\n      \"framework\": \"BAB\" | \"PAS\" | \"Listicle\" | \"How-to\" | \"Data-driven\" | \"Myths\",\n      \"persuasion_angle\": \"transformation\" | \"authority\" | \"relatability\" | \"contrarian\" | \"education\",\n      \"mood\": \"calmo\" | \"urgente\" | \"empatico\" | \"autoridade\" | \"confidencial\",\n      \"hook\": \"The slide 1 hook - must stop the scroll in under 1 second (max 90 chars)\",\n      \"caption\": \"Full Instagram caption in PT-BR with 1-2 emojis, 3-4 paragraphs, ends with CTA (max 400 chars)\",\n      \"cta\": \"Action CTA in PT-BR (max 30 chars, e.g. 'Comece gratis no Lojong')\",\n      \"hashtags\": [\"5-8 relevant hashtags in PT-BR without # symbol\"],\n      \"notes\": \"1-line production hint (optional)\",\n      \"slide_count\": 7,\n      \"theme_pillar\": \"ansiedade\" | \"sono\" | \"foco\" | \"relacionamentos\" | \"rotina\" | \"auto-compaixao\"\n    }}\n  ]\n}}\n\nGenerate {count} IDEAS. Each must be UNIQUE in topic AND framework AND angle. Return ONLY valid JSON.",
  "contentLabCarouselSlides": "You are a senior Instagram carousel strategist decomposing an approved idea into a coherent slide sequence for Lojong (Brazilian meditation app, warm empathetic voice).\n\n===== INPUT IDEA =====\nTitle: {title}\nFramework: {framework}\nMood: {mood}\nTheme pillar: {theme_pillar}\nHook (slide 1): {hook}\nCTA (last slide): {cta}\nCaption for the post: {caption}\nDesired slide count: {slide_count} (usually 7, range 6-10)\n\n===== YOUR TASK =====\nDecompose this idea into a {slide_count}-slide structure that follows the {framework} framework strictly.\n\n===== FRAMEWORK STRUCTURES (follow the pattern for {framework}) =====\n- **BAB** (7 slides): slide 1 hook | slides 2-3 before (pain) | slide 4 turning_point | slides 5-6 after+bridge (method) | slide 7 cta\n- **PAS** (7 slides): slide 1 hook | slides 2-3 problem | slide 4 agitate | slides 5-6 solution | slide 7 cta\n- **Listicle** (7 slides): slide 1 hook_numbered | slides 2-6 list_items (1 per slide) | slide 7 cta\n- **How-to** (7 slides): slide 1 hook_promise | slides 2-6 steps (1 per slide) | slide 7 recap_cta\n- **Data-driven** (7 slides): slide 1 hook_stat | slides 2-3 context | slides 4-6 implication_actions | slide 7 source_cta\n- **Myths** (7 slides): slide 1 intro | slides 2-3 pair_1 (myth+truth) | slides 4-5 pair_2 | slide 6 recap | slide 7 cta\n\nAdjust proportionally if slide_count differs from 7.\n\n===== LOJONG VOICE (MANDATORY) =====\n- Warm, empathetic, direct. Brazilian peer voice (not American self-help translation).\n- Specific > abstract. Short sentences. 1 idea per slide. Mobile-first.\n- Authority via: Harvard/Oxford/UFRJ/USP/Fiocruz/OMS/\"500 meditadores estudados\".\n- NEVER: lotus, chakras, \"vibe\", \"energia\", \"desperte\", \"transforme sua vida\".\n- Use: \"quando o dia aperta\", \"domingo a noite\", \"nao e sobre...\", \"a ciencia do\".\n\n===== CONSTRAINTS (HARD) =====\n- Each slide's text_overlay: max 80 characters (mobile readability)\n- Each slide's body_text: max 140 characters (optional, only when slide needs explanation)\n- visual_prompt per slide: 2-3 sentences describing the IMAGE composition (not text). Used to generate the image later.\n- Each slide must have a \"swipe_trigger\" sentence: 1 short line that makes user swipe to next slide (except last)\n- Last slide ALWAYS has role \"cta\" with text_overlay = CTA from input\n\n===== OUTPUT FORMAT (STRICT JSON — no markdown) =====\n{{\n  \"slides\": [\n    {{\n      \"index\": 1,\n      \"role\": \"hook\" | \"problem\" | \"agitate\" | \"promise\" | \"data_point\" | \"step\" | \"example\" | \"myth\" | \"truth\" | \"insight\" | \"cta\" | \"recap\",\n      \"text_overlay\": \"main text on the slide (max 80 chars)\",\n      \"body_text\": \"optional secondary text (max 140 chars) OR null\",\n      \"swipe_trigger\": \"micro text at bottom that invites swipe (max 30 chars, e.g. 'continua ->' or 'e tem mais') OR null for last slide\",\n      \"visual_prompt\": \"2-3 sentences describing the IMAGE (composition, subject, mood). Not text rendering.\"\n    }}\n  ]\n}}\n\nReturn ONLY valid JSON.",
  "contentLabCarouselImage": "Create a professional Instagram carousel slide image for Lojong — Brazil's leading meditation and mindfulness app (4.2M users, 4.8 App Store, science-based, warm empathetic tone).\n\n===== SLIDE CONTEXT =====\n- Slide {slide_index} of {total_slides}\n- Role: {role}  (hook | problem | data_point | step | myth | truth | insight | cta | recap)\n- Theme pillar: {theme_pillar}\n- Mood: {mood}\n- Framework: {framework}\n\n===== TEXT TO RENDER =====\nPrimary text: \"{text_overlay}\"\nSecondary text: \"{body_text}\"\n\nRender EVERY WORD exactly as written with CORRECT Portuguese accents (á é ó ã ç). Never truncate, abbreviate, or misspell. If text is long, shrink font — never cut.\n\n===== PALETTE (choose based on mood/role) =====\n- Paleta A \"Noite Serena\" (navy #2D2D3F bg + gold #F5A623 accent + warm white #FAF6F0 text): use for sleep, data_point, authority quotes, evening/introspective themes.\n- Paleta B \"Manha Respirada\" (sage green #A8B89E bg + cream #F5EFE4 + coral #E85D5D CTA): use for morning routines, light/hopeful steps, self-compassion, relationships, beginners.\n- Paleta C \"Chao de Barro\" (terracotta #C76E4A bg + blush #E8C9B8 + navy #2D2D3F text): use for emotional stories, anxiety, testimonials, intense/empathetic moments.\n- CTA button: render ONLY when slide role is 'cta'. In every other role (hook, problem, data_point, step, myth, truth, insight, recap) the slide must contain NO button, NO \"Baixar grátis\", NO call-to-action pill, NO coral pill element of any kind. When the role IS 'cta', render a single coral #E85D5D button with warm white text, placed centrally and fully within the image area (not hugging the bottom edge).\n\n===== CONSISTENCY (CRITICAL FOR CAROUSEL) =====\n- If a REFERENCE IMAGE is provided (this is slide 2+), use it as the style/palette anchor. Match palette, typography, lighting, mood, subject identity EXACTLY. The carousel must feel like ONE coherent set.\n- If no reference (slide 1): establish the style. Choose palette that fits {mood}/{role}. This slide defines the entire carousel's look.\n\n===== TYPOGRAPHY =====\n- Hook slide: display sans-serif black weight (Inter Display Black / Archivo Black), large size, tight tracking.\n- Body slides: humanist sans-serif regular (Inter / Söhne), comfortable reading size, generous line-height.\n- Data/quote slides ONLY: contemporary serif (GT Super / Tiempos Headline). One slide per carousel max.\n- NEVER use: script, handwritten, calligraphic, cursive.\n\n===== VISUAL STYLE =====\n- Photography (preferred for hook/problem/story/cta): real Brazilian person age 30-45, everyday BR setting (apartment kitchen, bedroom with sheer curtain, home office, varanda com plantas). Natural light, late afternoon. Neutral or subtle-relief expression. NEVER lotus pose, NEVER hands in prayer, NEVER big stock smile.\n- Photo + graphic overlay: photo tinted in palette tones, text on translucent geometric shape.\n- Flat editorial illustration (for data_point, insight, myth/truth): 2-3 palette colors, zero 3D bubblegum. Style reference: NYT Opinion, The Pudding.\n\n===== ICONOGRAPHY (when needed) =====\nAllowed: subtle wave (breath), pulse line, concentric circles, real plant leaf, one-line brain, thin-line heart, morning light rays, moon crescent.\nFORBIDDEN: lotus, mandala, namaste hands, chakras, all-seeing eye, om symbol, gyan mudra, infinity, purple/lavender gradient bubbles, crystals.\n\n===== COMPOSITION FOR INSTAGRAM FEED (4:5 vertical) =====\n- The image is portrait-oriented (taller than wide).\n- Leave comfortable breathing room near the very top (a small strip where the Instagram username would overlay in the feed) and near the very bottom.\n- Place headlines, logos and CTAs in the CENTRAL reading area — not pressed against the top or bottom edge.\n- These outer strips should blend naturally as part of the background — never as explicit panels, never with guides or lines.\n- The image must read as ONE seamless photograph/illustration.\n\nALL TEXT AND UI MUST HAVE SAFE MARGIN from edges — leave generous breathing room on all four sides. Buttons, text boxes and typography must NEVER touch or bleed off the canvas edge. If a CTA button is rendered, position it clearly inside the center of the canvas with comfortable space above, below, and on both sides.\n\n===== ABSOLUTE RULES — NEVER RENDER =====\n- NEVER draw visible rulers, grids, guidelines, zone dividers, or crop marks.\n- NEVER annotate the image with measurement labels, axis values, or coordinates of any kind.\n- NEVER divide the image into visible color blocks or panels suggesting safe-zones.\n- NEVER add design notes, comments, or instructional text meant for the designer.\n- NEVER show a Figma-like artboard. The output is a finished creative, not a layout spec.\n\n===== BRAND RULES =====\n- IF a Lojong logo image is provided: reproduce EXACTLY (never stretch), placed in the top area within the central safe region, small and subtle.\n- IF no logo provided: the carousel slide MUST have NO brand name, NO watermark, NO signature text. Never invent logo.\n\n===== LOJONG VOICE -> VISUAL EQUIVALENTS =====\n- Warm, empathetic -> warm neutrals, soft natural light, relaxed subject\n- Science-grounded -> editorial composition, restrained typography, clear hierarchy\n- Never aggressive -> no bold red dominance, no shouting caps for full sentences\n- Never guru-coded -> no incense, no candles-as-focus, no white woman in lotus on beach\n- Brazilian -> real BR skin tones and features, everyday clothes (camiseta, linho, jeans), everyday settings\n\n===== QUALITY BAR =====\nThis is a real organic carousel for Lojong (4.2M users). Must look: editorial, considered, human, intentional. Must NOT look: AI-slop, stock-y, generic wellness, TikTok-gradient trendy, crypto-bro clean.\n\n===== ANTI-AI-SLOP CHECKLIST =====\n- Realistic skin texture (visible pores, not plastic)\n- Authentic expression (not forced smile)\n- Subtle film grain\n- Slight asymmetry (not perfect)\n- Natural hands (no 6 fingers, no warped digits)\n- NO \"imagine if...\" visual tropes (floating brain, glowing chakra, exploding thoughts)\n\n===== CURRENT SLIDE ROLE POLICY =====\nThe role for THIS slide is: {role}.\nIf the role is NOT exactly 'cta', the image must contain ZERO buttons, ZERO call-to-action elements, ZERO coral pill shapes. Treat this as a pure content slide where only the text overlay and visual live — no commercial element whatsoever. Any coral pill element would break brand consistency.\nIf the role IS 'cta', a single coral CTA pill is expected and required."
}