muapi-youtube-shorts
samuraigpt/generative-media-skills
Auto-generate viral 9:16 YouTube Shorts, TikTok, or Reels clips from long-form video with platform-tuned defaults.
What is muapi-youtube-shorts?
This skill converts long-form videos into ranked short-form clips optimized for YouTube Shorts, TikTok, Instagram Reels, or Feed. It wraps muapi.ai's AI Clipping endpoint with platform-aware presets (9:16 aspect ratio, 30–60s clips, virality ranking) and handles transcription, highlight extraction, deduplication, and face-tracked cropping server-side.
- Transcribes audio and ranks highlights by virality (hooks, emotional peaks, quotable lines, practical value)
- Deduplicates overlapping candidates and selects top-N clips with face-tracked vertical crops
- Supports YouTube Shorts, TikTok, Instagram Reels, and Feed with platform-specific defaults
- Returns ranked clips with scores (0–100), opening hook lines, and virality reasoning
- Handles batch processing and async submission with polling for long jobs
How to install muapi-youtube-shorts
npx skills add https://github.com/samuraigpt/generative-media-skills --skill muapi-youtube-shorts- muapi-cli installed and authenticated (muapi auth configure)
- MUAPI_API_KEY environment variable set
How to use muapi-youtube-shorts
- 1.Install the skill via npx skills add
- 2.Provide a YouTube URL, hosted mp4 URL, or local file path with --source
- 3.Optionally specify --platform (shorts, tiktok, reels, or feed) to use platform defaults
- 4.Run the script: bash run-youtube-shorts.sh --source "<URL>" --platform shorts
- 5.Review the ranked clip list with scores, hook sentences, and clip URLs in the output
Use cases
- Convert a 60-minute podcast or interview into 5 TikTok-ready clips ranked by engagement potential
- Extract 3 YouTube Shorts from a long-form educational video with automatic hook detection
- Generate square Instagram Feed clips from vertical source material
- Batch-process multiple video URLs to populate a short-form content calendar
- Content creators and social media managers
- Podcast and video producers scaling to multiple platforms
- Marketing teams repurposing long-form content
- Agents automating short-form clip generation workflows
muapi-youtube-shorts FAQ
This skill is a platform-aware preset wrapper around AI Clipping. Use this for YouTube Shorts / TikTok / Reels with sensible defaults; use AI Clipping directly if you need full control over aspect ratio, clip count, or raw timestamps.
No. Transcription, highlight ranking, deduplication, and cropping all run server-side via muapi.ai's /ai-clipping endpoint. You only need muapi-cli and a valid API key.
The source video may have fewer rankable highlights. The skill returns what survived ranking and deduplication without padding with low-score filler.
Yes. Use batch mode with xargs: xargs -a urls.txt -I{} bash run-youtube-shorts.sh --source "{}" or submit async with --async and poll later.
Clips are ranked by a virality framework that scores hooks, emotional peaks, opinion bombs, revelations, conflict, quotable lines, story peaks, and practical value. Each clip includes its score (0–100) and a one-sentence explanation of why it works.
Full instructions (SKILL.md)
Source of truth, from samuraigpt/generative-media-skills.
slug: muapi-youtube-shorts
name: muapi-youtube-shorts
version: "2.0.0"
description: Auto-generate viral 9:16 YouTube Shorts (or TikTok / Reels clips) from a long-form video. Thin platform-aware wrapper around the AI Clipping skill — picks sensible defaults for short-form social platforms (9:16, 30–60s sweet spot) and delegates the actual highlight extraction + crop to muapi.ai's /ai-clipping endpoint.
acceptLicenseTerms: true
YouTube Shorts Generator
Long video → ranked vertical short clips, tuned for short-form social.
This skill is a platform-aware preset over the AI Clipping primitive. It picks the right aspect ratio and clip count for the target platform and delegates highlight extraction, dedupe, and face-tracked auto-crop to muapi.ai's managed /ai-clipping endpoint.
Reference implementation: https://github.com/SamurAIGPT/AI-Youtube-Shorts-Generator Underlying API: https://muapi.ai/playground/ai-clipping
When to Use This vs. AI Clipping
| Use this skill when… | Use AI Clipping directly when… |
|---|---|
| Target is YouTube Shorts / TikTok / Reels | You want full control over aspect / count |
| You want platform-tuned defaults | You want raw timestamps (--coords-only) |
You'd rather pass --platform tiktok than think about ratios | You're integrating into a custom renderer |
Agent Execution Protocol
Step 1 — Collect Inputs
| Input | Default | Notes |
|---|---|---|
--source | — | YouTube URL, hosted mp4 URL, or local file |
--platform | shorts | shorts | tiktok | reels | feed (sets ratio + count defaults) |
--num-clips | platform default | Override clip count |
--aspect-ratio | platform default | Override aspect ratio |
If the user gave only a URL, run with platform defaults — don't block.
Step 2 — Verify Prerequisites
muapi-cliinstalled and authed (muapi auth configure)MUAPI_API_KEYavailable
That's it. Transcription, highlight ranking, dedupe, and cropping all run server-side — no ffmpeg, no Python, no Whisper, no LLM keys needed locally.
Step 3 — Run the Pipeline
bash library/social/youtube-shorts/scripts/run-youtube-shorts.sh \
--source "<YOUTUBE_URL>" \
--platform shorts \
--num-clips 5 \
--view
The script:
- Resolves the source (uploads local files to muapi CDN if needed).
- Picks platform defaults if
--aspect-ratio/--num-clipsaren't passed. - Calls
muapi edit clipping(the/ai-clippingendpoint) with the chosen params. - Polls until done, prints a ranked summary, optionally downloads / opens clips.
What Happens Server-Side
The /ai-clipping endpoint runs the full pipeline:
- Transcribes the audio.
- Ranks highlights through a virality framework — hook moments, emotional peaks, opinion bombs, revelation moments, conflict, quotable lines, story peaks, practical value.
- Dedupes overlapping candidates by score.
- Top-N selects and face-tracks vertical crops.
Each clip ships with score (0–100), opening hook line, and a one-sentence "why it works" reason.
Platform Defaults
| Platform | Flag | Aspect | Default clips | Notes |
|---|---|---|---|---|
| YouTube Shorts | --platform shorts | 9:16 | 3 | Hook in first 1s |
| TikTok | --platform tiktok | 9:16 | 5 | Higher energy, longer ok |
| Instagram Reels | --platform reels | 9:16 | 3 | Hook in first 1s |
| Instagram Feed | --platform feed | 1:1 | 3 | Static-feel works well |
Override any default with --aspect-ratio / --num-clips.
Quick Invocation Patterns
Single video, defaults:
bash run-youtube-shorts.sh --source "https://youtube.com/watch?v=VIDEO_ID"
TikTok preset — 5 clips, view in player:
bash run-youtube-shorts.sh --source "<URL>" --platform tiktok --view
Square Instagram feed clips:
bash run-youtube-shorts.sh --source "<URL>" --platform feed --num-clips 3
Batch — urls.txt with one URL per line:
xargs -a urls.txt -I{} bash run-youtube-shorts.sh --source "{}"
Async submit (returns request_id, poll later):
REQUEST_ID=$(bash run-youtube-shorts.sh --source "<URL>" --async --output-json - | jq -r '.request_id')
muapi predict wait "$REQUEST_ID" --download ./outputs
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 reporting back, 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. The platform preset handles this; only override if you know why. - Padding to hit
--num-clips— if the API returns fewer survivors, return what you have. Don't ship low-score filler. - Re-running on a 404'd clip URL — re-fetch the same
request_idwithmuapi predict wait <id>rather than re-clipping.
Failure Modes
- API key missing or rejected — surface the error; don't fabricate a key.
- Job timed out — bump
--poll-timeoutand retry. - Source URL not reachable — upload the file via
muapi upload fileand pass the returned URL. - Fewer clips returned than requested — source had fewer rankable highlights. Return what came back with a note.
Done Criteria
The skill is done when:
result.shortshas up tonum_clipsentries, each with a workingclip_url.- The user has been shown the ranked list (score, time range, title, hook, URL).
- If
--output-jsonwas set, the file exists and parses.
Related skills
More from samuraigpt/generative-media-skills and the wider catalog.

muapi-youtube-thumbnail
Design high-CTR YouTube thumbnails with striking imagery, bold text, and emotional impact.

muapi-ad-creative
Generate platform-optimized ad creatives with hero image, copy variations, and format-specific crops for Meta, Google, and LinkedIn.

muapi-ai-clipping
Turn long videos into viral-ready short clips with one API call—transcription, highlight ranking, and face-tracked auto-crop included.

muapi-cinema-director
Direct cinematic video with AI—translate creative intent into technical camera, lighting, and movement directives for Veo3, Kling, and Luma.

content-experimentation-best-practices
A/B testing and experimentation guidance for content-driven products and CMS workflows.

content-modeling-best-practices
Structured content modeling guidance for schema design, reusability, and multi-channel delivery in headless CMSes.