sushilideaclan01 commited on
Commit
bf50e29
·
1 Parent(s): fb3bb56
Files changed (1) hide show
  1. services/generator.py +26 -0
services/generator.py CHANGED
@@ -472,6 +472,18 @@ NICHE-SPECIFIC REQUIREMENTS (GLP-1 / WEIGHT LOSS):
472
  - AVOID: unrealistic body standards, extreme before/after manipulation
473
  - AVOID: medical claims without proper framing, shame-based imagery only
474
  - Include elements of: medical authority, social proof, simplicity, variety
 
 
 
 
 
 
 
 
 
 
 
 
475
  """
476
  return ""
477
 
@@ -485,6 +497,8 @@ NICHE-SPECIFIC REQUIREMENTS (GLP-1 / WEIGHT LOSS):
485
  return "Consider using oddly specific prices (e.g., $97.33 instead of $100) if the ad format calls for it. Typical range: $37-$147/month. Only include if it enhances believability and fits the ad format."
486
  elif niche == "glp1":
487
  return "Consider using specific prices if relevant to the ad format. Typical range: $197-$497. Only include if it enhances the message and fits the ad strategy."
 
 
488
  return "Use contextually appropriate prices if the ad format requires them. Make them oddly specific (not rounded) for believability."
489
 
490
  def _generate_niche_numbers(self, niche: str) -> Dict[str, str]:
@@ -517,6 +531,18 @@ NICHE-SPECIFIC REQUIREMENTS (GLP-1 / WEIGHT LOSS):
517
  "sizes": f"{sizes_dropped} dress sizes",
518
  "metric": "pounds lost",
519
  }
 
 
 
 
 
 
 
 
 
 
 
 
520
  return {}
521
 
522
  def _get_framework_container_compatibility(self, framework_key: str) -> List[str]:
 
472
  - AVOID: unrealistic body standards, extreme before/after manipulation
473
  - AVOID: medical claims without proper framing, shame-based imagery only
474
  - Include elements of: medical authority, social proof, simplicity, variety
475
+ """
476
+ elif niche == "auto_insurance":
477
+ return """
478
+ NICHE-SPECIFIC REQUIREMENTS (AUTO INSURANCE):
479
+ - Focus on REALISTIC driving scenarios and protection
480
+ - Show real situations: safe driving, accidents, family safety, financial protection
481
+ - Use authentic emotions: fear of accidents, relief of coverage, family responsibility, savings
482
+ - Target pain points: high premiums, accident fears, coverage gaps, legal requirements
483
+ - Messaging must feel URGENT but trustworthy
484
+ - Visual concepts: real drivers, real cars, real protection scenarios, savings proof
485
+ - AVOID: extreme accident scenes, fear-mongering, unrealistic scenarios
486
+ - AVOID: generic stock photos, overly dramatic crash imagery
487
  """
488
  return ""
489
 
 
497
  return "Consider using oddly specific prices (e.g., $97.33 instead of $100) if the ad format calls for it. Typical range: $37-$147/month. Only include if it enhances believability and fits the ad format."
498
  elif niche == "glp1":
499
  return "Consider using specific prices if relevant to the ad format. Typical range: $197-$497. Only include if it enhances the message and fits the ad strategy."
500
+ elif niche == "auto_insurance":
501
+ return "Consider using oddly specific prices (e.g., $29.00 or $67.33 instead of $30 or $70) if the ad format calls for it. Typical range: $29-$150/month. Only include if it enhances believability and fits the ad format."
502
  return "Use contextually appropriate prices if the ad format requires them. Make them oddly specific (not rounded) for believability."
503
 
504
  def _generate_niche_numbers(self, niche: str) -> Dict[str, str]:
 
531
  "sizes": f"{sizes_dropped} dress sizes",
532
  "metric": "pounds lost",
533
  }
534
+ elif niche == "auto_insurance":
535
+ # Auto insurance savings numbers
536
+ before = random.randint(1200, 2400)
537
+ savings_pct = random.uniform(0.50, 0.70)
538
+ after = int(before * (1 - savings_pct))
539
+ return {
540
+ "type": "savings",
541
+ "before": f"${before:,}/year",
542
+ "after": f"${after}/year",
543
+ "difference": f"${before - after:,}",
544
+ "metric": "savings per year",
545
+ }
546
  return {}
547
 
548
  def _get_framework_container_compatibility(self, framework_key: str) -> List[str]: