Muapi ai clipping
/SKILLTurn a long video into N viral-ready short clips with a single managed API call. Wraps muapi.ai's `/ai-clipping` endpoint, which handles transcription, highlight ranking through a virality framework (
--- slug: muapi-ai-clipping name: muapi-ai-clipping version: "1.0.0" description: Turn a long video into N viral-ready short clips with a single managed API call. Wraps muapi.ai’s /ai-clipping endpoint, which handles transcription, highlight ranking through a virality framework (hook / emotional peak / opinion bomb / revelation / conflict / quotable / story peak / practical value), overlap deduplication, and server-side vertical face-tracking auto-crop. No local Whisper, no local LLM, no GPU. acceptLicenseTerms: true --- # AI Clipping One-API: long video in → ranked vertical short clips out. Each clip includes a viral score (0:100), an opening hook line, a one-sentence explanation of “why it works,” and a hosted MP4 URL. API: https://muapi.ai/playground/ai-clipping Reference implementation (open source): https://github.com/SamurAIGPT/AI-Youtube-Shorts-Generator --- ## When to Use - Auto-clip a podcast, interview, lecture, vlog, or stream into TikTok / Reels / Shorts. - Extract the best 30:75-second moments from any hosted video URL. - Get face-tracked vertical (9:16), square (1:1), or portrait (4:5) crops without running ffmpeg locally. If you only need raw timestamps for your own renderer, set --coords-only to skip cropping and just get the highlight ranges. --- ## Agent Execution Protocol ### Step 1 : Collect Inputs | Input | Required | Default | Notes | |:---|:---|:---|:---| | --video | yes | : | Hosted mp4 URL, or local file path (auto-uploaded), or YouTube URL (if backend supports it) | | --num-clips | no | 3 | Number of highlights to extract | | --aspect-ratio | no | 9:16 | 9:16 \| 1:1 \| 4:5 | | --coords-only | no | off | Return only the highlight time ranges; skip cropping | If the user provided only a video URL, run with default settings:do not block on questions. --- ### Step 2 : Verify Prerequisites - muapi-cli installed and authenticated (muapi auth configure) - MUAPI_API_KEY available (environment variable or muapi auth status passes) That's it. No ffmpeg, no Python, no Whisper installation, no LLM keys. Everything runs on the server side. --- ### Step 3 : Run the Skill ``bash bash library/edit/ai-clipping/scripts/run-ai-clipping.sh \ --video "https://example.com/podcast.mp4" \ --num-clips 5 \ --aspect-ratio 9:16 \ --view ` The script: 1. Resolves --video to a hosted URL (uploads local files via muapi upload file if needed). 2. Calls muapi edit clipping with the supported parameters. 3. Polls until the job is done (or returns the request_id immediately under --async ). 4. Prints a ranked summary and, if --output-json is set, writes the full result. --- ## What Happens Server-Side The /ai-clipping endpoint internally runs the full pipeline so the agent doesn't have to: - **Transcribe** with Whisper. - **Classify content type** (podcast / interview / tutorial / vlog / lecture / monologue). - **Rank highlights** through the virality framework: - **Hook moments** : strong opening line that stops the scroll - **Emotional peaks** : laughter, anger, vulnerability, awe - **Opinion bombs** : spicy, contrarian, debate-bait takes - **Revelation moments** : "wait, what?" reframes - **Conflict** : disagreement, tension, callouts - **Quotable lines** : tight, screenshot-worthy phrasing - **Story peaks** : climax of a narrative arc - **Practical value** : actionable insight a viewer will save - **Dedupe** overlapping candidates by score. - **Top-N select** and **face-track auto-crop** to the requested aspect ratio. This is why the skill is small: the heavy lifting is on the API. --- ## Quick Invocation Patterns **Defaults : three 9:16 clips:** `bash bash run-ai-clipping.sh --video "https://example.com/long.mp4" ` **Podcast : more clips, view in player:** `bash bash run-ai-clipping.sh --video "<URL>" --num-clips 8 --view ` **Square clips for Instagram feed:** `bash bash run-ai-clipping.sh --video "<URL>" --aspect-ratio 1:1 --num-clips 3 ` **Just the timestamps (build your own renderer):** `bash bash run-ai-clipping.sh --video "<URL>" --coords-only --output-json result.json ` **Async submit (returns request_id, poll later):** ``bash REQUEST_ID=$(ba