Influencer Campaign Planner
Run ID: 69cc11e804066a6c4a1691562026-03-31Marketing
PantheraHive BOS
BOS Dashboard

Plan an influencer marketing campaign with ideal influencer profiles, outreach templates, contract terms, content guidelines, and ROI tracking framework.

Influencer Campaign Planner: Audience Analysis (Step 1 of 3)

1. Introduction & Objective

This document outlines a comprehensive analysis of the target audience for your upcoming influencer marketing campaign. Understanding your audience deeply is the cornerstone of a successful campaign, ensuring that your message resonates, reaches the right people, and drives desired actions.

For the purpose of this analysis, we will assume your brand, TerraGlow, is launching a new line of sustainable, eco-friendly skincare products. The primary objective is to build brand awareness, drive product trials, and cultivate a community passionate about sustainable beauty.

2. Primary Target Audience Profile: "The Conscious Consumer"

2.1. Demographics

  • Age: 18-35 years old (Gen Z & Young Millennials)
  • Gender: Primarily female (65%), with a significant and growing male and non-binary demographic (35%) interested in ethical grooming.
  • Location: Urban and suburban areas in developed countries (e.g., North America, Western Europe, Australia). Digitally native, often residing in areas with higher access to e-commerce and awareness of global issues.
  • Income Level: Mid-to-high disposable income, willing to pay a premium for ethical and high-quality products. Students and young professionals.
  • Education: High school graduate to university degree holders, often pursuing higher education or in early career stages.

2.2. Psychographics

  • Values: Sustainability, environmental responsibility, ethical sourcing, transparency, authenticity, health & wellness, self-care, community. They prioritize brands that align with their personal values.
  • Lifestyle: Active, health-conscious, digitally connected, socially aware, early adopters of trends, interested in personal growth and mindful living. They often follow plant-based or eco-friendly lifestyles.
  • Interests: Sustainable living, clean beauty, DIY skincare, healthy eating, yoga/meditation, outdoor activities, travel, social justice, conscious consumption, minimalist aesthetics.
  • Attitudes: Skeptical of traditional advertising, value peer recommendations, distrustful of "greenwashing," open to trying new products from trusted sources, proactive in seeking information.
  • Pain Points:

* Difficulty finding genuinely sustainable and effective skincare products.

* Concerns about harmful chemicals and synthetic ingredients.

* Feeling overwhelmed by choices in the beauty market.

* Desire for transparency regarding ingredients, sourcing, and packaging.

* Fear of contributing to environmental damage through their consumption habits.

  • Aspirations: To live a healthier, more sustainable life; to make a positive impact on the environment; to achieve clear, glowing skin naturally; to be part of a like-minded community.

2.3. Behavioral Data & Online Habits

  • Social Media Platforms:

* Instagram (Primary): Visual content, Reels, Stories, IGTV for tutorials and product showcases. Follow beauty gurus, sustainability advocates, and lifestyle bloggers.

* TikTok (Key Growth Area): Short-form video content, challenges, authentic reviews, "get ready with me" (GRWM) routines, product demonstrations, educational "eco-hacks."

* YouTube: Longer-form reviews, ingredient breakdowns, skincare routines, "empties" videos, vlogs on sustainable living.

* Pinterest: Inspiration for clean beauty routines, DIY recipes, aesthetic product displays, sustainable home ideas.

  • Content Consumption: Prefer authentic, user-generated content (UGC), educational content, behind-the-scenes glimpses, unboxing videos, ingredient deep-dives, and relatable testimonials. They are wary of overly polished or obviously sponsored content.
  • Purchasing Behavior: Research-driven. Heavily rely on online reviews, influencer recommendations, and ingredient lists. Often shop online directly from brand websites or specialized ethical beauty retailers. Value subscription services for convenience and consistency.
  • Brand Loyalty: High loyalty to brands that consistently deliver on their promises of sustainability and quality, and that engage authentically with their community.

3. Secondary Target Audience Profile: "The Eco-Curious Explorer"

3.1. Demographics

  • Age: 25-45 years old (Older Millennials & Gen X)
  • Gender: Fairly even split, slightly more female.
  • Location: Similar to primary audience, but potentially more established careers and families.
  • Income Level: Established professionals, higher disposable income, willing to invest in premium products that offer long-term benefits and align with evolving values.

3.2. Psychographics

  • Values: Health, family well-being, quality, efficacy, convenience, environmental impact (growing awareness).
  • Lifestyle: Busy professionals, often parents, seeking effective solutions that fit into their routines. Increasingly interested in "clean" products for themselves and their families.
  • Interests: Health & wellness, family life, home improvement, self-care, travel, personal finance.
  • Attitudes: Practical, value efficiency, open to exploring sustainable options if they are effective and accessible. May be transitioning from conventional beauty products.
  • Pain Points:

* Time constraints for extensive research.

* Desire for high-performance products without compromise on ethics.

* Concern about product safety for children/family.

  • Aspirations: To simplify their routine with effective, trustworthy products; to make more responsible choices without sacrificing quality; to provide a healthy environment for their families.

3.3. Behavioral Data & Online Habits

  • Social Media Platforms:

* Facebook: Community groups, brand pages, reviews.

* Instagram: Less on trends, more on established brands and educational content.

* Pinterest: Product discovery, home organization, healthy recipes.

* Blogs/Forums: In-depth reviews and discussions.

  • Content Consumption: Value expert opinions, long-form reviews, practical tips, and family-friendly content.
  • Purchasing Behavior: Mix of online and in-store. Often influenced by professional reviews, trusted blogs, and recommendations from peers.

4. Key Data Insights & Trends

  1. Rise of Conscious Consumerism: 73% of global consumers state they would change their consumption habits to reduce their impact on the environment (NielsenIQ). This demographic actively seeks out brands with strong ethical and sustainable credentials.
  2. Ingredient Transparency Demanded: Consumers are increasingly scrutinizing ingredient lists. "Clean beauty" and "free-from" claims are powerful drivers, but must be backed by genuine transparency.
  3. Authenticity Over Polish: Highly produced, overly glossy content is less effective. Audiences, especially Gen Z, crave raw, authentic, and relatable content from influencers they trust.
  4. Video Dominance: Short-form video (TikTok, Instagram Reels) is paramount for discovery and engagement, while long-form video (YouTube) remains crucial for in-depth reviews and tutorials.
  5. Micro & Nano Influencers' Impact: These influencers often have higher engagement rates and a more dedicated, niche audience, leading to stronger trust and conversion compared to mega-influencers for specific product categories. Their recommendations feel more like peer advice.
  6. Community Building: Consumers want to feel part of a movement or community. Influencers who foster engagement and dialogue around shared values (like sustainability) are highly effective.
  7. User-Generated Content (UGC) as Social Proof: Audiences are highly influenced by seeing real people use and love products. Influencer campaigns should encourage and leverage UGC.

