Untitled
unknown
typescript
8 months ago
5.6 kB
6
Indexable
import type { AvatarModel } from "~/types/avatar";
const vslPrompts = {
base: `Today you are my expert marketing assistant helping me create a Mini VSL (Video Sales Letter). The Mini VSL is designed to build maximum authority and influence in a short time while selling prospects on me and my unique mechanism.
I help [avatar] achieve [core_value] using [offers].`,
marketTrends: "What are the current trends in [industry] that could influence [avatar]?",
challenges: "What are common challenges faced by [avatar] in [industry]? Provide detailed solutions that could be discussed in a Mini VSL.",
psychologicalTriggers:
"What psychological triggers are most effective when marketing to [avatar]? Can you explain how these can be ethically used in a Mini VSL?",
painPoints:
"My avatar [avatar] has these pain points: [pain_points]. How can I address these effectively in my Mini VSL?",
desires:
"My avatar [avatar] wants: [wants]. How can I position my offer to fulfill these desires in my Mini VSL?",
objections:
"My avatar [avatar] might object with: [objections]. How should I preemptively address these concerns in my Mini VSL?",
comprehensive: `Create a comprehensive Mini VSL script that follows this specific structure:
1. ATTENTION (30-40 seconds)
- Create an attention-grabbing hook for [avatar] that addresses their pain points: [pain_points]
- Provide a clear overview of what viewers will learn
- Address potential skepticism
- State your intention to share what's working
- Define who this video is for and who it's not for
2. YOUR STORY (2-3 minutes)
- Introduce yourself and your journey in [industry]
- Share why you've adopted your particular method
- Describe the pain you felt in discovering your process/mechanism
- Build credibility through personal experience
3. YOUR MECHANISM (6-7 minutes)
- Clearly differentiate the "old way" from the "new way" you've developed
- Break down your unique model [offers] in detail
- Explain how it specifically helps achieve [core_value]
4. STRATEGIES & TACTICS (6 minutes)
- Highlight high-level benefits of your system
- Compare traditional benefits with your new approach
- Discuss how the mechanism works in practical terms
- Use specific examples that [avatar] can relate to
5. UNIQUE BENEFIT (4 minutes)
- Focus on 1-2 key benefits that specifically address [wants]
- Explain why these benefits are uniquely possible with your mechanism
- Connect these benefits directly to [avatar]'s desired outcomes
6. TEAM & SOCIAL PROOF (1-2 minutes)
- Explain your process implementation
- Share success stories and case studies
- Preemptively address potential objections: [objections]
- Use testimonials or results that build credibility
7. CALL TO ACTION (2-3 minutes)
- End with a compelling, clear call to action
- Create urgency without being pushy
- Reinforce the primary value proposition
- Make the next steps simple and obvious
The script should be conversational, authoritative, and build maximum credibility in 24-25 minutes total. Focus on how your mechanism solves [avatar]'s problems in a way that's different from conventional approaches in [industry].`
};
export default vslPrompts;
/**
* Generates a tailored VSL prompt based on avatar data and selected prompt type
*
* This function creates structured prompts for video sales letters following
* best practices for AI-assisted content generation. It replaces placeholders
* with actual avatar data to create personalized marketing scripts.
*
* @param avatar - The customer avatar model containing detailed profile information
* @param promptType - The specific VSL prompt template to use (defaults to comprehensive)
* @returns A fully formatted prompt ready for AI model consumption
*/
export const getVSLPrompts = ({
avatar,
promptType = 'comprehensive'
}: {
avatar: AvatarModel;
promptType?: keyof typeof vslPrompts;
}) => {
// Extract values from avatar or use placeholders
const coreValue = avatar.coreValue?.value || "their desired outcome";
const painPoints = avatar.hates?.map(item => item.value).join(", ") || "their main challenges";
const wants = avatar.wants?.map(item => item.value).join(", ") || "their primary goals";
const objections = avatar.objections?.map(item => item.value).join(", ") || "common industry objections";
const offers = avatar.offers?.map(item => item.value).join(", ") || "offers so appealing to them they would feel stupid to say no";
// Get the requested prompt template
const promptTemplate = vslPrompts[promptType] || vslPrompts.comprehensive;
// Replace all placeholders with actual values
const formattedPrompt = promptTemplate
.replace(/\[avatar]/g, avatar.title.value)
.replace(/\[core_value]/g, coreValue)
.replace(/\[offers]/g, offers)
.replace(/\[pain_points]/g, painPoints)
.replace(/\[wants]/g, wants)
.replace(/\[objections]/g, objections);
// Create a system prompt that guides the AI model's response format
const systemPrompt = `You are an expert marketing consultant specializing in Video Sales Letters.
Your task is to help create a compelling Mini VSL that builds authority and sells the creator's unique mechanism.
Focus on conversational, authentic language that connects with ${avatar.title.value}.
Structure your response according to the sections requested, with appropriate timing for each section.
Ensure all content is ethical, value-focused, and addresses the specific needs of the target audience.
${formattedPrompt}`;
return systemPrompt;
};
Editor is loading...
Leave a Comment