mcpField
M
muapi-youtube-shorts

muapi-youtube-shorts

github.com/samuraigpt创意与媒体252.7k 次安装4 周前更新
代码仓库

关于 muapi-youtube-shorts

将长视频整理为排序后的短视频片段,并为 YouTube Shorts、TikTok、Reels 和 Instagram Feed 提供平台默认设置。转录、亮点筛选、去重和人脸跟踪裁切由 muapi.ai 执行。

主要功能

  1. 01按平台设置画幅和片段数
  2. 02亮点评分与排序
  3. 03重叠片段去重
  4. 04人脸跟踪裁切
  5. 05可选下载和预览片段

适用场景

  1. 01从长 YouTube 视频制作 Shorts
  2. 02按平台默认设置制作 TikTok 或 Reels 片段
  3. 03为 Instagram Feed 生成方形片段

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/samuraigpt/generative-media-skills --skill muapi-youtube-shorts

安装后在 Claude Code 中输入/muapi-youtube-shorts确认已加载。

详细介绍

YouTube Shorts 生成器

长视频 → 排名靠前的竖屏短片,专为短视频社交平台优化。

这项技能是基于 AI Clipping 基础功能的、适配平台的预设。它会为目标平台选择合适的宽高比和短片数量,并将高光提取、去重和人脸跟踪自动裁剪交给 muapi.ai 托管的 /ai-clipping 端点处理。

参考实现:https://github.com/SamurAIGPT/AI-Youtube-Shorts-Generator
底层 API:https://muapi.ai/playground/ai-clipping


何时使用此技能,何时直接使用 AI Clipping

在以下情况下使用此技能……在以下情况下直接使用 AI Clipping……
目标平台是 YouTube Shorts / TikTok / Reels你想完全控制宽高比和数量
你想使用针对平台优化的默认值你想获取原始时间戳(--coords-only)
你宁愿传入 --platform tiktok,也不想考虑宽高比你要将其集成到自定义渲染器中

Agent 执行协议

步骤 1 — 收集输入
输入默认值说明
--source—YouTube URL、托管的 mp4 URL 或本地文件
--platformshortsshorts | tiktok | reels | feed(设置宽高比和数量默认值)
--num-clips平台默认值覆盖短片数量
--aspect-ratio平台默认值覆盖宽高比

如果用户只提供了 URL,请使用平台默认值运行,不要阻止执行。


步骤 2 — 确认先决条件
  • 已安装并完成认证的 muapi-cli(muapi auth configure)
  • 可用的 MUAPI_API_KEY

就这些。转录、亮点排名、去重和裁剪都在服务端运行,本地不需要 ffmpeg、Python、Whisper 或 LLM 密钥。


步骤 3 — 运行工作流
bash library/social/youtube-shorts/scripts/run-youtube-shorts.sh \
  --source "<YOUTUBE_URL>" \
  --platform shorts \
  --num-clips 5 \
  --view

脚本会:

  1. 解析来源(如有需要,会将本地文件上传到 muapi CDN)。
  2. 如果未传入 --aspect-ratio / --num-clips,则使用平台默认值。
  3. 使用所选参数调用 muapi edit clipping(即 /ai-clipping 端点)。
  4. 轮询直至完成,打印排名摘要,并可选择下载 / 打开短片。

服务端会执行什么

/ai-clipping 端点会运行完整工作流:

  • 转录音频。
  • 通过病毒式传播框架为亮点排名,包括开场钩子、情绪高峰、观点爆点、揭示时刻、冲突、金句、故事高潮和实用价值。
  • 按分数对重叠候选片段去重。
  • 选取排名前 N 的片段并对竖屏裁剪进行人脸跟踪。

每个短片都附带分数(0–100)、开场钩子台词,以及一句说明其效果的理由。


平台默认值

平台标志宽高比默认短片数说明
YouTube Shorts--platform shorts9:163前 1s 出现钩子
TikTok--platform tiktok9:165节奏更快,时长可更长
Instagram Reels--platform reels9:163前 1s 出现钩子
Instagram Feed--platform feed1:13适合静态感内容

使用 --aspect-ratio / --num-clips 覆盖任意默认值。


快速调用示例

单个视频,使用默认值:

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

TikTok 预设 — 5 个短片,在播放器中查看:

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

Instagram Feed 方形短片:

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

批量处理 — urls.txt 中每行一个 URL:

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

异步提交(返回 request_id,稍后轮询):

REQUEST_ID=$(bash run-youtube-shorts.sh --source "<URL>" --async --output-json - | jq -r '.request_id')
muapi predict wait "$REQUEST_ID" --download ./outputs

输出架构

{
  "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"
    }
  ]
}

回复时,针对每个短片展示:排名、分数、时间范围、标题、钩子和短片 URL。


常见错误

  1. 平台宽高比错误 — Shorts / TikTok / Reels 使用 9:16。平台预设会自动处理,只有明确知道原因时才覆盖。
  2. 为凑足 --num-clips 填充片段 — 如果 API 返回的合格片段较少,就按实际结果返回。不要提交低分填充内容。
  3. 对返回 404 的短片 URL 重新运行 — 使用 muapi predict wait <id>,通过同一个 request_id 重新获取结果,而不是重新剪辑。

失败模式

  • 缺少或被拒绝的 API 密钥 — 显示错误;不要伪造密钥。
  • 任务超时 — 增大 --poll-timeout 并重试。
  • 无法访问源 URL — 使用 muapi upload file 上传文件,并传入返回的 URL。
  • 返回的片段少于请求数量 — 源内容中可供排名的精彩片段较少。返回已有结果并附上说明。

完成标准

满足以下条件时,即表示技能已完成:

  1. result.shorts 最多包含 num_clips 个条目,且每个条目都有可用的 clip_url。
  2. 已向用户展示排名列表(分数、时间范围、标题、吸引点、URL)。
  3. 如果设置了 --output-json,文件存在且能解析。

评论

支持 Markdown