5. Recommendations for Influencer Selection & Content Strategy

Based on this comprehensive audience analysis, here are specific recommendations:

5.1. Influencer Profile Recommendations

  • Niche Focus: Prioritize influencers specializing in sustainable living, clean beauty, eco-friendly lifestyle, holistic wellness, and ethical consumption.
  • Authenticity & Values Alignment: Select influencers whose personal brand genuinely aligns with TerraGlow's values of sustainability, transparency, and natural ingredients. Their followers must trust their commitment to these values.
  • Engagement Rates: Focus on influencers with high engagement rates (comments, shares, saves) rather than just follower count. Micro (10k-100k followers) and Nano (1k-10k followers) influencers are likely to be highly effective.
  • Content Quality & Style: Look for creators who produce high-quality, visually appealing content that feels authentic and educational. They should be skilled in both short-form (TikTok, Reels) and potentially long-form (YouTube) video.
  • Geographic Relevance: While the audience is digitally native, consider influencers with a strong following in your key target markets for localized impact.
  • Demographic Match: Ensure the influencer's audience demographics largely overlap with your primary and secondary target audiences.

5.2. Content Strategy Recommendations

  • Educational & Informative: Content should educate the audience on the benefits of sustainable skincare, the ingredients used, and TerraGlow's ethical practices. (e.g., "Ingredient Deep Dive," "Why Choose Sustainable Skincare").
  • Authentic Routines & Testimonials: Show influencers genuinely incorporating TerraGlow products into their daily skincare routines, sharing their honest experiences and results. "Get Ready With Me" (GRWM), morning/evening routines.
  • Problem/Solution Focused: Address common skincare pain points (e.g., sensitive skin, dullness) and showcase how TerraGlow products provide effective, natural solutions.
  • Behind-the-Scenes & Transparency: Content that highlights TerraGlow's sourcing, production, and packaging sustainability efforts.
  • Community Engagement: Encourage influencers to ask questions, run polls, and foster discussions around sustainable living and clean beauty within their comments section.
  • Call to Action (CTA): Clear and compelling CTAs for product trials, website visits, or community sign-ups.

6. Next Steps

  1. Influencer Identification & Vetting: Begin researching and identifying potential influencers based on the profiles and recommendations outlined above. Utilize influencer marketing platforms and manual discovery.
  2. Content Pillar Development: Brainstorm specific content ideas and themes that align with the audience's interests and TerraGlow's brand message, which influencers can adapt.
  3. Key Performance Indicators (KPIs) Refinement: Based on this audience understanding, refine specific, measurable KPIs for the campaign (e.g., engagement rate targets, website traffic from influencer links, conversion rates, brand sentiment shifts).
  4. Competitive Analysis (Optional but Recommended): Analyze influencer campaigns run by competitors in the sustainable beauty space to identify successful strategies and potential gaps.

This detailed audience analysis provides a robust foundation for building an impactful influencer marketing campaign for TerraGlow. By focusing on authenticity, education, and aligned values, you can effectively connect with your target consumers and achieve your campaign objectives.

gemini Output

Influencer Campaign Planner: Your Blueprint for Success

Executive Summary: Crafting Impactful Influencer Partnerships

In today's dynamic digital landscape, influencer marketing offers an unparalleled opportunity to connect authentically with target audiences, build brand trust, and drive measurable results. This comprehensive Influencer Campaign Planner provides you with a robust framework, from identifying the perfect partners to tracking the tangible return on your investment. We've meticulously outlined the critical components required for a successful campaign, ensuring your brand stands out and achieves its marketing objectives.

This document serves as your strategic guide, equipping you with actionable insights and templates to launch and manage highly effective influencer marketing initiatives.


1. Defining Your Ideal Influencer Profiles: Finding Your Perfect Match

The foundation of any successful influencer campaign lies in partnering with the right individuals. Identifying ideal influencer profiles goes beyond follower count; it's about alignment, authenticity, and audience relevance.

Why Profile Definition Matters:

  • Targeted Reach: Ensure your message reaches the most receptive audience.
  • Authenticity: Partner with creators whose values align with your brand for genuine endorsements.
  • Efficiency: Focus your outreach efforts on influencers most likely to deliver results.

Key Characteristics of Ideal Influencer Profiles:

  • Niche & Expertise: Does their content category directly relate to your product/service?

Example:* For a sustainable fashion brand, look for influencers focused on eco-friendly living, ethical fashion, or minimalist wardrobes.

  • Audience Demographics: Do their followers match your target customer profile (age, gender, location, interests, income)?

Action:* Request audience insights from potential influencers or use third-party analytics tools.

  • Engagement Rate: A high engagement rate (likes, comments, shares, saves relative to follower count) indicates an active and loyal audience, often more valuable than sheer follower numbers.

Benchmark:* Micro-influencers (10k-100k followers) often have 3-5%+, while macro-influencers (100k-1M) might have 1-3%.

  • Content Quality & Aesthetic: Does their content production quality, visual style, and storytelling align with your brand's image and standards?

Consider:* High-resolution imagery, compelling captions, professional video editing.

  • Brand Alignment & Values: Do their personal brand and past collaborations reflect positively on your brand? Are there any potential conflicts of interest or controversial past content?
  • Authenticity & Trust: Do they genuinely interact with their audience? Are they perceived as trustworthy and authoritative within their niche?
  • Platform Relevance: Are they active on the platforms where your target audience spends the most time (Instagram, TikTok, YouTube, Pinterest, Blogs, LinkedIn)?
  • Past Performance (if available): Review previous sponsored content for other brands. How did it perform?

