Skip to content
cccskills
FreePublished on GitHub

video-production

整片视频产线(原片 → 包装级成片):九步流程 + 八件质量门 + 两道人工确认门,产出成片与全套交付物。当用户说"用视频产线做一支整片""把这条原片做成片""整片包装""走视频产线"时使用。全程经独立接口驱动:每步可核验、门不过不交付。

与兄弟技能分界:本 SKILL 的**输入是已有的整条原片**,做的是重包装(分场/动效/字幕/调色 + 质量门), 过程重、需两次人工点头;从一句话主题**无中生有**出片用 auto-short-video; 手上只有一组图片用 slideshow-video;把长片**切成多条**短视频用 clipify 或 video-highlights。

The English summary is being prepared. Showing the original description.

See how to install

Files included (101)

  • SKILL.md7.8 KB
  • EASEL-META.md717 B
  • scripts/video_pipeline.py14.0 KB
  • vendor/VENDOR.md4.0 KB
  • vendor/video-pipeline-sdk/.gitattributes12 B
  • vendor/video-pipeline-sdk/.gitignore307 B
  • vendor/video-pipeline-sdk/assets/cards/index.html7.1 KB
  • vendor/video-pipeline-sdk/assets/fonts/MaShanZheng-Regular.ttf5.6 MB
  • vendor/video-pipeline-sdk/assets/fonts/OFL.txt4.3 KB
  • vendor/video-pipeline-sdk/assets/fonts/README.md519 B
  • vendor/video-pipeline-sdk/assets/fx/common.tsx1.7 KB
  • vendor/video-pipeline-sdk/assets/fx/FxAurora.tsx3.4 KB
  • vendor/video-pipeline-sdk/assets/fx/FxBehindMask.tsx3.4 KB
  • vendor/video-pipeline-sdk/assets/fx/FxCardA.tsx8.1 KB
  • vendor/video-pipeline-sdk/assets/fx/FxCardB.tsx15.4 KB
  • vendor/video-pipeline-sdk/assets/fx/FxCards.tsx4.5 KB
  • vendor/video-pipeline-sdk/assets/fx/FxDataCard.tsx4.7 KB
  • vendor/video-pipeline-sdk/assets/fx/FxFireflies.tsx2.6 KB
  • vendor/video-pipeline-sdk/assets/fx/FxKinetic.tsx5.1 KB
  • vendor/video-pipeline-sdk/assets/fx/FxLeak.tsx1.2 KB
  • vendor/video-pipeline-sdk/assets/fx/FxMatch.tsx5.2 KB
  • vendor/video-pipeline-sdk/assets/fx/FxPanel3D.tsx5.0 KB
  • vendor/video-pipeline-sdk/assets/fx/FxShatter.tsx3.4 KB
  • vendor/video-pipeline-sdk/assets/fx/FxStockData.tsx4.7 KB
  • vendor/video-pipeline-sdk/assets/fx/FxStockFireflies.tsx2.5 KB
  • vendor/video-pipeline-sdk/assets/fx/FxStockLeak.tsx1.2 KB
  • vendor/video-pipeline-sdk/assets/fx/FxStockWords.tsx2.3 KB
  • vendor/video-pipeline-sdk/assets/fx/FxSwitch.tsx2.5 KB
  • vendor/video-pipeline-sdk/assets/fx/FxText.tsx3.1 KB
  • vendor/video-pipeline-sdk/assets/fx/FxWords.tsx2.1 KB
  • vendor/video-pipeline-sdk/assets/luts/README.md566 B
  • vendor/video-pipeline-sdk/assets/sfx/README.md689 B
  • vendor/video-pipeline-sdk/assets/sfx/SOURCES-mixkit.json2.4 KB
  • vendor/video-pipeline-sdk/assets/stock-ledger.json3.0 KB
  • vendor/video-pipeline-sdk/ATTRIBUTIONS.md1.4 KB
  • vendor/video-pipeline-sdk/CHANGELOG.md6.2 KB
  • vendor/video-pipeline-sdk/deps/bootstrap.ps11.5 KB
  • vendor/video-pipeline-sdk/deps/bootstrap.sh2.1 KB
  • vendor/video-pipeline-sdk/deps/DEPS.md1.6 KB
  • vendor/video-pipeline-sdk/deps/remotion/package-lock.json185.6 KB
  • vendor/video-pipeline-sdk/deps/remotion/package.json698 B
  • vendor/video-pipeline-sdk/gates/aggregate.py5.8 KB
  • vendor/video-pipeline-sdk/gates/check_audio.py1.4 KB
  • vendor/video-pipeline-sdk/gates/check_dup.py3.2 KB
  • vendor/video-pipeline-sdk/gates/check_frames.py3.9 KB
  • vendor/video-pipeline-sdk/gates/check_layout.py2.5 KB
  • vendor/video-pipeline-sdk/gates/check_match.py4.0 KB
  • vendor/video-pipeline-sdk/gates/check_meta.py2.1 KB
  • vendor/video-pipeline-sdk/gates/check_timeline.py2.6 KB
  • vendor/video-pipeline-sdk/gates/check_transitions.py3.0 KB
  • vendor/video-pipeline-sdk/gates/default-gates.json1.9 KB
  • vendor/video-pipeline-sdk/gates/fixtures/checks.json404 B
  • vendor/video-pipeline-sdk/gates/fixtures/layout_bad.json259 B
  • vendor/video-pipeline-sdk/gates/fixtures/layout_ok.json584 B
  • vendor/video-pipeline-sdk/gates/fixtures/match.json994 B
  • vendor/video-pipeline-sdk/gates/fixtures/proj.json431 B
  • vendor/video-pipeline-sdk/gates/fixtures/ref.json136 B
  • vendor/video-pipeline-sdk/gates/fixtures/scenes_bad.json447 B
  • vendor/video-pipeline-sdk/gates/fixtures/scenes_clean.json584 B
  • vendor/video-pipeline-sdk/gates/fixtures/timeline_bad.json136 B
  • vendor/video-pipeline-sdk/gates/fixtures/timeline_ok.json137 B
  • vendor/video-pipeline-sdk/gates/selftest.ps12.4 KB
  • vendor/video-pipeline-sdk/INTERFACE.md3.5 KB
  • vendor/video-pipeline-sdk/LICENSE1.0 KB
  • vendor/video-pipeline-sdk/pipeline/ask.py5.0 KB
  • vendor/video-pipeline-sdk/pipeline/doctor.py2.0 KB
  • vendor/video-pipeline-sdk/pipeline/run.py30.4 KB
  • vendor/video-pipeline-sdk/pipeline/RUNBOOK.md5.0 KB
  • vendor/video-pipeline-sdk/PITFALLS.md8.4 KB
  • vendor/video-pipeline-sdk/README.md4.3 KB
  • vendor/video-pipeline-sdk/references/design-baseline.md2.8 KB
  • vendor/video-pipeline-sdk/references/fx-usage.md5.7 KB
  • vendor/video-pipeline-sdk/references/quality-mechanisms.md10.0 KB
  • vendor/video-pipeline-sdk/references/remotion-pipeline-SNAPSHOT.md26.8 KB
  • vendor/video-pipeline-sdk/tools/build_scenes_data.py1.9 KB
  • vendor/video-pipeline-sdk/tools/check_sync.py3.3 KB
  • vendor/video-pipeline-sdk/tools/clean_remotion_temp.ps11.1 KB
  • vendor/video-pipeline-sdk/tools/fetch_mixkit.py909 B
  • vendor/video-pipeline-sdk/tools/fetch_mixkit2.py1023 B
  • vendor/video-pipeline-sdk/tools/fetch_mixkit3.py934 B
  • vendor/video-pipeline-sdk/tools/fetch_sfx.py2.1 KB
  • vendor/video-pipeline-sdk/tools/fetch_stock.py1.9 KB
  • vendor/video-pipeline-sdk/tools/fetch_stock2.py2.8 KB
  • vendor/video-pipeline-sdk/tools/fetch_stock3.py3.3 KB
  • vendor/video-pipeline-sdk/tools/fetch_whisper_model.py1.6 KB
  • vendor/video-pipeline-sdk/tools/fx5_frames.py1.5 KB
  • vendor/video-pipeline-sdk/tools/grade_demo.py3.0 KB
  • vendor/video-pipeline-sdk/tools/make_masks.py1.3 KB
  • vendor/video-pipeline-sdk/tools/make_review_pack.py3.4 KB
  • vendor/video-pipeline-sdk/tools/parse_mixkit_sfx.py667 B
  • vendor/video-pipeline-sdk/tools/parse_mixkit.py742 B
  • vendor/video-pipeline-sdk/tools/README.md1.8 KB
  • vendor/video-pipeline-sdk/tools/render_slideshow.py15.3 KB
  • vendor/video-pipeline-sdk/tools/rvm_matte.py2.3 KB
  • vendor/video-pipeline-sdk/tools/see.py7.4 KB
  • vendor/video-pipeline-sdk/tools/srt_to_transcript.py3.7 KB
  • vendor/video-pipeline-sdk/tools/transcode_material.py2.8 KB
  • vendor/video-pipeline-sdk/tools/transcode_stock.py1.3 KB
  • vendor/video-pipeline-sdk/tools/transcribe_api.py7.0 KB
  • vendor/video-pipeline-sdk/tools/transcribe.py2.2 KB
  • vendor/video-pipeline-sdk/VERSION6 B

