用于从主题、简报、产品、文章或已确认脚本制作完整 AI 视频。工作流必须按顺序完成:选择视频格式、确认脚本、分镜、素材、旁白、按旁白时长裁剪画面、字幕、音乐、合成、渲染和验收。所有用户确认节点都是硬门槛,未确认格式和脚本前不得进入制作。
Ask 让用户选择竖屏、横屏或自定义比例/尺寸;如果用户已经明确指定格式,则可跳过此问题。当用户未指定视频格式时,必须用 AskUserQuestion 提问,并把选项做成可点击选项:竖屏 9:16、横屏 16:9、自定义比例/尺寸。
text
请先选择视频格式:
1. 竖屏短视频:9:16(常用 1080x1920)
2. 横屏视频:16:9(常用 1920x1080)
3. 自定义比例/尺寸(请告诉我比例或像素尺寸)
选好后我会先写视频脚本给你确认,确认后再进入素材、配音、字幕和成片制作。
如果用户只给出平台但没有给出比例,先确认默认推断:抖音/TikTok/Reels/Shorts 通常使用 9:16;YouTube/B 站长视频通常使用 16:9。
格式确定后,生成脚本确认包:
输出脚本后,必须使用 AskUserQuestion 提供确认选项,例如“确认脚本”和“需要修改”。用户确认或提出修改前停止。
脚本确认后,优先搜索和下载免费/免版税视频资源;如果用户提供了指定素材,则使用用户提供的素材。
使用素材下载脚本前,检查该SKILL目录下是否存在 ./config.json;如果未配置则提示用户“未配置 API key”,参照 ./config.example.json 填写 Key。
Pexels/Pixabay 用于视频和图片,Jamendo 用于 BGM/音乐,Freesound 用于音效。
使用 Bun 运行免费素材下载脚本;默认直接输出可读文本,只包含挑选素材需要的重要字段。需要保存完整原始 JSON 时,添加 --output <path_to_json>。
bash
bun ./scripts/pexels.ts search-videos --query "city skyline" --orientation portrait --per-page 10
bun ./scripts/pixabay.ts search-videos --query "ocean waves" --per-page 10
bun ./scripts/jamendo.ts search --query "background" --vocalinstrumental instrumental --limit 5
bun ./scripts/freesound.ts search --query "whoosh" --page-size 10
# 保存完整 JSON,便于后续程序处理或排查字段
bun ./scripts/pexels.ts search-videos --query "city skyline" --orientation portrait --per-page 10 --output ./pexels-videos.json
只有当免费素材结果不足、不合适或场景需要定制画面时,才使用图片/视频生成或编辑工具。
尽量下载足够多的素材,不要重复使用视频,尽量使用不一样的视频来拼接。
检查下载的素材或用户提供的素材是否合适。
需要旁白时,使用本地或可用的 TTS 工具。
.ass 字幕文件。字幕文本尽量不要使用标点符号;必要时仅保留影响理解的极少量标点。ffmpeg 将 .ass 字幕合成到无字幕视频中,输出最终带字幕视频。.ass 文件、ffmpeg 字幕合成结果、音频/字幕同步、字幕少标点规则和占位内容。AskUserQuestion 确认用户是否已在本地配置。.ass 字幕;字符级不可用时,才退化到词级或句级时间戳。.ass 文件和 ffmpeg 字幕合成结果,就不能报告完成。用户请求必须响应“帮我做一个短视频”用 AskUserQuestion 先询问视频格式。“做一个竖屏9:16短视频,主题是 X”直接生成脚本确认包,然后用 AskUserQuestion 请求确认/修改。“脚本确认,继续做成片”进入分镜、素材计划、旁白、按音频时长裁剪视频、先渲染无字幕视频、ASR 识别、生成 ASS 字幕、用 ffmpeg 合成字幕并验证。“把这篇文章做成视频”如果未指定格式,先用 AskUserQuestion 询问格式;然后改写为视频脚本确认包。