Influencer Tiers & Their Strategic Value:

  • Nano-Influencers (1K-10K followers): Highly niche, hyper-engaged audiences, perceived as highly authentic. Ideal for grassroots campaigns, product seeding, and local targeting.
  • Micro-Influencers (10K-100K followers): Strong community leaders with excellent engagement rates. Offer a balance of reach and authenticity, often more affordable. Great for product reviews, tutorials, and targeted campaigns.
  • Mid-Tier Influencers (100K-500K followers): Broader reach than micro, still maintain good engagement. Excellent for brand awareness and driving traffic.
  • Macro-Influencers (500K-1M followers): Significant reach, established personal brands. Effective for large-scale awareness campaigns and product launches.
  • Celebrity/Mega-Influencers (1M+ followers): Massive reach, high visibility. Best for mainstream brand awareness, major launches, and credibility boosts, but come with a premium cost.

2. Engaging Influencers: Professional Outreach Templates

Effective outreach is personal, professional, and clearly communicates value. Avoid generic messages; influencers receive many proposals. Focus on building relationships, not just transactions.

Principles of Effective Outreach:

  • Personalization: Reference specific content or aspects of their profile you admire.
  • Clarity: Clearly state who you are, what your brand does, and why you're reaching out.
  • Value Proposition: What's in it for them? Beyond payment, think about brand prestige, product value, creative freedom, or long-term partnership potential.
  • Call to Action: What do you want them to do next? (e.g., "Are you open to discussing a potential collaboration?")

Outreach Template 1: Initial Contact (Via Email or DM)

