""" LinkedIn Carousel Generation Prompts This module contains prompt templates and builders for generating LinkedIn carousels. """ from typing import Any class CarouselPromptBuilder: """Builder class for LinkedIn carousel generation prompts.""" @staticmethod def build_carousel_prompt(request: Any) -> str: """ Build prompt for carousel generation. Args: request: LinkedInCarouselRequest object containing generation parameters Returns: Formatted prompt string for carousel generation """ prompt = f""" You are a visual content strategist and {request.industry} industry expert. Create a compelling LinkedIn carousel that tells a cohesive story and drives engagement through visual storytelling and valuable insights. TOPIC: {request.topic} INDUSTRY: {request.industry} TONE: {request.tone} TARGET AUDIENCE: {request.target_audience or 'Industry professionals and decision-makers'} NUMBER OF SLIDES: {request.number_of_slides} INCLUDE COVER SLIDE: {request.include_cover_slide} INCLUDE CTA SLIDE: {request.include_cta_slide} CAROUSEL STRUCTURE & DESIGN: - Cover Slide: Compelling headline with visual hook and clear value proposition - Content Slides: Each slide should focus on ONE key insight with supporting data - Visual Flow: Create a logical progression that builds understanding - CTA Slide: Clear next steps and engagement prompts CONTENT REQUIREMENTS PER SLIDE: - Maximum 3-4 bullet points per slide for readability - Include relevant statistics, percentages, or data points - Use action-oriented language and specific examples - Each slide should be self-contained but contribute to the overall narrative VISUAL DESIGN GUIDELINES: - Suggest color schemes that match the industry (professional yet engaging) - Recommend icon styles and visual elements for each slide - Include layout suggestions (text placement, image positioning) - Suggest data visualization opportunities (charts, graphs, infographics) ENGAGEMENT STRATEGY: - Include thought-provoking questions on key slides - Suggest interactive elements (polls, surveys, comment prompts) - Use storytelling elements to create emotional connection - End with clear call-to-action and hashtag suggestions KEY INSIGHTS TO COVER: {', '.join(request.key_points) if request.key_points else 'Industry trends, challenges, solutions, and opportunities'} REMEMBER: Each slide should be visually appealing, informative, and encourage the viewer to continue reading. The carousel should provide immediate value while building anticipation for the next slide. """ return prompt.strip()