SKILL.md (original)

Review the instructions the agent will receive before you install.

整片视频产线(video-production)

把一支原片(口播 / 独白)做成包装级成片:摸底 → 转录 → 分场 → 设计表 → 脚手架 → 写码 → 验证 → 预览 → 渲染 → 交付。质量不靠自觉,靠可执行的门。

产线 SDK 已内置在本技能 vendor/video-pipeline-sdk/(随 Easel 进仓、可复现、可在其基础上改)。 首次使用先跑一次依赖还原:bash <ROOT>/skills/builtin/video-production/vendor/video-pipeline-sdk/deps/bootstrap.sh (装 Remotion 渲染引擎,--ignore-scripts;node_modules 不入库)。

什么时候用

用户说「用视频产线做一支整片 / 把这段素材做成片 / 整片包装」时使用。

开工前检查(缺源片不要动工)

  • 源片必需:必须有可读的本地路径。用户没给 → 先向用户要(要路径,或提示他把文件拖进聊天 / 拷到内容库收件箱);严禁用占位素材开工
  • 主题与基调(--brief)建议要一句;现成材料(转录稿 / 分场 / 设计表)有就给、没有就按流程走(流程会在需要时停下)

转录三级策略(选一个,优先级从上到下)

产线第二步要把口播里说的话转成带时间轴的文字稿。三级降级,越靠前越省:

  1. tier1 现成稿(最优):源片自带字幕/台词就用它——start --transcript 路径。.srt/.vtt 会自动转成段级 transcript.json(保留时间轴);.json(segments 结构)直接用。Easel 做的口播剧一般自带 SRT,走这条即可,不下模型。
  2. tier2 云端 ASR API:没现成稿但配了 SILICONFLOW_API_KEY(env)→ 自动调硅基流动(默认 XingChenAGI/XingChenGSR-V1.0,可用 SILICONFLOW_ASR_MODEL / SILICONFLOW_BASE_URL 覆盖)。key 只从环境变量读,勿写进命令/仓库。
  3. tier3 本地 whisper(兜底):都没有才用本地 large-v3(首次下约 3GB)。需 faster-whisper。

