Delete directory 'projects/salon-social-media-system'
This commit is contained in:
@@ -1,6 +0,0 @@
|
|||||||
*.mp4
|
|
||||||
*.mov
|
|
||||||
*.avi
|
|
||||||
raw_footage/
|
|
||||||
*.tmp
|
|
||||||
.DS_Store
|
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
# Salon Social Media Production & Management System
|
|
||||||
|
|
||||||
**Hermes Agent Powered Pipeline for Phoenix Salon & Spa**
|
|
||||||
|
|
||||||
## Structure
|
|
||||||
- agents/: Role prompts and subagent configs
|
|
||||||
- docs/: Brand guidelines, calendar
|
|
||||||
- prompts/: Reusable prompts
|
|
||||||
- video/: Hyperframes + FFMPEG templates, clips
|
|
||||||
- assets/: Images and approved media
|
|
||||||
|
|
||||||
## Full Pipeline
|
|
||||||
1. Research (trends, local events)
|
|
||||||
2. Drafting (brand voice)
|
|
||||||
3. Video (clip, subtitle with Hyperframes, edit)
|
|
||||||
4. Review/QA
|
|
||||||
5. Postiz scheduling
|
|
||||||
6. Analytics feedback loop
|
|
||||||
|
|
||||||
Cron-ready. Human approval via Telegram.
|
|
||||||
|
|
||||||
See hermes-automation for execution scripts.
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
# Agents & Subagents
|
|
||||||
|
|
||||||
Hermes role prompts for research, writer, video editor, QA, etc.
|
|
||||||
@@ -1,3 +0,0 @@
|
|||||||
# Docs & Guidelines
|
|
||||||
|
|
||||||
Brand voice, content calendar, posting schedule for Phoenix Salon.
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
# Phoenix Salon & Spa Brand Voice Skill
|
|
||||||
|
|
||||||
## When to Use
|
|
||||||
Use this skill for any content generation, drafting, or review in the Phoenix Salon social media pipeline.
|
|
||||||
|
|
||||||
## Procedure
|
|
||||||
1. Warm, professional, empowering tone.
|
|
||||||
2. Focus on client education, local community (Cameron Park/Placerville), ethical visuals.
|
|
||||||
3. Content Pillars: Tips (60%), Social Proof (20%), Promotions (15%), Community (5%).
|
|
||||||
4. Always include soft CTA for bookings.
|
|
||||||
|
|
||||||
## Examples
|
|
||||||
See examples in video/ and social media/ folders.
|
|
||||||
|
|
||||||
## Verification
|
|
||||||
Review for warmth and local relevance.
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
# Phoenix Salon Video Production
|
|
||||||
|
|
||||||
Simple, high-quality tools for making professional Reels.
|
|
||||||
|
|
||||||
## Goal
|
|
||||||
Produce clean, on-brand 15–30 second vertical videos quickly without overcomplicating the process.
|
|
||||||
|
|
||||||
## Files in This Folder
|
|
||||||
|
|
||||||
| File | Purpose |
|
|
||||||
|------|--------|
|
|
||||||
| `hyperframes-reel-template.html` | Clean, production-ready HyperFrames template with good typography, logo placement, and timing structure |
|
|
||||||
| `ffmpeg-helpers.sh` | Simple, reliable commands for clipping, subtitles, vertical formatting, and exporting |
|
|
||||||
|
|
||||||
## Recommended Workflow (Minimal)
|
|
||||||
|
|
||||||
1. **Clip** the best 15–20 seconds from raw footage
|
|
||||||
2. **Add subtitles** (burn clean, readable captions)
|
|
||||||
3. **Make vertical** (1080x1920)
|
|
||||||
4. **Add logo** (optional but recommended)
|
|
||||||
5. **Export** optimized for Instagram / TikTok
|
|
||||||
|
|
||||||
## Quick Start
|
|
||||||
|
|
||||||
```bash
|
|
||||||
# Make sure ffmpeg-helpers.sh is executable
|
|
||||||
chmod +x ffmpeg-helpers.sh
|
|
||||||
|
|
||||||
# Example full flow
|
|
||||||
./ffmpeg-helpers.sh clip raw.mp4 00:00:08 00:00:18 part1.mp4
|
|
||||||
./ffmpeg-helpers.sh burn_subtitles part1.mp4 captions.srt part1_subs.mp4
|
|
||||||
./ffmpeg-helpers.sh make_vertical part1_subs.mp4 reel.mp4
|
|
||||||
./ffmpeg-helpers.sh add_logo reel.mp4 logo.png final.mp4
|
|
||||||
./ffmpeg-helpers.sh export_reel final.mp4 phoenix-reel.mp4
|
|
||||||
```
|
|
||||||
|
|
||||||
## Notes
|
|
||||||
- Keep raw footage outside of Git (use .gitignore)
|
|
||||||
- For best results, record in good lighting with clear audio
|
|
||||||
- Use the HyperFrames template when you want more animated captions or polished motion graphics
|
|
||||||
|
|
||||||
Ready to make great content for Phoenix Salon & Spa.
|
|
||||||
@@ -1,42 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# ============================================
|
|
||||||
# Phoenix Salon - Simple FFmpeg Helper Commands
|
|
||||||
# Production-ready, no over-engineering
|
|
||||||
# ============================================
|
|
||||||
|
|
||||||
# 1. Quick clip from raw footage (start time + duration)
|
|
||||||
clip() {
|
|
||||||
ffmpeg -i "$1" -ss "$2" -t "$3" -c:v libx264 -preset fast -crf 18 -c:a aac -b:a 128k "${4:-clip.mp4}"
|
|
||||||
echo "✅ Clipped: ${4:-clip.mp4}"
|
|
||||||
}
|
|
||||||
|
|
||||||
# 2. Burn clean subtitles (SRT file)
|
|
||||||
burn_subtitles() {
|
|
||||||
ffmpeg -i "$1" -vf "subtitles=$2:force_style='FontSize=48,PrimaryColour=&HFFFFFF&,OutlineColour=&H000000&,BorderStyle=3,Outline=2,Shadow=0'" -c:v libx264 -preset fast -crf 18 -c:a copy "${3:-with_subs.mp4}"
|
|
||||||
echo "✅ Subtitles burned: ${3:-with_subs.mp4}"
|
|
||||||
}
|
|
||||||
|
|
||||||
# 3. Resize to perfect vertical 9:16 for Reels/TikTok
|
|
||||||
make_vertical() {
|
|
||||||
ffmpeg -i "$1" -vf "scale=1080:1920:force_original_aspect_ratio=decrease,pad=1080:1920:(ow-iw)/2:(oh-ih)/2" -c:v libx264 -preset fast -crf 18 -c:a aac -b:a 128k "${2:-vertical.mp4}"
|
|
||||||
echo "✅ Made vertical 9:16: ${2:-vertical.mp4}"
|
|
||||||
}
|
|
||||||
|
|
||||||
# 4. Add logo (bottom center, with padding)
|
|
||||||
add_logo() {
|
|
||||||
ffmpeg -i "$1" -i "$2" -filter_complex "[1]scale=280:-1[logo];[0][logo]overlay=(W-w)/2:H-h-120" -c:v libx264 -preset fast -crf 18 -c:a copy "${3:-with_logo.mp4}"
|
|
||||||
echo "✅ Logo added: ${3:-with_logo.mp4}"
|
|
||||||
}
|
|
||||||
|
|
||||||
# 5. Full simple export (optimized for Instagram/TikTok)
|
|
||||||
export_reel() {
|
|
||||||
ffmpeg -i "$1" -c:v libx264 -preset slow -crf 19 -c:a aac -b:a 128k -movflags +faststart "${2:-final_reel.mp4}"
|
|
||||||
echo "✅ Exported optimized reel: ${2:-final_reel.mp4}"
|
|
||||||
}
|
|
||||||
|
|
||||||
# Quick usage examples:
|
|
||||||
# clip raw.mp4 00:00:12 00:00:18 best_part.mp4
|
|
||||||
# burn_subtitles clip.mp4 captions.srt final.mp4
|
|
||||||
# make_vertical final.mp4 reel.mp4
|
|
||||||
# add_logo reel.mp4 logo.png branded.mp4
|
|
||||||
# export_reel branded.mp4 phoenix-reel.mp4
|
|
||||||
@@ -1,142 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="en">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8">
|
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
||||||
<title>Phoenix Salon Reel Template</title>
|
|
||||||
<script src="https://cdn.tailwindcss.com"></script>
|
|
||||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css">
|
|
||||||
<style>
|
|
||||||
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Playfair+Display:wght@700&display=swap');
|
|
||||||
|
|
||||||
:root {
|
|
||||||
--salon-gold: #C5A26F;
|
|
||||||
--salon-dark: #2C2522;
|
|
||||||
}
|
|
||||||
|
|
||||||
body {
|
|
||||||
font-family: 'Inter', system_ui, sans-serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.heading-font {
|
|
||||||
font-family: 'Playfair Display', Georgia, serif;
|
|
||||||
}
|
|
||||||
|
|
||||||
.reel-container {
|
|
||||||
width: 1080px;
|
|
||||||
height: 1920px;
|
|
||||||
background: #1a1816;
|
|
||||||
position: relative;
|
|
||||||
overflow: hidden;
|
|
||||||
box-shadow: 0 25px 50px -12px rgb(0 0 0 / 0.4);
|
|
||||||
}
|
|
||||||
|
|
||||||
.caption {
|
|
||||||
font-size: 72px;
|
|
||||||
line-height: 1.1;
|
|
||||||
font-weight: 600;
|
|
||||||
color: white;
|
|
||||||
text-shadow: 0 4px 20px rgba(0,0,0,0.6);
|
|
||||||
padding: 0 60px;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
|
|
||||||
.caption-small {
|
|
||||||
font-size: 48px;
|
|
||||||
font-weight: 500;
|
|
||||||
}
|
|
||||||
|
|
||||||
.logo {
|
|
||||||
position: absolute;
|
|
||||||
bottom: 80px;
|
|
||||||
left: 50%;
|
|
||||||
transform: translateX(-50%);
|
|
||||||
font-size: 42px;
|
|
||||||
font-weight: 700;
|
|
||||||
color: #C5A26F;
|
|
||||||
letter-spacing: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.section {
|
|
||||||
position: absolute;
|
|
||||||
width: 100%;
|
|
||||||
padding: 0 80px;
|
|
||||||
box-sizing: border-box;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
</head>
|
|
||||||
<body class="bg-zinc-950 flex items-center justify-center min-h-screen p-8">
|
|
||||||
|
|
||||||
<!-- REEL PREVIEW -->
|
|
||||||
<div class="reel-container mx-auto" id="reel">
|
|
||||||
|
|
||||||
<!-- Background Video / Image Placeholder -->
|
|
||||||
<div id="background"
|
|
||||||
class="absolute inset-0 bg-cover bg-center"
|
|
||||||
style="background-image: url('https://picsum.photos/id/1011/1080/1920');">
|
|
||||||
<div class="absolute inset-0 bg-black/40"></div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Top Branding -->
|
|
||||||
<div class="absolute top-0 left-0 right-0 p-8 flex justify-between items-center z-10">
|
|
||||||
<div class="flex items-center gap-x-3">
|
|
||||||
<div class="w-9 h-9 rounded-full bg-[#C5A26F] flex items-center justify-center">
|
|
||||||
<i class="fa-solid fa-spa text-[#2C2522] text-xl"></i>
|
|
||||||
</div>
|
|
||||||
<div>
|
|
||||||
<div class="text-white text-2xl font-semibold tracking-tight">PHOENIX</div>
|
|
||||||
<div class="text-[#C5A26F] text-xs -mt-1 tracking-[3px]">SALON & SPA</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Main Caption Area -->
|
|
||||||
<div class="section flex flex-col justify-center h-full z-20" style="top: 28%;">
|
|
||||||
|
|
||||||
<!-- Hook Line -->
|
|
||||||
<div id="hook"
|
|
||||||
class="caption heading-font mb-6 opacity-0"
|
|
||||||
style="animation: fadeUp 0.6s forwards 0.3s;">
|
|
||||||
Your scalp deserves
|
|
||||||
<span class="text-[#C5A26F]">this.</span>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Body Text -->
|
|
||||||
<div id="body-text"
|
|
||||||
class="caption caption-small opacity-0"
|
|
||||||
style="animation: fadeUp 0.6s forwards 0.9s; max-width: 820px; margin: 0 auto;">
|
|
||||||
60 seconds to healthier hair this summer
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Bottom CTA -->
|
|
||||||
<div class="absolute bottom-0 left-0 right-0 p-8 z-20">
|
|
||||||
<div class="flex flex-col items-center">
|
|
||||||
<div id="cta"
|
|
||||||
class="bg-white text-[#2C2522] px-10 py-4 rounded-2xl font-semibold text-3xl tracking-tight mb-4 opacity-0"
|
|
||||||
style="animation: fadeUp 0.5s forwards 1.6s;">
|
|
||||||
Book now
|
|
||||||
</div>
|
|
||||||
<div class="text-white/70 text-xl">Cameron Park • Placerville</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Logo -->
|
|
||||||
<div class="logo tracking-[6px] opacity-90">PHOENIX</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
// Tailwind script for any dynamic classes if needed
|
|
||||||
function updateReelContent(hook, body, cta) {
|
|
||||||
document.getElementById('hook').innerHTML = hook;
|
|
||||||
document.getElementById('body-text').innerHTML = body;
|
|
||||||
document.getElementById('cta').innerHTML = cta;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Example: updateReelContent("Summer hair rescue", "Start with a scalp treatment", "Book your spot");
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
@@ -1,70 +0,0 @@
|
|||||||
# Salon Reel Video Pipeline Skill
|
|
||||||
|
|
||||||
**When to use this skill:**
|
|
||||||
You are producing short vertical Reels (9:16) for Phoenix Salon & Spa social media. The goal is fast, high-quality clips that educate, engage, and drive bookings. Typical length: 15-30 seconds.
|
|
||||||
|
|
||||||
**Core Principles (from OpenMontage patterns):**
|
|
||||||
- Break every video into clear stages with quality gates.
|
|
||||||
- Prefer real client footage + tasteful enhancements over heavy AI generation.
|
|
||||||
- Human approval is required before final render and before posting.
|
|
||||||
- Use HyperFrames for polished subtitles/overlays when possible; fall back to FFmpeg for speed.
|
|
||||||
|
|
||||||
**Pipeline Stages**
|
|
||||||
|
|
||||||
1. **Intake & Planning**
|
|
||||||
- Understand the goal of the Reel (educational tip, service highlight, promotion, behind-the-scenes).
|
|
||||||
- Identify key moments in raw footage or script.
|
|
||||||
- Decide on music mood, text overlays, and CTA.
|
|
||||||
|
|
||||||
2. **Clipping & Trimming**
|
|
||||||
- Extract the strongest 8-25 second segment(s).
|
|
||||||
- Use FFmpeg for fast, precise cuts:
|
|
||||||
```bash
|
|
||||||
ffmpeg -i input.mp4 -ss 00:00:05 -t 15 -c copy clip.mp4
|
|
||||||
```
|
|
||||||
- Keep multiple options if unsure.
|
|
||||||
|
|
||||||
3. **Transcription & Subtitling**
|
|
||||||
- Transcribe spoken content.
|
|
||||||
- Create big, readable, timed subtitles (karaoke or highlight style preferred for Reels).
|
|
||||||
- Use HyperFrames when high visual polish is needed.
|
|
||||||
- Burn subtitles with FFmpeg when speed matters:
|
|
||||||
```bash
|
|
||||||
ffmpeg -i clip.mp4 -vf "subtitles=subs.srt:force_style='Fontsize=24,PrimaryColour=&H00FFFFFF'" -c:a copy output.mp4
|
|
||||||
```
|
|
||||||
|
|
||||||
4. **Visual Enhancement & Branding**
|
|
||||||
- Add Phoenix Salon logo (lower third or corner).
|
|
||||||
- Color grade lightly for warm, relaxing spa feel.
|
|
||||||
- Add subtle transitions and motion graphics via HyperFrames if time allows.
|
|
||||||
- Ensure vertical 1080x1920 output.
|
|
||||||
|
|
||||||
5. **Audio Polish**
|
|
||||||
- Normalize audio levels.
|
|
||||||
- Add royalty-free background music that matches the mood (calm for education, upbeat for promotions).
|
|
||||||
- Duck music under voice.
|
|
||||||
|
|
||||||
6. **Quality Gate (Self-Review)**
|
|
||||||
- Watch the full clip.
|
|
||||||
- Check: readability of text, brand consistency, pacing, audio clarity, no spelling errors.
|
|
||||||
- Flag anything that feels off-brand or low quality.
|
|
||||||
|
|
||||||
7. **Human Approval Gate**
|
|
||||||
- Present the rendered Reel + description of changes to the human.
|
|
||||||
- Only proceed to export/finalize after explicit approval.
|
|
||||||
|
|
||||||
**Output Requirements**
|
|
||||||
- Final file must be vertical (1080x1920), under 30 seconds, H.264, good compression for social.
|
|
||||||
- Include caption text ready for Postiz.
|
|
||||||
- Log what worked well for future learning.
|
|
||||||
|
|
||||||
**Tools to Use**
|
|
||||||
- Terminal skill for FFmpeg commands
|
|
||||||
- HyperFrames skill for advanced composition and subtitles
|
|
||||||
- Browser or file tools for assets (logo, music)
|
|
||||||
|
|
||||||
**Pitfalls to Avoid**
|
|
||||||
- Over-editing (keep it natural and authentic for a salon).
|
|
||||||
- Tiny unreadable text on mobile.
|
|
||||||
- Forgetting the CTA at the end.
|
|
||||||
- Posting without human review on brand-sensitive content.
|
|
||||||
Reference in New Issue
Block a user