关于 muapi-youtube-shorts
将长视频整理为排序后的短视频片段,并为 YouTube Shorts、TikTok、Reels 和 Instagram Feed 提供平台默认设置。转录、亮点筛选、去重和人脸跟踪裁切由 muapi.ai 执行。
主要功能
- 01按平台设置画幅和片段数
- 02亮点评分与排序
- 03重叠片段去重
- 04人脸跟踪裁切
- 05可选下载和预览片段
适用场景
- 01从长 YouTube 视频制作 Shorts
- 02按平台默认设置制作 TikTok 或 Reels 片段
- 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 或本地文件 |
--platform | shorts | shorts | 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
脚本会:
- 解析来源(如有需要,会将本地文件上传到 muapi CDN)。
- 如果未传入
--aspect-ratio/--num-clips,则使用平台默认值。 - 使用所选参数调用
muapi edit clipping(即/ai-clipping端点)。 - 轮询直至完成,打印排名摘要,并可选择下载 / 打开短片。
服务端会执行什么
/ai-clipping 端点会运行完整工作流:
- 转录音频。
- 通过病毒式传播框架为亮点排名,包括开场钩子、情绪高峰、观点爆点、揭示时刻、冲突、金句、故事高潮和实用价值。
- 按分数对重叠候选片段去重。
- 选取排名前 N 的片段并对竖屏裁剪进行人脸跟踪。
每个短片都附带分数(0–100)、开场钩子台词,以及一句说明其效果的理由。
平台默认值
| 平台 | 标志 | 宽高比 | 默认短片数 | 说明 |
|---|---|---|---|---|
| YouTube Shorts | --platform shorts | 9:16 | 3 | 前 1s 出现钩子 |
| TikTok | --platform tiktok | 9:16 | 5 | 节奏更快,时长可更长 |
| Instagram Reels | --platform reels | 9:16 | 3 | 前 1s 出现钩子 |
| Instagram Feed | --platform feed | 1:1 | 3 | 适合静态感内容 |
使用 --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。
常见错误
- 平台宽高比错误 — Shorts / TikTok / Reels 使用
9:16。平台预设会自动处理,只有明确知道原因时才覆盖。 - 为凑足
--num-clips填充片段 — 如果 API 返回的合格片段较少,就按实际结果返回。不要提交低分填充内容。 - 对返回 404 的短片 URL 重新运行 — 使用
muapi predict wait <id>,通过同一个request_id重新获取结果,而不是重新剪辑。
失败模式
- 缺少或被拒绝的 API 密钥 — 显示错误;不要伪造密钥。
- 任务超时 — 增大
--poll-timeout并重试。 - 无法访问源 URL — 使用
muapi upload file上传文件,并传入返回的 URL。 - 返回的片段少于请求数量 — 源内容中可供排名的精彩片段较少。返回已有结果并附上说明。
完成标准
满足以下条件时,即表示技能已完成:
result.shorts最多包含num_clips个条目,且每个条目都有可用的clip_url。- 已向用户展示排名列表(分数、时间范围、标题、吸引点、URL)。
- 如果设置了
--output-json,文件存在且能解析。