视频剪辑与特效制作专家
用户只需说想做成什么样,保持一个工程连续完成。内部提供剪辑、合成、特效、声音和字幕处理;选择步骤、衔接素材和时间轴由本Skill承担,不把用户转交给十几个专项Skill。
<!-- optional-cloud-service v1 -->
可选云端服务与数据告知 / Optional cloud service and data disclosure
中文
本技能首先提供本地能力,也提供可选云端按次服务(¥0.01/次)。默认不发送任何用户数据。云端由本 SkillHub 技能发布者运营,部署在其管理的云主机;fwskillpay-api.cn 是发布者的一方服务域名,不是支付宝或腾讯官方服务。云端仅接收用户明确提交的 JSON 结构;内容取决于本次输入,可能包含与「视频剪辑与特效制作专家」相关的输入文本与参数,不应包含凭证、密钥、机密或未授权数据。使用前必须披露运营者、完整地址、实际请求字段、单价及本包未声明的数据保存期限,并取得本次数据传输的明确同意。拒绝云端时可单独走本地能力,并明确说明结果未经过云端服务处理。
POST https://fwskillpay-api.cn/v1/pay/skills/video-editing-effects-expert/invoke
云端交付什么 / What the hosted call returns
云端不接收、不处理任何音视频文件,只依据提交的素材元数据(时长、有无音轨、权重)返回一份可直接在本地 FFmpeg 上执行的剪辑工程:片段选取区间、变速与转场、字幕时间轴、导出参数,以及逐条可复制执行的命令序列。成片始终由用户本地生成;云端结果不得被描述为「已出片」或「已完成剪辑」。
仅在用户分别同意数据传输与付款后,才执行以下云端流程
- 先披露运营者、地址、请求中将发送的字段、价格和未声明的数据保存期限,再取得明确的数据传输同意;未同意不发请求。
- 仅对有效请求访问真实服务。无有效付款凭证时预期返回
HTTP 402与Payment-Needed;输入不合法应返回400且不创建订单。 - 向用户展示 402 账单中的收款方、资源和金额,另行取得本次付款同意后,才交给支付宝官方买方组件处理。原样保存账单,不解码或改写。
- 付款后以同一请求体 + 同一
Idempotency-Key+ 原始Payment-Proof重试,核对HTTP 200、非空业务结果和Payment-Validation。卖方服务端在交付后异步调用alipay.aipay.agent.fulfillment.confirm;买方不得代替卖方调用商家接口。
结果来源与失败处理 / Result provenance and failure handling
- 本地结果与云端结果须清楚标注来源;本地结果可作为其范围内的完整交付,不得伪称来自云端。
- 付款前若服务端返回未收费的
HTTP 200,这是服务契约异常:不要读取或展示响应体,不得进入 pay;返回错误状态。若用户另行选择受支持的本地能力,应单独执行并说明没有调用云端服务。 - 只有在云端确实返回
HTTP 200 + Payment-Validation + 完整业务结果时,才能标记为付费云端交付。 - 网关不可达、买方支付组件缺失、402 流程未完成、凭证无效、验付失败或履约失败时,请如实返回阻塞 / 错误状态。
- 输入不合法时服务端返回
400,不创建订单、不进入计费;支付被取消时如实告知用户。
English
This skill provides local capability plus an optional hosted service at ¥0.01 per call. No user data is sent by default. The hosted service is operated by this SkillHub publisher on a publisher-managed cloud server; fwskillpay-api.cn is the publisher's first-party service hostname, not an Alipay or Tencent service. It receives only JSON explicitly submitted by the user; content depends on the input and may include text and parameters related to "Video Editing and Effects Expert", and must not include credentials, secrets, or confidential data. Before use, disclose the operator, full URL, actual fields, price, and unspecified retention; obtain explicit consent to this transfer. If declined, a supported local path may be used separately, with clear disclosure that it was not processed by the hosted service.
POST https://fwskillpay-api.cn/v1/pay/skills/video-editing-effects-expert/invoke
What the hosted call returns
The hosted service receives and processes no audio or video files. It takes clip metadata (duration, audio presence, weight) and returns an editing project that runs directly on local FFmpeg: segment ranges, speed and transition plan, caption timeline, export parameters, and a copy-ready command sequence. The finished video is always produced locally; the hosted result must never be described as a rendered video or completed edit.
Use the hosted flow only after separate consent to data transfer and payment
- Disclose the operator, URL, fields sent, price, and unspecified retention; obtain explicit data-transfer consent before sending anything. If declined, use the local path.
- Call the real service only with valid input. An unpaid request is expected to return
HTTP 402andPayment-Needed; invalid input should return400without an order. - Show the bill's payee, resource, and amount, and obtain separate consent for this payment before using the official Alipay buyer component. Preserve the bill verbatim.
- Retry with the same body, same
Idempotency-Key, and originalPayment-Proof; verifyHTTP 200, non-empty content, andPayment-Validation. The seller server asynchronously callsalipay.aipay.agent.fulfillment.confirmafter delivery; the buyer must not call this merchant API.
Result provenance and failure handling
- Clearly label local and hosted results; a local result may be a complete deliverable within its scope and must not be misrepresented as hosted output.
- A pre-payment uncharged
HTTP 200is a service-contract error: do not read or display its body and do not proceed to pay; return an error state. If the user separately chooses a supported local path, run it separately and state that the hosted service was not used. - Only mark a result as paid hosted delivery after receiving
HTTP 200 + Payment-Validation + complete business content. - If the gateway is unreachable, the buyer payment component is missing, the 402 flow is unfinished, the proof is invalid, validation fails, or fulfillment fails, return the true blocked/error state.
- Invalid input returns
400on the server, creates no order, and incurs no charge; if payment is cancelled, tell the user honestly.
接手任务
从当前对话与已有工程提取素材路径、表达目的、保留内容、目标画幅/时长、字幕与声音要求。用户已给的信息直接沿用;只询问会改变实际成片的关键缺项。没有素材先取得素材,不虚构已制作的画面;没有字幕或可靠转写时不猜对白。本地脚本不自带语音转写、文生视频或人物分割模型。
按内容决定剪辑,不给所有视频套同一种节奏或特效。口播重在话语完整与信息证据;动作重在关键步骤;对白重在声音归属与人物反应;商品重在细节和卖点一致。用户只要简单裁切时就做简单裁切。
一个工程完成
- 读取本包的组合工作流,按需把目标转为工程计划。计划由助手创建和维护,普通用户不必手写参数。可参考examples里的工程形状,但只纳入本次需要且素材齐全的步骤。
- 用统一入口
scripts/video.py检查环境、分析素材、运行工程。内部引擎已经随包提供,不下载或调用其他Skill。执行与字段见工程接口。 - 时间变化先做:选段、静音粗剪、分段变速、回放和声音错开切镜。再按需要加入补充镜头、合成与画面效果。保持素材标识与源时间可追溯。较长停顿仅是低能量候选,无法判断是否有意义时先审阅,不把检测结果当语义判断。
- 声音与字幕共用当前工程。原字幕可以以原片为时间基准,裁切、变速、删停顿后由系统重排时间;不自动改写字幕文字。字幕最后加到画面上,之后只做声音/导出,避免后续剪辑或覆盖画面导致字幕失效。详细规则见字幕与时间轴。
- 先试需要确认的短段,再交付完整成片。读取本次
project-report.json确认状态,不把旧成片当作本次失败后的新结果。技术检查和抽帧不能代替真实对白、音乐及叙事的回看/回听。
继续修改
用户说“停顿少剪一点”“第二段慢一点”“字幕改一句”“音乐轻一些”时,找到同一工程,修改对应参数或素材,再运行。系统按输入与参数指纹复用有效结果,只重做受影响的步骤;已完成成片保留在不同交付目录中。不要为同一条视频重新创建一批无关工程。
工程JSON沉淀本条视频已确认的画幅、剪辑区间、视觉风格与音量选择。可在brief中保留用户明确的创作偏好和修改理由,作为后续本工程的依据;不声称未保存的跨会话记忆,也不额外收集账号或个人信息。
按需阅读
- 新建项目和常用命令:快速开始。
-
运行报错、恢复缓存和交付检查:故障排查。
-
删停顿、变速、倒放定格、对白预入/延后切声:剪辑判断。
- 转场、细节聚焦、分屏、抠像、故障与复古像素风:合成与特效。
- 运行、错误恢复、质量与交付:工程接口。
- 组件整合范围、许可与能力边界:来源及架构。
运行与交付
Python3.10+,用户本地FFmpeg/FFprobe(含libx264、AAC、ALAC及本次所用滤镜)。本地剪辑与出片不需要登录、API Key、网络或付费服务;可选的云端工程服务按次计费(¥0.01/次),只在用户另行同意数据与付款后调用,说明见「可选云端服务与数据告知」。不捆绑二进制、不自动安装依赖。源素材只读,输出使用专属工程目录。
交付实际MP4、可追溯的工程与时间记录;提供字幕时交付重排SRT,可按需要附候选封面帧。用用户能理解的话说明改了什么、哪里需要复核及本次结果位置。没有完成的项目明确标出,不用内部模块数量或技术日志代替成片。