让用户看得见(产物贴进对话 · 免上传)

对话消息直接支持图片与视频(站内媒体通道 /api/media/,零上传、零改前端)。产物落盘后,把它们贴进消息、再配卡片:

  • 图片:Markdown 图片语法(! + 方括号说明文字 + 圆括号地址),地址写 /api/media/<outputs 相对路径,逐段 URL 编码>(示例文件名:视频产线/<时间戳>/run/preview/f60.png)
  • 视频:<video src="/api/media/<outputs 相对路径>" controls style="max-width:420px"> 标签
  • 文件:Markdown 链接语法(方括号文字 + 圆括号地址)指向 /api/media/<outputs 相对路径>,或把要点直接摘进消息

三处必用:

  1. 设计表确认卡之前:先贴设计表要点摘要 + 全文链接(用户"看得见才审得动")
  2. 预览确认卡之前:把 run/preview/*.png 逐张贴成图片,再出预览卡
  3. 交付时:成片贴成 video 标签(视频产线/<时间戳>/out/final.mp4),附门报告链接

素材怎么给(用户问"怎么把视频给你"时这样答)

  1. 首选 · 本地路径:文件放本机任意位置,对话里报路径即可(例:E:/clips/raw.mp4)。无大小限制、不复制文件
  2. 小文件可直接拖进聊天上传(进内容库收件箱);大文件不走上传——直接报本地路径(见第 1 条)
  3. 也可先手动拷进 outputs/_inbox/ 再报路径

快速开始

python <ROOT>/skills/builtin/video-production/scripts/video_pipeline.py doctor
python <ROOT>/skills/builtin/video-production/scripts/video_pipeline.py start --source "C:/path/raw.mp4" --brief "主题一句话"

start 依次做:建运行态 → 机械段(摸底 / 转录 / 分场)→ 停在需要人参与的地方。

交互循环(重要)

每个命令最后一行是 STATE: ...:

STATE含义你要做的
awaiting-answer有题待作答pending 读题 → 用 ask_user 工具转问用户 → answer + resume
done全流程完成报告产物路径(见下)
gate-failed质量门失败把失败项如实报告,不要交付
error异常把错误原文报告用户

转问用户(ask_user 映射规则)

  • ask_user 限制:一次 1–3 问、每题 2–4 个选项、header ≤12 字——按此裁剪,选项 label 用中文原样
  • 收到回答后,把用户所选 label 对照问题 JSON 的 options[].value 映射回:
问题 id选项 label → value
checkpoint-1(设计表确认)通过,按设计表开工→approve | 带意见修改→revise | 打回重做→reject
checkpoint-2(预览确认)通过,渲全片→approve | 有场次要改→revise
  • 写回答并续跑:
python <ROOT>/skills/builtin/video-production/scripts/video_pipeline.py answer --id checkpoint-1 --values approve --notes "可选备注"
python <ROOT>/skills/builtin/video-production/scripts/video_pipeline.py resume

自由输入题(如 need-design-table)

题目会写明要产出的文件与放置位置。把说明转给用户;文件就位后重新 resume(自动检测在档)。 开工时已有设计表的话,start 直接加 --design-table <md 路径>。

命令一览

命令用途
doctor环境自检(SDK 路径 / 依赖 / 版本)
start --source ... [--brief] [--transcript] [--scenes] [--config] [--gates] [--design-table]开工,跑到第一个停点
pending打印待作答问题(JSON)
answer --id ... --values a,b [--notes ...]写入作答
resume从停点续跑
status进度 / 待作答 / 路径

所有命令支持 --run-dir(默认最近一次 start)、--base(运行态根)、--sdk(SDK 路径;默认用内置 vendor/video-pipeline-sdk,也可用 --sdk/环境变量 VIDEO_PIPELINE_SDK 覆盖)。 默认自动使用内置质量门清单;--gates 可覆盖为自定义 JSON(内部支持 {run_dir} / {out_dir} / {python} 占位符自动替换)。空门单或当前阶段无门会失败,不算通过。

产物

默认运行态在 <工作区>/outputs/视频产线/<时间戳>/(交付物进「视频产线」项目,内容库里可见):

  • run/:run-state、questions / answers、checkpoints、gate-report、logs
  • out/:final.mp4、design-table.md、gate-report.md / gate-report.json、manifest.json

红线

  • 只转发,不复制 SDK 逻辑;SDK 升级不改本技能
  • 门不过不交付;任何 FAIL 必须如实报告
  • 写长代码/大文件务必分块写(单次输出有上限,被截断会中断任务;分 2-4 段续写)
  • 交付自动带人审包(review-pack/:每场定格帧 + 核对表);把它贴给用户,照单核对(无视觉的执行者靠人眼兜底)
  • 设计表是创作步:与用户确认后产出,机器只校验在档

退出码(机器语义)

0 完成 | 2 门失败 | 3 待作答 / 待审批 | 1 异常

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

通用 AI 生图:文生图 / 图生图 / 图像变体。当用户说 AI 生图、AI 画图、文生图、图生图、生成图片、生成配图、图像生成、AI 出图、AI 作图、换图、改图、图像编辑、给我画一张、生成一张图 时使用。支持 OpenAI 兼容 API 与 apimart 异步 API,用户自备 API key。

The English summary is being prepared. Showing the original description.

ZJU-REAL/Easel3.8KUpdated Oct 18, 2026

AI 音乐 / BGM 生成:给短视频、社媒内容生成原创背景音乐 / 配乐 / 纯音乐。通过可插拔 provider(阿里 DashScope / Suno 类第三方 API)文生音乐,异步提交→轮询→下载,产物可再裁剪/归一化或加到视频。当用户说“AI 音乐”“AI 配乐”“生成 BGM”“背景音乐”“原创音乐”“AI 作曲”“纯音乐”“给视频配乐”“做首曲子”时使用。与 tts-voiceover 的区别:tts-voiceover 生成人声口播/旁白,ai-music 生成背景音乐/配乐(无人声或带演唱)。

The English summary is being prepared. Showing the original description.

ZJU-REAL/Easel3.8KUpdated Oct 18, 2026

AI 视频生成:文生视频 / 图生视频 / 数字人首帧驱动。通过可插拔 provider(通义万相 Wan / 火山 Seedance / 快手可灵 / OpenAI 兼容)异步生成视频,用户自备 API key。当用户说 AI 视频生成、文生视频、图生视频、AI 生成视频、AI 短视频、让图片动起来、数字人视频、生成一段视频 时使用。与 video-strategy(选型/策略)、video-editing(剪辑处理)、clipify(切片)区别:本 SKILL 是从 0 用 AI 生成新视频。

The English summary is being prepared. Showing the original description.

ZJU-REAL/Easel3.8KUpdated Oct 18, 2026

outputs/ 目录下的产物管理:按日期/平台/类型归档、打标签、搜索历史内容、生成素材清单。 当用户说"整理素材"、"归档"、"找之前的内容"、"搜索历史"、"素材管理"、 "outputs 整理"、"之前做的"时使用。 与其他 produce 层 SKILL 的区别:produce 层负责生成内容, asset-manager 负责生成后的产物管理(归档、检索、标签)。

The English summary is being prepared. Showing the original description.

ZJU-REAL/Easel3.8KUpdated Oct 18, 2026

音频降噪:去除录音中的背景噪声、电流声、风噪、嗡嗡声,基于 ffmpeg 滤镜链(afftdn/highpass/lowpass)。 当用户说"降噪""去噪""去杂音""消除背景噪声""电流声""风噪""录音有杂音""音频降噪"时使用。 和 audio-editing 的区别:audio-editing 做剪辑/转码/音量等通用音频操作(内置 denoise 兜底),本 SKILL 专做降噪调参。

The English summary is being prepared. Showing the original description.

ZJU-REAL/Easel3.8KUpdated Oct 18, 2026

通用音频处理:音频剪辑/裁剪、格式转码(mp3/wav/m4a/aac)、音量归一化、从视频提取音轨、多段拼接、淡入淡出、变速(保音高)。当用户说“剪音频”“裁一段”“转成 mp3”“调音量/响度”“提取音轨/扒音频”“拼接音频”“淡入淡出”“加速/减速音频”“变速不变调”时使用。与 audio-denoise 的区别:audio-denoise 专做降噪,audio-editing 做除降噪外的通用音频操作(也内置 denoise 作为兜底)。

The English summary is being prepared. Showing the original description.

ZJU-REAL/Easel3.8KUpdated Oct 18, 2026

See all skills by ZJU-REAL

Report a problem with this skill