by nosselil
⚡ OpenClaw agent skill: Turn YouTube videos into viral TikTok/Reels/Shorts clips with AI captions, hook titles, and 15+ styles in 60 seconds
# Add to your Claude Code skills
git clone https://github.com/nosselil/MakeAIClips-YouTube-to-Viral-Clips-openclaw-skillPaste a YouTube link → get up to 10 vertical clips with word-by-word captions and hook titles in ~60 seconds.
Website: https://makeaiclips.live
API Base: https://makeaiclips.live
Check for MAKEAICLIPS_API_KEY environment variable.
Direct the user to sign up at https://makeaiclips.live/sign-up — free, no credit card. They'll get an API key on the dashboard at https://makeaiclips.live/dashboard/api-key.
Once the user has their key, set it as an environment variable:
export MAKEAICLIPS_API_KEY="mak_live_..."
⚡ MakeAIClips — AI Video Clipper
Paste a YouTube link → get vertical clips with captions & hook titles in ~60 seconds.
What you get:
• AI picks the best moments from your video
• 1080x1920 vertical crop (9:16)
• Word-by-word burned-in captions (8+ styles)
• 3 hook title variations per clip (5 title styles)
• Ready for TikTok, Instagram Reels, YouTube Shorts
Plans:
🆓 Free — 10 clips/month (no credit card needed)
⚡ Pro — $20/mo — 100 clips
🎬 Studio — $50/mo — 300 clips + 2 premium caption styles
📅 Yearly — $500/yr — 5,000 clips + all features
🔗 https://makeaiclips.live
All authenticated requests require header: Authorization: Bearer <MAKEAICLIPS_API_KEY>
POST /api/v1/clips
{
"youtube_url": "https://www.youtube.com/watch?v=...",
"num_clips": 3,
"caption_style": "karaoke-yellow",
"title_style": "bold-center",
"title_duration": "5",
"clip_duration": "medium",
"quality": "high"
}
Returns: {"job_id": "...", "status": "pending"}
Parameters:
| Param | Type | Default | Options |
|-------|------|---------|---------|
| youtube_url | string | required | Any YouTube URL |
| num_clips | int | 3 | 1–10 |
| caption_style | string | "karaoke-yellow" | See Caption Styles |
| title_style | string | "bold-center" | See Title Styles |
| title_duration | string | "5" | "5", "10", "30", "half", "full" |
| clip_duration | string | "medium" | "short" (15-30s), "medium" (30-60s), "long" (60-120s) |
| quality | string | "high" | "high" (CRF 18), "medium" (CRF 23), "low" (CRF 28) |
POST /api/v1/clips/upload (multipart form)
Fields: file (video file), caption_style, title_style, title_duration, clip_duration, num_clips, quality
GET /api/v1/clips/{job_id}
Poll every 5 seconds until status is complete or failed.
Progress values: Downloading video... → Transcribing audio... → Selecting best clips with AI... → Rendering clip 1/N... → Done!
Complete response includes clips array:
{
"job_id": "...",
"status": "complete",
"progress": "Done!",
"clips": [
{
"clip_index": 1,
"duration_seconds": 35.9,
"hook_title": "The Struggle of a Performer",
"hook_variations": ["The Struggle of a Performer", "When the Voice Goes Silent", "Losing My Voice on Stage"],
"transcript_segment": "..."
}
]
}
GET /api/v1/clips/{job_id}/download/{clip_index}
Returns MP4 file. Save with -o clip_N.mp4.
POST /api/v1/clips/{job_id}/rerender/{clip_index}
Body: {"hook_title": "New Title Here"}
GET /api/health — Returns {"status": "ok"}
POST /api/v1/clips with youtube_url and preferencesGET /api/v1/clips/{job_id} every 5s, show progress to userGET /api/v1/clips/{job_id}/download/{clip_index} and save to workspace| Key | Name | Look |
|-----|------|------|
| karaoke-yellow | Karaoke | White text, active word turns yellow (default) |
| white-shadow | Clean White | White text with drop shadow |
| boxed | Boxed | Text in dark rounded boxes |
| gradient-bold | Bold Outline | Orange/white color alternating |
| subtitle-documentary | Documentary | Uppercase with fade, letterbox bars |
| mrbeast-bold-viral | MrBeast | Bold viral-style captions |
| alex-hormozi | Hormozi | Bold with colored outlines |
| neon-viral | Neon | Glowing neon multi-color |
| impact-meme | Impact Meme | Bold uppercase meme text |
| modern-creator | Modern | Contemporary creator-style |
| gradient-viral | Gradient | Multi-color gradient fill |
| bold-box-highlight | Box Highlight | Heavy highlighted box |
| clean-premium | Premium | Minimalist clean aesthetic |
| Key | Name | Look |
|-----|------|------|
| typewriter | Typewriter | Character-by-character reveal |
| cinematic | Cinematic | Letterbox + elegant serif font |
| Key | Name |
|-----|------|
| none | No title overlay |
| bold-center | White bold centered (default) |
| top-bar | Dark bar at top |
| pill | Yellow pill background |
| outline | White outline border |
| gradient-bg | Purple background box |
| Key | CRF | Speed | Use Case |
|-----|-----|-------|----------|
| high | 18 | Slowest | Best quality (default) |
| medium | 23 | Balanced | Good quality, faster |
| low | 28 | Fastest | Quick previews |
| Status | Meaning | Action | |--------|---------|--------| | 400 | Missing youtube_url | Check params | | 401 | Invalid/missing API key | Re-check key | | 404 | Job not found | Check job_id | | 429 | Clip limit reached | Show upgrade options | | 500 | Server error | Retry in 30s |
On 429, show:
📊 Clip limit reached. Upgrade at https://makeaiclips.live/dashboard/subscription
quality: "high", caption_style: "karaoke-yellow" unless user specifies{video_title}_clip{N}.mp4# Submit job
curl -X POST "https://makeaiclips.live/api/v1/clips" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer mak_live_YOUR_KEY" \
-d '{"youtube_url":"https://www.youtube.com/watch?v=dQw4w9WgXcQ","num_clips":3,"quality":"high","caption_style":"karaoke-yellow"}'
# Poll status
curl "https://makeaiclips.live/api/v1/clips/JOB_ID" \
-H "Authorization: Bearer mak_live_YOUR_KEY"
# Download clip
curl -o clip_1.mp4 "https://makeaiclips.live/api/v1/clips/JOB_ID/download/1" \
-H "Authorization: Bearer mak_live_YOUR_KEY"
Turn any YouTube video into TikTok, Instagram Reels, and YouTube Shorts clips — with burned-in captions and AI-generated hook titles — in ~60 seconds.
Give your AI agent the ability to create short-form video content from YouTube links:
clawhub install captions-and-clips-from-youtube-link
Copy the SKILL.md and skill.json into your OpenClaw workspace skills/ directory.
export MAKEAICLIPS_API_KEY="mak_live_your_key_here"
Just tell your agent:
"Make clips from this YouTube video: https://youtube.com/watch?v=..."
The agent will:
| Style | Preview |
|-------|---------|
| karaoke-yellow | White text, active word highlighted in yellow |
| white-shadow | Clean white with drop shadow |
| boxed | Text in dark rounded boxes |
| gradient-bold | Orange/white alternating |
| subtitle-documentary | Uppercase with fade + letterbox |
| typewriter ⭐ | Character-by-character reveal |
| cinematic ⭐ | Elegant serif with letterbox bars |
| + 8 more styles | MrBeast, Hormozi, neon, gradient, etc. |
⭐ = Studio plan exclusive
| Style | Look |
|-------|------|
| bold-center | White bold centered (default) |
| top-bar | Dark semi-transparent bar |
| pill | Yellow pill background |
| outline | White outline border |
| gradient-bg | Purple background box |
| none | No title |
| Quality | CRF | Best For |
|---------|-----|----------|
| high | 18 | Publishing (default) |
| medium | 23 | Balance of speed & quality |
| low | 28 | Quick previews |
# Submit
curl -X POST "https://makeaiclips.live/api/v1/clips" \
-H "Cont...
No comments yet. Be the first to share your thoughts!