Subject: Collaboration Opportunity with [Your Brand Name] - [Influencer's Name]

Dear [Influencer's Name],

My name is [Your Name] and I'm the [Your Title] at [Your Brand Name]. We've been following your work on [Platform, e.g., Instagram/TikTok] for a while now, and we're consistently impressed by your [mention specific content, e.g., "authentic storytelling around sustainable living," "creative product reviews," "engaging tutorials"]. Your recent post about [mention a specific post/story/video] particularly resonated with our team.

At [Your Brand Name], we [briefly describe what your brand does and its core mission/value, e.g., "create eco-friendly skincare products designed for sensitive skin" or "empower small businesses with intuitive project management tools"]. We believe your audience, with their keen interest in [mention relevant audience interest, e.g., "conscious consumption" or "productivity hacks"], would truly appreciate what we offer.

We're currently planning an exciting campaign around [mention campaign theme/product, e.g., "our new line of zero-waste cosmetics"] and we immediately thought of you as a perfect fit to authentically share our message.

Would you be open to a brief chat to explore how a potential partnership could be mutually beneficial? Please let me know your availability for a quick 15-minute call next week.

Thank you for your time and consideration.

Best regards,

[Your Name]

[Your Title]

[Your Brand Name]

[Your Website]

[Link to your brand's social media]


Outreach Template 2: Follow-Up (If no response after 3-5 business days)

Subject: Following Up: Collaboration Opportunity with [Your Brand Name] - [Influencer's Name]

Dear [Influencer's Name],

Just wanted to gently follow up on my email from [Date of previous email] regarding a potential collaboration with [Your Brand Name].

I understand you have a busy schedule, but I truly believe there's a strong alignment between your content and our mission to [reiterate brand mission/value]. We envision you creating [briefly mention content idea, e.g., "an engaging video demonstrating the versatility of our new product"] which we think would resonate well with your audience.

If this sounds like something you might be interested in, please let me know. I'm happy to provide more details or jump on a quick call at your convenience.

Thanks again,

[Your Name]


Outreach Template 3: Partnership Proposal (After initial interest/discussion)

Subject: Detailed Partnership Proposal: [Your Brand Name] x [Influencer's Name]

Dear [Influencer's Name],

Following our recent conversation, thank you again for your interest in partnering with [Your Brand Name]. We're truly excited about the potential of working together and believe your unique voice and engaged audience would be instrumental in achieving our campaign goals.

Here's a detailed proposal for our collaboration:

1. Campaign Objective:

  • [e.g., Increase brand awareness for our new product line, drive traffic to our website, generate leads for our subscription service, boost sales of specific product X.]

2. Campaign Theme & Key Message:

  • [e.g., "Embrace sustainable beauty with our new plant-based skincare." "Simplify your workflow with [Product Name]."]

3. Proposed Deliverables:

  • Platform: [e.g., Instagram]
  • Content Type:

* [1] In-feed Post: (1) High-quality photo/carousel post featuring [Product/Service]. Caption to include [Key Message], [Mandatory Hashtags], and tag [@YourBrand].

* [2] Instagram Stories: (3) frames showcasing [Product/Service] in use, including a swipe-up link to [Your Landing Page] and a poll/Q&A sticker.

* [3] Reel/Video: (1) Short-form video demonstrating [Product/Service] benefits, set to trending audio.

  • Mandatory Elements:

* Clearly visible product placement.

* Call-to-action: "Shop now at [Link in Bio]" or "Use code [DISCOUNT CODE] for 15% off."

* Required hashtags: #[YourCampaignHashtag], #[YourBrandHashtag], #ad, #sponsored.

* Tagging: [@YourBrand] in visuals and caption.

  • Timeline:

* Content Draft Submission: [Date]

* Feedback & Revisions: [Date]

* Live Post Date: [Date]

4. Compensation & Benefits:

  • Monetary Fee: $[Amount] for the agreed-upon deliverables.
  • Product/Service Value: [List products/services provided, e.g., "Complimentary [Product Name] valued at $[X]"].
  • Additional Benefits: [e.g., "Opportunity for long-term partnership," "Featured on our brand's social media channels," "Affiliate commission on sales generated via your unique link/code"].

5. Content Usage Rights:

  • We request non-exclusive rights to repost/share your content on our brand's social media channels, website, and email marketing for [X] months following the live date, with full credit to you.

6. Next Steps:

  • Please review this proposal. If you're happy to proceed, we can formalize this with a simple agreement. We're happy to discuss any adjustments or answer any questions you may have.

We look forward to the possibility of a successful collaboration!

Warmly,

[Your Name]

[Your Title]

[Your Brand Name]


3. Solidifying Partnerships: Key Contract Terms & Agreements

A clear, legally sound contract protects both your brand and the influencer, ensuring expectations are managed and deliverables are met. Always consult with legal counsel to draft or review your final agreements.

Essential Clauses for Influencer Contracts:

  1. Parties Involved: Clearly identify the brand and the influencer (legal names and contact information).
  2. Scope of Work & Deliverables:

* Detailed list of all content to be created (e.g., 1 Instagram in-feed post, 3 Instagram Stories, 1 TikTok video).

* Specific requirements for each deliverable (e.g., minimum word count for captions, duration for videos, specific product features to highlight).

* Required platforms for posting.

* Mandatory elements (hashtags, @mentions, links, CTAs).

  1. Campaign Timeline:

* Deadlines for content submission (drafts).

* Deadlines for feedback and revisions.

* Agreed-upon live posting dates.

* Duration content must remain live.

  1. Payment Terms:

* Agreed-upon compensation fee (flat fee, per deliverable, performance-based, etc.).

* Payment schedule (e.g., 50% upfront, 50% upon completion; net 30 days after invoice).

* Method of payment.

* Clarity on any product gifts (whether considered part of compensation or additional).

* Invoicing requirements.

  1. Content Ownership & Usage Rights (Crucial!):

* Who owns the intellectual property of the created content? (Typically, the influencer retains ownership, but grants the brand a license).

* Grant of License: Specify the brand's rights to use the content:

* Scope: Where can the brand use the content (brand's social media, website, email marketing, paid ads, print)?

* Duration: For how long (e.g., 3 months, 1 year, perpetual)?

* Exclusivity: Is the license exclusive or non-exclusive?

* Modifications: Can the brand edit or adapt the content? (Usually requires explicit permission).

* Influencer's Rights: Can the influencer repurpose the content for their own use after the campaign?

  1. Disclosure Requirements (FTC/ASA Compliance):

* Mandatory inclusion of #ad, #sponsored, #partner, or equivalent disclosures.

* Instructions on where and how the disclosure must appear (e.g., prominently at the beginning of the caption, verbally in videos).

* Acknowledgement by the influencer of their responsibility to comply with relevant advertising standards.

  1. Exclusivity:

* Brand Exclusivity: Prohibits the influencer from working with direct competitors for a specified period (e.g., 30 days before/after the campaign).

* Product Exclusivity: Prohibits the influencer from promoting similar products even from non-competitors during the campaign period.

* Clearly define "competitor."

  1. Approval Process:

* Outline the steps for content submission and approval (e.g., initial draft, revisions, final approval).

* Number of revisions permitted.

* Timelines for brand review.

  1. Representations and Warranties:

* Influencer confirms they have the right to create and license the content.

* Content will be original and not infringe on third-party rights.

* Content will comply with all applicable laws and platform terms of service.

  1. Termination Clause:

* Conditions under which either party can terminate the agreement (e.g., material breach, failure to deliver, brand reputational damage).

* Consequences of termination (e.g., pro-rata payment, return of products, removal of content).

  1. Confidentiality:

* Protects

gemini Output

This document outlines a comprehensive plan for executing a successful influencer marketing campaign. It covers all critical stages from influencer identification and outreach to content creation, contractual agreements, and robust ROI tracking. This plan is designed to be detailed, actionable, and adaptable to various campaign objectives.


Influencer Campaign Planner: Optimized & Finalized Plan

1. Campaign Overview & Objectives

Campaign Goal: [Specify primary goal, e.g., Increase brand awareness by 25% among Gen Z, Drive 15% increase in product sales for X product line, Generate 1000 qualified leads for Y service.]

Target Audience: [Describe your ideal customer demographic, psychographics, interests, and online behavior. E.g., Females, 18-34, interested in sustainable fashion and ethical consumption, active on Instagram and TikTok.]

Key Message: [Core message you want influencers to convey. E.g., "[Brand Name] offers high-quality, eco-friendly skincare solutions that deliver visible results."]

Campaign Duration: [Specify start and end dates, e.g., 8 weeks, running from October 1st to November 30th.]

2. Ideal Influencer Profiles

Identifying the right influencers is paramount. This section defines the characteristics of influencers who will best align with the campaign objectives and target audience.

A. Influencer Tiering & Reach:

  • Micro-Influencers (10K - 100K Followers):

* Pros: High engagement rates, niche audiences, authentic connection, cost-effective.

* Target: For driving deep engagement, niche product launches, authentic reviews.

  • Mid-Tier Influencers (100K - 500K Followers):

* Pros: Strong reach, good engagement, growing influence, balanced cost.

* Target: For broader awareness while maintaining authenticity, product education.

  • Macro-Influencers (500K - 1M+ Followers):

* Pros: Significant reach, strong brand authority, widespread awareness.

* Target: For large-scale brand awareness campaigns, major product launches, celebrity endorsement feel.

B. Niche & Category Alignment:

  • Primary Niches: [e.g., Sustainable Fashion, Clean Beauty, Tech Gadgets, Healthy Lifestyle, Travel]
  • Secondary Niches: [e.g., DIY & Home Decor, Parenting, Gaming, Finance]
  • Audience Demographics: Influencer's audience should closely match our target audience (age, gender, location, interests).
  • Brand Values Alignment: Influencers whose personal brand and content align with our brand's ethics, aesthetics, and mission. Avoid influencers with controversial content or associations.

C. Engagement Metrics & Quality:

  • Engagement Rate: Target 2-5% (or higher for micro-influencers). Calculated as (Likes + Comments + Shares) / Followers.
  • Audience Authenticity: Use tools to check for fake followers or engagement pods.
  • Comment Quality: Look for genuine conversations, not just emojis or generic comments.
  • Reach & Impressions: Evidence of content actually being seen by a significant portion of their audience.

D. Content Style & Platform Preference:

  • Content Aesthetic: High-quality visuals, consistent aesthetic that resonates with our brand identity (e.g., vibrant, minimalist, rustic, professional).
  • Tone of Voice: Authentic, engaging, informative, inspiring, relatable.
  • Preferred Platforms:

* Instagram: Stories, Reels, Feed Posts, Guides (visual-first, lifestyle, fashion, beauty).

* TikTok: Short-form video, trends, challenges (Gen Z, entertainment, quick tutorials).

* YouTube: Long-form video, tutorials, reviews, vlogs (in-depth content, education).

* Blogs/Websites: Detailed reviews, guides, SEO benefits (niche expertise, evergreen content).

* Pinterest: Visual discovery, mood boards, product curation (inspiration, shopping intent).

3. Influencer Outreach Strategy & Templates

A personalized and professional outreach approach is crucial for securing top talent.

A. Outreach Strategy:

  1. Thorough Research: Understand the influencer's content, audience, and previous brand collaborations. Mention specific posts or aspects you admire.
  2. Personalization is Key: Avoid generic templates. Tailor each message to show you've done your homework.
  3. Clear Value Proposition: Clearly state what's in it for the influencer (e.g., exciting campaign, fair compensation, creative freedom, exposure).
  4. Concise & Direct: Get to the point quickly, respecting their time.
  5. Professionalism: Maintain a respectful and enthusiastic tone.

B. Outreach Templates:

Template 1: Initial Outreach Email

Subject: Collaboration Opportunity: [Your Brand Name] x [Influencer's Name/Handle]

Hi [Influencer's Name],

My name is [Your Name] and I'm the [Your Title] at [Your Brand Name]. I've been following your content on [Platform, e.g., Instagram] for a while, and I'm particularly impressed by your [mention specific content piece, e.g., recent reel on sustainable living / authentic review of X product / engaging storytelling]. Your audience's engagement and your unique perspective truly stand out.

At [Your Brand Name], we create [briefly describe your product/service and mission, e.g., eco-friendly skincare products designed for sensitive skin, with a strong focus on natural ingredients and ethical sourcing]. We're launching an exciting campaign focused on [Campaign Theme/Goal, e.g., "Embracing Natural Beauty"] and we immediately thought of you as an ideal partner.

We believe your authentic voice and engaged community would be a perfect fit to introduce our [Specific Product/Service] to a wider audience. We're looking for partners to create [mention specific content types, e.g., 1 Instagram Reel, 2 Stories, and 1 static post] sharing their genuine experience with our brand.

Would you be open to a brief call next week to discuss this potential collaboration further and share more details about the campaign and compensation? Please let me know your availability.

Thank you for your time and consideration!

Best regards,

[Your Name]

[Your Title]

[Your Brand Name]

[Your Website]

[Link to your Social Media]


Template 2: Follow-up Email

Subject: Following Up: Collaboration Opportunity with [Your Brand Name]

Hi [Influencer's Name],

Hope you're having a great week!

I just wanted to gently follow up on my email from [Date] regarding a potential collaboration opportunity with [Your Brand Name]. We're still very keen on the possibility of working with you on our upcoming [Campaign Theme] campaign.

As a quick reminder, we're looking for partners to [briefly reiterate content types, e.g., create engaging content around our new eco-friendly skincare line] and believe your unique style would resonate perfectly with our message.

If you've had a chance to review the previous email, please let me know if you have any initial questions or if you'd be interested in learning more. We're happy to schedule a quick chat at your convenience.

Thanks again!

Best regards,

[Your Name]

[Your Brand Name]


4. Influencer Contract Terms

A clear and comprehensive contract protects both parties and ensures alignment on deliverables and expectations.

A. Key Contractual Elements:

  1. Scope of Work (SOW) & Deliverables:

* Specific content types: e.g., 1 Instagram Feed Post, 2 Instagram Stories, 1 TikTok video.

* Specific platforms for each deliverable.

* Detailed content requirements: e.g., minimum video length, number of photos, specific hashtags, @mentions, link in bio.

* Posting schedule and deadlines for content submission and live posting.

* Mandatory inclusion of specific product/service features or key messages.

  1. Compensation:

* Payment Structure: Fixed fee, product only, commission-based, hybrid.

* Payment Amount: Clearly stated fee per deliverable or total project fee.

* Payment Terms: Net 30/60 days from invoice, payment upon content approval, or upon campaign completion.

* Method of Payment: Bank transfer, PayPal, etc.

  1. Content Rights & Usage:

* Ownership: Who owns the original content (typically the influencer).

* Usage License: Granting the brand rights to repost, re-purpose, and use the content for its own marketing (e.g., on brand website, social channels, paid ads).

* License Duration: Specify the period (e.g., 1 year, perpetual).

* License Scope: Specify channels (e.g., organic social, paid social, website, email marketing).

* Exclusivity: If the influencer is prohibited from working with direct competitors for a certain period (e.g., 30-90 days pre/post campaign).

  1. Disclosure Requirements:

* Mandatory compliance with FTC/ASA guidelines.

* Specific disclosure language: e.g., #ad, #sponsored, #partner.

* Placement of disclosure: clearly visible in captions, stories, videos.

  1. Approval Process:

* Timeline for content submission for brand review (e.g., 5 business days before live date).

* Number of revision rounds allowed (e.g., 1-2 rounds).

* Clear criteria for approval/rejection.

  1. Timeline & Deadlines:

* Content submission date.

* Content approval date.

* Live posting date(s).

* Reporting submission date (if required from influencer).

  1. Termination Clause:

* Conditions under which either party can terminate the agreement (e.g., breach of contract, failure to meet deadlines, negative brand association).

* Consequences of termination (e.g., partial payment, no payment, content removal).

  1. Confidentiality:

* Agreement not to disclose campaign specifics, product details, or contract terms to third parties.

  1. Indemnification:

* Protection for the brand against any legal claims arising from the influencer's content (e.g., copyright infringement, misleading claims).

  1. Governing Law:

* Specify the jurisdiction whose laws will govern the contract.

5. Content Guidelines & Brand Messaging

Providing clear guidelines ensures consistent brand representation while allowing for influencer creativity.

A. Key Messaging & Themes:

  • Core Message: [Reiterate main message, e.g., "Experience the joy of sustainable living with [Brand Name]'s ethically sourced products."]
  • Key Selling Points: [List 2-3 unique selling points, e.g., "100% organic ingredients," "Handmade in the USA," "Donates 5% to environmental causes."]
  • Target Emotion/Feeling: [e.g., Empowerment, Trust, Joy, Serenity, Excitement.]

B. Content Dos and Don'ts:

  • DOs:

* Authenticity: Share genuine experiences and opinions.

* High-Quality Visuals: Use good lighting, clear images/videos, professional editing.

* Engaging Captions/Dialogue: Tell a story, ask questions, encourage interaction.

* Clear Call to Action (CTA): Direct audience what to do next (e.g., "Shop link in bio," "Use code [CODE]," "Learn more").

* Brand Integration: Seamlessly weave the product/service into daily life or relevant context.

* Positive & Uplifting Tone: Align with brand's positive image.

* Timeliness: Post content according to the agreed schedule.

  • DON'Ts:

* Misinformation/False Claims: Do not make unsubstantiated claims about the product/service.

* Low-Quality Content: Avoid blurry images, poor audio, or unprofessional editing.

* Negative Brand Association: Do not feature the product alongside inappropriate or controversial content.

* Plagiarism: All content must be original.

* Off-Brand Tone: Avoid language or humor that conflicts with our brand's voice.

* Lack of Disclosure: Failure to clearly disclose the partnership.

C. Visual & Aesthetic Guidance:

  • Color Palette: [e.g., Earthy tones, bright and vibrant, minimalist pastels.]
  • Imagery Style: [e.g., Lifestyle shots, product flat lays, action shots, before/after comparisons.]
influencer_campaign_planner.md
Download as Markdown
Copy all content
Full output as text
Download ZIP
IDE-ready project ZIP
Copy share link
Permanent URL for this run
Get Embed Code
Embed this result on any website
Print / Save PDF
Use browser print dialog
\n\n\n"); var hasSrcMain=Object.keys(extracted).some(function(k){return k.indexOf("src/main")>=0;}); if(!hasSrcMain) zip.file(folder+"src/main."+ext,"import React from 'react'\nimport ReactDOM from 'react-dom/client'\nimport App from './App'\nimport './index.css'\n\nReactDOM.createRoot(document.getElementById('root')!).render(\n \n \n \n)\n"); var hasSrcApp=Object.keys(extracted).some(function(k){return k==="src/App."+ext||k==="App."+ext;}); if(!hasSrcApp) zip.file(folder+"src/App."+ext,"import React from 'react'\nimport './App.css'\n\nfunction App(){\n return(\n
\n
\n

"+slugTitle(pn)+"

\n

Built with PantheraHive BOS

\n
\n
\n )\n}\nexport default App\n"); zip.file(folder+"src/index.css","*{margin:0;padding:0;box-sizing:border-box}\nbody{font-family:system-ui,-apple-system,sans-serif;background:#f0f2f5;color:#1a1a2e}\n.app{min-height:100vh;display:flex;flex-direction:column}\n.app-header{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px}\nh1{font-size:2.5rem;font-weight:700}\n"); zip.file(folder+"src/App.css",""); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/pages/.gitkeep",""); zip.file(folder+"src/hooks/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\nnpm run dev\n\`\`\`\n\n## Build\n\`\`\`bash\nnpm run build\n\`\`\`\n\n## Open in IDE\nOpen the project folder in VS Code or WebStorm.\n"); zip.file(folder+".gitignore","node_modules/\ndist/\n.env\n.DS_Store\n*.local\n"); } /* --- Vue (Vite + Composition API + TypeScript) --- */ function buildVue(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{\n "name": "'+pn+'",\n "version": "0.0.0",\n "type": "module",\n "scripts": {\n "dev": "vite",\n "build": "vue-tsc -b && vite build",\n "preview": "vite preview"\n },\n "dependencies": {\n "vue": "^3.5.13",\n "vue-router": "^4.4.5",\n "pinia": "^2.3.0",\n "axios": "^1.7.9"\n },\n "devDependencies": {\n "@vitejs/plugin-vue": "^5.2.1",\n "typescript": "~5.7.3",\n "vite": "^6.0.5",\n "vue-tsc": "^2.2.0"\n }\n}\n'); zip.file(folder+"vite.config.ts","import { defineConfig } from 'vite'\nimport vue from '@vitejs/plugin-vue'\nimport { resolve } from 'path'\n\nexport default defineConfig({\n plugins: [vue()],\n resolve: { alias: { '@': resolve(__dirname,'src') } }\n})\n"); zip.file(folder+"tsconfig.json",'{"files":[],"references":[{"path":"./tsconfig.app.json"},{"path":"./tsconfig.node.json"}]}\n'); zip.file(folder+"tsconfig.app.json",'{\n "compilerOptions":{\n "target":"ES2020","useDefineForClassFields":true,"module":"ESNext","lib":["ES2020","DOM","DOM.Iterable"],\n "skipLibCheck":true,"moduleResolution":"bundler","allowImportingTsExtensions":true,\n "isolatedModules":true,"moduleDetection":"force","noEmit":true,"jsxImportSource":"vue",\n "strict":true,"paths":{"@/*":["./src/*"]}\n },\n "include":["src/**/*.ts","src/**/*.d.ts","src/**/*.tsx","src/**/*.vue"]\n}\n'); zip.file(folder+"env.d.ts","/// \n"); zip.file(folder+"index.html","\n\n\n \n \n "+slugTitle(pn)+"\n\n\n
\n \n\n\n"); var hasMain=Object.keys(extracted).some(function(k){return k==="src/main.ts"||k==="main.ts";}); if(!hasMain) zip.file(folder+"src/main.ts","import { createApp } from 'vue'\nimport { createPinia } from 'pinia'\nimport App from './App.vue'\nimport './assets/main.css'\n\nconst app = createApp(App)\napp.use(createPinia())\napp.mount('#app')\n"); var hasApp=Object.keys(extracted).some(function(k){return k.indexOf("App.vue")>=0;}); if(!hasApp) zip.file(folder+"src/App.vue","\n\n\n\n\n"); zip.file(folder+"src/assets/main.css","*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,sans-serif;background:#fff;color:#213547}\n"); zip.file(folder+"src/components/.gitkeep",""); zip.file(folder+"src/views/.gitkeep",""); zip.file(folder+"src/stores/.gitkeep",""); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\nnpm run dev\n\`\`\`\n\n## Build\n\`\`\`bash\nnpm run build\n\`\`\`\n\nOpen in VS Code or WebStorm.\n"); zip.file(folder+".gitignore","node_modules/\ndist/\n.env\n.DS_Store\n*.local\n"); } /* --- Angular (v19 standalone) --- */ function buildAngular(zip,folder,app,code,panelTxt){ var pn=pkgName(app); var C=cc(pn); var sel=pn.replace(/_/g,"-"); var extracted=extractCode(panelTxt); zip.file(folder+"package.json",'{\n "name": "'+pn+'",\n "version": "0.0.0",\n "scripts": {\n "ng": "ng",\n "start": "ng serve",\n "build": "ng build",\n "test": "ng test"\n },\n "dependencies": {\n "@angular/animations": "^19.0.0",\n "@angular/common": "^19.0.0",\n "@angular/compiler": "^19.0.0",\n "@angular/core": "^19.0.0",\n "@angular/forms": "^19.0.0",\n "@angular/platform-browser": "^19.0.0",\n "@angular/platform-browser-dynamic": "^19.0.0",\n "@angular/router": "^19.0.0",\n "rxjs": "~7.8.0",\n "tslib": "^2.3.0",\n "zone.js": "~0.15.0"\n },\n "devDependencies": {\n "@angular-devkit/build-angular": "^19.0.0",\n "@angular/cli": "^19.0.0",\n "@angular/compiler-cli": "^19.0.0",\n "typescript": "~5.6.0"\n }\n}\n'); zip.file(folder+"angular.json",'{\n "$schema": "./node_modules/@angular/cli/lib/config/schema.json",\n "version": 1,\n "newProjectRoot": "projects",\n "projects": {\n "'+pn+'": {\n "projectType": "application",\n "root": "",\n "sourceRoot": "src",\n "prefix": "app",\n "architect": {\n "build": {\n "builder": "@angular-devkit/build-angular:application",\n "options": {\n "outputPath": "dist/'+pn+'",\n "index": "src/index.html",\n "browser": "src/main.ts",\n "tsConfig": "tsconfig.app.json",\n "styles": ["src/styles.css"],\n "scripts": []\n }\n },\n "serve": {"builder":"@angular-devkit/build-angular:dev-server","configurations":{"production":{"buildTarget":"'+pn+':build:production"},"development":{"buildTarget":"'+pn+':build:development"}},"defaultConfiguration":"development"}\n }\n }\n }\n}\n'); zip.file(folder+"tsconfig.json",'{\n "compileOnSave": false,\n "compilerOptions": {"baseUrl":"./","outDir":"./dist/out-tsc","forceConsistentCasingInFileNames":true,"strict":true,"noImplicitOverride":true,"noPropertyAccessFromIndexSignature":true,"noImplicitReturns":true,"noFallthroughCasesInSwitch":true,"paths":{"@/*":["src/*"]},"skipLibCheck":true,"esModuleInterop":true,"sourceMap":true,"declaration":false,"experimentalDecorators":true,"moduleResolution":"bundler","importHelpers":true,"target":"ES2022","module":"ES2022","useDefineForClassFields":false,"lib":["ES2022","dom"]},\n "references":[{"path":"./tsconfig.app.json"}]\n}\n'); zip.file(folder+"tsconfig.app.json",'{\n "extends":"./tsconfig.json",\n "compilerOptions":{"outDir":"./dist/out-tsc","types":[]},\n "files":["src/main.ts"],\n "include":["src/**/*.d.ts"]\n}\n'); zip.file(folder+"src/index.html","\n\n\n \n "+slugTitle(pn)+"\n \n \n \n\n\n \n\n\n"); zip.file(folder+"src/main.ts","import { bootstrapApplication } from '@angular/platform-browser';\nimport { appConfig } from './app/app.config';\nimport { AppComponent } from './app/app.component';\n\nbootstrapApplication(AppComponent, appConfig)\n .catch(err => console.error(err));\n"); zip.file(folder+"src/styles.css","* { margin: 0; padding: 0; box-sizing: border-box; }\nbody { font-family: system-ui, -apple-system, sans-serif; background: #f9fafb; color: #111827; }\n"); var hasComp=Object.keys(extracted).some(function(k){return k.indexOf("app.component")>=0;}); if(!hasComp){ zip.file(folder+"src/app/app.component.ts","import { Component } from '@angular/core';\nimport { RouterOutlet } from '@angular/router';\n\n@Component({\n selector: 'app-root',\n standalone: true,\n imports: [RouterOutlet],\n templateUrl: './app.component.html',\n styleUrl: './app.component.css'\n})\nexport class AppComponent {\n title = '"+pn+"';\n}\n"); zip.file(folder+"src/app/app.component.html","
\n
\n

"+slugTitle(pn)+"

\n

Built with PantheraHive BOS

\n
\n \n
\n"); zip.file(folder+"src/app/app.component.css",".app-header{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}h1{font-size:2.5rem;font-weight:700;color:#6366f1}\n"); } zip.file(folder+"src/app/app.config.ts","import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core';\nimport { provideRouter } from '@angular/router';\nimport { routes } from './app.routes';\n\nexport const appConfig: ApplicationConfig = {\n providers: [\n provideZoneChangeDetection({ eventCoalescing: true }),\n provideRouter(routes)\n ]\n};\n"); zip.file(folder+"src/app/app.routes.ts","import { Routes } from '@angular/router';\n\nexport const routes: Routes = [];\n"); Object.keys(extracted).forEach(function(p){ var fp=p.startsWith("src/")?p:"src/"+p; zip.file(folder+fp,extracted[p]); }); zip.file(folder+"README.md","# "+slugTitle(pn)+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\nng serve\n# or: npm start\n\`\`\`\n\n## Build\n\`\`\`bash\nng build\n\`\`\`\n\nOpen in VS Code with Angular Language Service extension.\n"); zip.file(folder+".gitignore","node_modules/\ndist/\n.env\n.DS_Store\n*.local\n.angular/\n"); } /* --- Python --- */ function buildPython(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^\`\`\`[\w]*\n?/m,"").replace(/\n?\`\`\`$/m,"").trim(); var reqMap={"numpy":"numpy","pandas":"pandas","sklearn":"scikit-learn","tensorflow":"tensorflow","torch":"torch","flask":"flask","fastapi":"fastapi","uvicorn":"uvicorn","requests":"requests","sqlalchemy":"sqlalchemy","pydantic":"pydantic","dotenv":"python-dotenv","PIL":"Pillow","cv2":"opencv-python","matplotlib":"matplotlib","seaborn":"seaborn","scipy":"scipy"}; var reqs=[]; Object.keys(reqMap).forEach(function(k){if(src.indexOf("import "+k)>=0||src.indexOf("from "+k)>=0)reqs.push(reqMap[k]);}); var reqsTxt=reqs.length?reqs.join("\n"):"# add dependencies here\n"; zip.file(folder+"main.py",src||"# "+title+"\n# Generated by PantheraHive BOS\n\nprint(title+\" loaded\")\n"); zip.file(folder+"requirements.txt",reqsTxt); zip.file(folder+".env.example","# Environment variables\n"); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\npython3 -m venv .venv\nsource .venv/bin/activate\npip install -r requirements.txt\n\`\`\`\n\n## Run\n\`\`\`bash\npython main.py\n\`\`\`\n"); zip.file(folder+".gitignore",".venv/\n__pycache__/\n*.pyc\n.env\n.DS_Store\n"); } /* --- Node.js --- */ function buildNode(zip,folder,app,code){ var title=slugTitle(app); var pn=pkgName(app); var src=code.replace(/^\`\`\`[\w]*\n?/m,"").replace(/\n?\`\`\`$/m,"").trim(); var depMap={"mongoose":"^8.0.0","dotenv":"^16.4.5","axios":"^1.7.9","cors":"^2.8.5","bcryptjs":"^2.4.3","jsonwebtoken":"^9.0.2","socket.io":"^4.7.4","uuid":"^9.0.1","zod":"^3.22.4","express":"^4.18.2"}; var deps={}; Object.keys(depMap).forEach(function(k){if(src.indexOf(k)>=0)deps[k]=depMap[k];}); if(!deps["express"])deps["express"]="^4.18.2"; var pkgJson=JSON.stringify({"name":pn,"version":"1.0.0","main":"src/index.js","scripts":{"start":"node src/index.js","dev":"nodemon src/index.js"},"dependencies":deps,"devDependencies":{"nodemon":"^3.0.3"}},null,2)+"\n"; zip.file(folder+"package.json",pkgJson); var fallback="const express=require(\"express\");\nconst app=express();\napp.use(express.json());\n\napp.get(\"/\",(req,res)=>{\n res.json({message:\""+title+" API\"});\n});\n\nconst PORT=process.env.PORT||3000;\napp.listen(PORT,()=>console.log(\"Server on port \"+PORT));\n"; zip.file(folder+"src/index.js",src||fallback); zip.file(folder+".env.example","PORT=3000\n"); zip.file(folder+".gitignore","node_modules/\n.env\n.DS_Store\n"); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\n## Setup\n\`\`\`bash\nnpm install\n\`\`\`\n\n## Run\n\`\`\`bash\nnpm run dev\n\`\`\`\n"); } /* --- Vanilla HTML --- */ function buildVanillaHtml(zip,folder,app,code){ var title=slugTitle(app); var isFullDoc=code.trim().toLowerCase().indexOf("=0||code.trim().toLowerCase().indexOf("=0; var indexHtml=isFullDoc?code:"\n\n\n\n\n"+title+"\n\n\n\n"+code+"\n\n\n\n"; zip.file(folder+"index.html",indexHtml); zip.file(folder+"style.css","/* "+title+" — styles */\n*{margin:0;padding:0;box-sizing:border-box}\nbody{font-family:system-ui,-apple-system,sans-serif;background:#fff;color:#1a1a2e}\n"); zip.file(folder+"script.js","/* "+title+" — scripts */\n"); zip.file(folder+"assets/.gitkeep",""); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\n## Open\nDouble-click \`index.html\` in your browser.\n\nOr serve locally:\n\`\`\`bash\nnpx serve .\n# or\npython3 -m http.server 3000\n\`\`\`\n"); zip.file(folder+".gitignore",".DS_Store\nnode_modules/\n.env\n"); } /* ===== MAIN ===== */ var sc=document.createElement("script"); sc.src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"; sc.onerror=function(){ if(lbl)lbl.textContent="Download ZIP"; alert("JSZip load failed — check connection."); }; sc.onload=function(){ var zip=new JSZip(); var base=(_phFname||"output").replace(/\.[^.]+$/,""); var app=base.toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_+|_+$/g,"")||"my_app"; var folder=app+"/"; var vc=document.getElementById("panel-content"); var panelTxt=vc?(vc.innerText||vc.textContent||""):""; var lang=detectLang(_phCode,panelTxt); if(_phIsHtml){ buildVanillaHtml(zip,folder,app,_phCode); } else if(lang==="flutter"){ buildFlutter(zip,folder,app,_phCode,panelTxt); } else if(lang==="react-native"){ buildReactNative(zip,folder,app,_phCode,panelTxt); } else if(lang==="swift"){ buildSwift(zip,folder,app,_phCode,panelTxt); } else if(lang==="kotlin"){ buildKotlin(zip,folder,app,_phCode,panelTxt); } else if(lang==="react"){ buildReact(zip,folder,app,_phCode,panelTxt); } else if(lang==="vue"){ buildVue(zip,folder,app,_phCode,panelTxt); } else if(lang==="angular"){ buildAngular(zip,folder,app,_phCode,panelTxt); } else if(lang==="python"){ buildPython(zip,folder,app,_phCode); } else if(lang==="node"){ buildNode(zip,folder,app,_phCode); } else { /* Document/content workflow */ var title=app.replace(/_/g," "); var md=_phAll||_phCode||panelTxt||"No content"; zip.file(folder+app+".md",md); var h=""+title+""; h+="

"+title+"

"; var hc=md.replace(/&/g,"&").replace(//g,">"); hc=hc.replace(/^### (.+)$/gm,"

$1

"); hc=hc.replace(/^## (.+)$/gm,"

$1

"); hc=hc.replace(/^# (.+)$/gm,"

$1

"); hc=hc.replace(/\*\*(.+?)\*\*/g,"$1"); hc=hc.replace(/\n{2,}/g,"

"); h+="

"+hc+"

Generated by PantheraHive BOS
"; zip.file(folder+app+".html",h); zip.file(folder+"README.md","# "+title+"\n\nGenerated by PantheraHive BOS.\n\nFiles:\n- "+app+".md (Markdown)\n- "+app+".html (styled HTML)\n"); } zip.generateAsync({type:"blob"}).then(function(blob){ var a=document.createElement("a"); a.href=URL.createObjectURL(blob); a.download=app+".zip"; a.click(); URL.revokeObjectURL(a.href); if(lbl)lbl.textContent="Download ZIP"; }); }; document.head.appendChild(sc); } function phShare(){navigator.clipboard.writeText(window.location.href).then(function(){var el=document.getElementById("ph-share-lbl");if(el){el.textContent="Link copied!";setTimeout(function(){el.textContent="Copy share link";},2500);}});}function phEmbed(){var runId=window.location.pathname.split("/").pop().replace(".html","");var embedUrl="https://pantherahive.com/embed/"+runId;var code='';navigator.clipboard.writeText(code).then(function(){var el=document.getElementById("ph-embed-lbl");if(el){el.textContent="Embed code copied!";setTimeout(function(){el.textContent="Get Embed Code";},2500);}});}