Muapi Youtube Shorts

samuraigpt/generative-media-skills/.opencode/skills/muapi-youtube-shorts

作者 samuraigpt66b55e2a27ee无许可证4 个星标收录于 2026年10月8日更新于 2026年10月8日仓库9天前更新

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.

仅含说明Design & Creative
AI 生成的概览

通过 muapi.ai 的 AI 剪辑接口,从长视频生成按平台预设排名的竖版短视频片段。

功能
该技能是 AI 剪辑服务之上的平台感知预设:输入长视频源,输出经过排名的竖版短视频片段。它会为 YouTube Shorts、TikTok、Instagram Reels 或 Feed 选择画幅比例与片段数量默认值,然后把转写、精彩片段排名、去重和人脸跟踪裁剪交给 muapi.ai 的 /ai-clipping 接口处理。输出为片段排名列表,每项包含评分、时间范围、标题、开场钩子句、传播理由和片段链接。
适用场景
当你希望从长视频中切出适合社交平台的短视频,并倾向于使用按平台调好的默认值而非手动控制画幅与数量时使用。适用于 YouTube Shorts、TikTok 以及 Instagram Reels 或 Feed,也支持对一组链接进行批量处理。
运行要求
需要安装并完成认证的 muapi-cli 工具,以及 MUAPI_API_KEY。需要访问 muapi.ai 的网络连接,本地文件可能需要上传到 muapi CDN。无需本地 ffmpeg、Python、Whisper 或 LLM 密钥;该技能仅为说明文档,本身不附带脚本。

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 / ReelsYou want full control over aspect / count
You want platform-tuned defaultsYou want raw timestamps (--coords-only)
You'd rather pass --platform tiktok than think about ratiosYou're integrating into a custom renderer

Agent Execution Protocol

Step 1 — Collect Inputs

InputDefaultNotes
--source—YouTube URL, hosted mp4 URL, or local file
--platformshortsshorts | tiktok | reels | feed (sets ratio + count defaults)
--num-clipsplatform defaultOverride clip count
--aspect-ratioplatform defaultOverride aspect ratio

If the user gave only a URL, run with platform defaults — don't block.


Step 2 — Verify Prerequisites

  • muapi-cli installed and authed (muapi auth configure)
  • MUAPI_API_KEY available

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
bash library/social/youtube-shorts/scripts/run-youtube-shorts.sh \  --source "<YOUTUBE_URL>" \  --platform shorts \  --num-clips 5 \  --view

The script:

  1. Resolves the source (uploads local files to muapi CDN if needed).
  2. Picks platform defaults if --aspect-ratio / --num-clips aren't passed.
  3. Calls muapi edit clipping (the /ai-clipping endpoint) with the chosen params.
  4. 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

PlatformFlagAspectDefault clipsNotes
YouTube Shorts--platform shorts9:163Hook in first 1s
TikTok--platform tiktok9:165Higher energy, longer ok
Instagram Reels--platform reels9:163Hook in first 1s
Instagram Feed--platform feed1:13Static-feel works well

Override any default with --aspect-ratio / --num-clips.


Quick Invocation Patterns

Single video, defaults:

bash
bash run-youtube-shorts.sh --source "https://youtube.com/watch?v=VIDEO_ID"

TikTok preset — 5 clips, view in player:

bash
bash run-youtube-shorts.sh --source "<URL>" --platform tiktok --view

Square Instagram feed clips:

bash
bash run-youtube-shorts.sh --source "<URL>" --platform feed --num-clips 3

Batch — urls.txt with one URL per line:

bash
xargs -a urls.txt -I{} bash run-youtube-shorts.sh --source "{}"

Async submit (returns request_id, poll later):

bash
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

json
{  "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

  1. Wrong aspect ratio for the platform — Shorts / TikTok / Reels are 9:16. The platform preset handles this; only override if you know why.
  2. Padding to hit --num-clips — if the API returns fewer survivors, return what you have. Don't ship low-score filler.
  3. Re-running on a 404'd clip URL — re-fetch the same request_id with muapi 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-timeout and retry.
  • Source URL not reachable — upload the file via muapi upload file and 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:

  1. result.shorts has up to num_clips entries, each with a working clip_url.
  2. The user has been shown the ranked list (score, time range, title, hook, URL).
  3. If --output-json was set, the file exists and parses.

来源与署名

来源:samuraigpt/generative-media-skills位于.opencode/skills/muapi-youtube-shorts提交66b55e2

许可证: 无许可证

内容归原作者所有。SourceWeft 从公开仓库中收录这些内容。

举报或申请下架