muapi-ai-clipping skill
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 dedupe, and vertical face-tracking auto-crop server-side. No local Whisper, no local LLM, no GPU.
Is the muapi-ai-clipping skill safe?
Clean: nothing in its files matched our rules. We read 1 file in the folder on 2026-09-28.
No findings.
Install the muapi-ai-clipping skill
A skill is a folder. Copy it into your agent's skills folder and the agent loads it when the task matches its description.
git clone --depth 1 https://github.com/SamurAIGPT/Generative-Media-Skills.git /tmp/Generative-Media-Skills mkdir -p ~/.claude/skills cp -r /tmp/Generative-Media-Skills/.opencode/skills/muapi-ai-clipping ~/.claude/skills/muapi-ai-clipping
In the Claude apps, zip the folder and upload it from the Skills settings. The folder on GitHub
The instructions your agent would load
SKILL.md as published, without the frontmatter. Read it on GitHub
AI Clipping
One API call: long video in → ranked vertical short clips out.
Each clip ships with a viral score (0–100), an opening hook line, a one-sentence "why it works" reason, and a hosted mp4 URL.
Underlying 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–75s 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
If the user gave only a video URL, run with defaults — don't block on questions.
Step 2 — Verify Prerequisites
- muapi-cli installed and authed (muapi auth configure)
- MUAPIAPIKEY available (env var or muapi auth status passes)
That's it. No ffmpeg, no Python, no Whisper install, no LLM keys. Everything runs server-side.
Step 3 — Run the Skill
bash library/edit/ai-clipping/scripts/run-ai-clipping.sh \
--video "https://example.com/podcast.mp4" \
--num-clips 5 \
--aspect-ratio 9:16 \
--viewThe script:
- Resolves --video to a hosted URL (uploads local files via muapi upload file if needed).
- Calls muapi edit clipping with the supported parameters.
- Polls until the job is done (or returns the request_id immediately under --async).
- 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.
This is why the skill is small: the heavy lifting is on the API.
Quick Invocation Patterns
Defaults — three 9:16 clips:
bash run-ai-clipping.sh --video "https://example.com/long.mp4"Podcast — more clips, view in player:
bash run-ai-clipping.sh --video "<URL>" --num-clips 8 --viewSquare clips for Instagram feed:
bash run-ai-clipping.sh --video "<URL>" --aspect-ratio 1:1 --num-clips 3Just the timestamps (build your own renderer):
bash run-ai-clipping.sh --video "<URL>" --coords-only --output-json result.jsonAsync submit (returns requestid, poll later):**
REQUEST_ID=$(bash run-ai-clipping.sh --video "<URL>" --async --output-json - | jq -r '.request_id')
muapi predict wait "$REQUEST_ID" --download ./outputsLocal file:
bash run-ai-clipping.sh --video ./recording.mp4 --num-clips 5 --viewBatch — urls.txt with one URL per line:
xargs -a urls.txt -I{} bash run-ai-clipping.sh --video "{}"Aspect Ratio Picker
Default to 9:16 unless the platform is specified.
Output Schema
{
"source_video_url": "...",
"shorts": [
{
"title": "The one mistake that cost me $50K",
"start_time": 124.3,
"end_time": 187.6,
"score": 92,
"hook_sentence": "Nobody talks about this, but it killed my first startup...",
"virality_reason": "Opens with a number + regret, peaks on a contrarian lesson",
"clip_url": "https://.../short_1.mp4"
}
]
}When --coords-only is set, each entry has starttime/endtime but no clip_url — render locally with ffmpeg.
When reporting back to the user, surface for each clip: rank, score, time range, title, hook, and clip URL.
Common Mistakes to Avoid
- Wrong aspect ratio for the platform — Shorts / TikTok / Reels are 9:16. Default to that.
- Padding to hit numclips** — if the API returns fewer survivors than requested, return what you have. Don't pretend.
- Re-running on a 404'd clip URL — the same request_id can be re-fetched with muapi predict wait rather than re-clipping.
- Trying to tune Whisper / chunk size / LLM prompts — those knobs aren't exposed; the endpoint handles them.
Failure Modes
- API key missing or rejected — surface the exact error; never fabricate a key.
- Job timed out — bump poll timeout (--poll-timeout) and retry.
- Source URL not reachable from the backend — upload locally with muapi upload file first, then pass the returned URL.
- Fewer clips returned than requested — the source had fewer rankable highlights. Return what came back with a note.
Done Criteria
The skill is done when:
- result.shorts has up to numclips entries, each with a working clipurl (or starttime/endtime under --coords-only).
- The user has been shown the ranked list (score, time range, title, hook, URL).
- If --output-json was set, the file exists and parses.
More skills from SamurAIGPT/Generative-Media-Skills
- Amuapi-3d-logo-animationTransform a 2D logo into a premium 3D version and animate it with professional cinematic effects.
- Amuapi-action-figure-generatorConvert a photo of a person into a custom 3D action figure, complete with collectible toy packaging.
- Amuapi-ad-creativeGenerate a high-converting ad creative set — hero image, ad copy variations, and platform-optimized crops for Meta, Google Display, and LinkedIn.
- Amuapi-ad-creativeGenerate a high-converting ad creative set — hero image, ad copy variations, and platform-optimized crops for Meta, Google Display, and LinkedIn.
- Amuapi-ai-clippingTurn 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 dedupe, and vertical face-tracking auto-crop server-side. No local Whisper, no local LLM, no GPU.
- Amuapi-ai-fight-sceneGenerate a high-cut-density action / fight scene by first composing a 16-cell storyboard image, then driving Seedance 2.0 image-to-video off that storyboard. Stacks GPT-Image-2 (character sheet + storyboard), Nano-Banana-2 (environment concept), and Seedance 2.0 i2v.
- Amuapi-amazon-product-listingGenerate a complete Amazon product listing image set — hero image, lifestyle shot, infographic with features, and comparison/detail closeups optimized for Amazon standards.
- Amuapi-animal-video-generatorCreate a hilarious and ultra-realistic video of an anthropomorphic animal acting like a human vlogger in a real-world setting.
- Amuapi-award-ceremony-videoGenerate a 15-second cinematic awards-ceremony video — a host announces a winner from the stage, a spotlight finds them in the crowd, they walk up to the podium, receive the award, and the LED display reveals their name and "THE BEST ACTOR".
- Amuapi-blog-headerCreate a professional, eye-catching blog post header image sized for web (1200×628) with optional title composition guidance.
- Amuapi-brand-kitGenerate a cohesive brand visual kit — logo concept, color palette moodboard, and typography pairing suggestions.
- Amuapi-brochuresGenerate a professional multi-page brochure design — cover, inner spread, and back cover — for business, real estate, events, or product launches.