一键导入
video-gen
调用 Azure OpenAI Sora-2 生成视频。Use when: 用户要求生成视频、文生视频、text-to-video、调用 Sora 生成视频、批量生成镜头并拼接。支持单镜头和分镜批量生成。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
调用 Azure OpenAI Sora-2 生成视频。Use when: 用户要求生成视频、文生视频、text-to-video、调用 Sora 生成视频、批量生成镜头并拼接。支持单镜头和分镜批量生成。
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
在 qifeng-plugins 仓库中创建新的 GitHub Copilot 插件。Use when: 用户想新增一个 Copilot 插件、创建插件骨架、生成 SKILL.md / plugin.json / README,或提到 scaffold plugin、create plugin、新建插件。
查询 GitHub Copilot 当前费用和预估月底费用。Use when: 用户询问 Copilot 费用、花费、账单、billing、cost、当月累计费用、月底预估费用,或需要查看 Copilot 成本报告。支持组织级和企业级查询。
查询 GitHub Copilot 已分配的许可数量及使用状态。Use when: 用户询问 Copilot 许可数、seat 数量、活跃用户数、非活跃 seat、pending 邀请数,或需要查看 Copilot 授权分配报告。支持组织级和企业级查询。
生成电影感视频描述和分镜脚本。Use when: 用户需要视频 prompt、场景描述、分镜脚本、运镜描述,或想把创意转化为视觉叙事,适配 Sora、Runway、Kling 等文生视频模型。
| name | video-gen |
| description | 调用 Azure OpenAI Sora-2 生成视频。Use when: 用户要求生成视频、文生视频、text-to-video、调用 Sora 生成视频、批量生成镜头并拼接。支持单镜头和分镜批量生成。 |
调用 Azure OpenAI Sora-2 API,根据文本 prompt 生成视频文件。支持单镜头生成和分镜脚本批量生成 + 拼接。
sora 模型.env 文件(参考 .env.example)requests 和 python-dotenv安装依赖:
pip install -r ./requirements.txt
复制 .env.example 为 .env 并填入实际配置:
AZURE_OPENAI_ENDPOINT=https://<your-resource>.openai.azure.com/
AZURE_OPENAI_API_KEY=<your-api-key>
AZURE_OPENAI_SORA_DEPLOYMENT=sora
AZURE_OPENAI_API_VERSION=preview
AZURE_OPENAI_VIDEO_API_MODE=jobs
确保 .env 不被提交到版本控制。
如果用户直接提供了视频描述文本,直接使用。如果描述是中文,建议同时准备英文版本(英文 prompt 生成效果更佳)。
如果用户还没有描述,建议使用 author 技能先生成电影感视频描述。
使用 generate_video.py 生成视频:
python ./scripts/generate_video.py \
--prompt "<视频描述文本>" \
--output "./output/video.mp4" \
--size "1920x1080" \
--n-seconds 10
| 参数 | 必填 | 默认值 | 说明 |
|---|---|---|---|
--prompt | 是 | - | 视频描述文本(英文效果最佳) |
--output | 否 | ./output.mp4 | 输出视频文件路径 |
--size | 否 | 1920x1080 | 视频尺寸(宽x高) |
--n-seconds | 否 | 5 | 视频时长(5/10/15/20 秒) |
--poll-interval | 否 | 10 | 轮询间隔(秒) |
--max-wait | 否 | 600 | 最大等待时间(秒) |
当有多个镜头需要生成时,逐镜头调用并拼接:
# 镜头 1
python ./scripts/generate_video.py \
--prompt "<镜头1 描述>" \
--output "./output/shot_01.mp4" \
--n-seconds 6
# 镜头 2
python ./scripts/generate_video.py \
--prompt "<镜头2 描述>" \
--output "./output/shot_02.mp4" \
--n-seconds 6
# 依此类推...
使用 ffmpeg 将所有镜头拼接为完整视频(需要已安装 ffmpeg):
# 创建文件列表
ls ./output/shot_*.mp4 | sort | sed "s/^/file '/" | sed "s/$/'/" > ./output/filelist.txt
# 拼接
ffmpeg -f concat -safe 0 -i ./output/filelist.txt -c copy ./output/final.mp4
如果 ffmpeg 未安装:brew install ffmpeg(macOS)
jobs 和 legacy 两种 Azure API 路由模式,默认使用 jobs