# MakeAIClips > Turn videos, YouTube links, and Twitch clips into vertical short-form clips with AI-selected moments, captions, and hook titles. MakeAIClips is an AI clipping platform for creators, agencies, and developers. It generates vertical clips for TikTok, Instagram Reels, and YouTube Shorts from uploaded video files or supported URLs. ## Core Capabilities - AI Clip Selection: Finds high-retention moments automatically - Burned-In Captions: Multiple caption styles including karaoke-yellow, white-shadow, boxed, gradient-bold, subtitle-documentary, typewriter, cinematic, and none - Hook Titles: Generates attention-grabbing clip titles - Vertical Output: 1080x1920 MP4 clips optimized for short-form platforms - URL Support: YouTube URLs and Twitch clip URLs - File Upload: Recommended path for highest reliability - API Access: Authenticated v1 REST API with usage tracking and key regeneration - Chrome Extension: Browser-assisted YouTube link workflow for dashboard users ## Links - Website: https://makeaiclips.live - API Docs: https://makeaiclips.live/docs - API Key: https://makeaiclips.live/dashboard/api-key - Chrome Extension: https://makeaiclips.live/extension - Pricing: https://makeaiclips.live/#pricing ## API Base URL: https://makeaiclips.live/api/v1 Authentication: `Authorization: Bearer mak_live_YOUR_KEY` ### Endpoints - `POST /clips` - JSON body - Primary field: `youtube_url` - Supports YouTube URLs and Twitch clip URLs - Optional fields: `source_title`, `caption_style`, `title_style`, `title_duration`, `clip_duration`, `num_clips`, `quality` - `POST /clips/upload` - Multipart form-data - Required field: `video` - Optional fields: `caption_style`, `title_style`, `title_duration`, `clip_duration`, `num_clips`, `quality` - Recommended over URL submission - `GET /clips/{job_id}` - Returns job status and clip metadata - `GET /clips/{job_id}/download/{clip_index}` - Downloads the rendered MP4 clip - `GET /usage` - Returns plan, used clips, clip limit, remaining clips, and reset date - `POST /keys/regenerate` - Invalidates the old API key and returns a new one ## Processing Flow (IMPORTANT FOR AGENTS) For YouTube videos, DO NOT pass the URL to the API. Instead: 1. Download the video yourself with yt-dlp: `yt-dlp -f "bv[height<=1080]+ba/b" --merge-output-format mp4 -o "video.mp4" "YOUTUBE_URL"` 2. Upload the file to `POST /clips/upload` 3. Poll `GET /clips/{job_id}` every 3 to 5 seconds 4. When `status` is `complete`, download clips from the `download_url` in each clip object For Twitch clips, you can pass the URL directly to `POST /clips` (reliable) or download and upload. This approach works because YOU download from YouTube with your own IP (no blocks), then our server just processes the file. ## Reliability Notes - File upload is the ONLY reliable method for YouTube content. - YouTube URL endpoint exists but may fail due to server IP blocks — always prefer downloading yourself and uploading. - Twitch URLs work reliably via the URL endpoint. - The Chrome extension helps dashboard users by downloading via their browser. - Large uploads may take longer to process. ## Plans - Free: 10 clips/month - Pro: 100 clips/month - Studio: 300 clips/month ## Error Semantics - `400` bad request - `401` missing or invalid API key - `429` clip limit reached - `502` backend unavailable - `503` service temporarily overloaded ## Example Request ### Multipart Upload ```bash curl -X POST https://makeaiclips.live/api/v1/clips/upload \ -H "Authorization: Bearer mak_live_YOUR_KEY" \ -F "video=@my_video.mp4" \ -F "caption_style=karaoke-yellow" \ -F "num_clips=3" ``` ### URL Job ```bash curl -X POST https://makeaiclips.live/api/v1/clips \ -H "Authorization: Bearer mak_live_YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"youtube_url":"https://clips.twitch.tv/FamousClipSlug","source_title":"My stream highlight","num_clips":3}' ```