Paste 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:
bash
export MAKEAICLIPS_API_KEY="mak_live_..."
text
⚡ 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
json
{
"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:
ParamTypeDefaultOptionsyoutube_urlstringrequiredAny YouTube URLnum_clipsint31–10caption_stylestring"karaoke-yellow"See Caption Stylestitle_stylestring"bold-center"See Title Stylestitle_durationstring"5"``"5", "10", "30", "half", "full"``clip_durationstring"medium"``"short" (15-30s), "medium" (30-60s), "long" (60-120s)qualitystring"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:
json
{
"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 workspaceKeyNameLookkaraoke-yellowKaraokeWhite text, active word turns yellow (default)white-shadowClean WhiteWhite text with drop shadowboxedBoxedText in dark rounded boxesgradient-boldBold OutlineOrange/white color alternatingsubtitle-documentaryDocumentaryUppercase with fade, letterbox barsmrbeast-bold-viralMrBeastBold viral-style captionsalex-hormoziHormoziBold with colored outlinesneon-viralNeonGlowing neon multi-colorimpact-memeImpact MemeBold uppercase meme textmodern-creatorModernContemporary creator-stylegradient-viralGradientMulti-color gradient fillbold-box-highlightBox HighlightHeavy highlighted boxclean-premiumPremiumMinimalist clean aesthetic
KeyNameLooktypewriterTypewriterCharacter-by-character revealcinematicCinematicLetterbox + elegant serif font
KeyNamenoneNo title overlaybold-centerWhite bold centered (default)top-barDark bar at toppillYellow pill backgroundoutlineWhite outline bordergradient-bgPurple background box
KeyCRFSpeedUse Casehigh18SlowestBest quality (default)medium23BalancedGood quality, fasterlow28FastestQuick previews
StatusMeaningAction400Missing youtube_urlCheck params401Invalid/missing API keyRe-check key404Job not foundCheck job_id429Clip limit reachedShow upgrade options500Server errorRetry in 30s
On 429, show:
text
📊 Clip limit reached. Upgrade at https://makeaiclips.live/dashboard/subscription
quality: "high", caption_style: "karaoke-yellow" unless user specifies{video_title}_clip{N}.mp4bash
# 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"