Ai Video Workflow

API key required
Workflows

Use when creating complete AI-generated short videos, social videos, promotional videos, narration videos, or script-to-video outputs from a topic, brief, product, article, or approved script.

Install

openclaw skills install ai-short-video-workflow

AI 视频工作流

概述

用于从主题、简报、产品、文章或已确认脚本制作完整 AI 视频。工作流必须按顺序完成:选择视频格式、确认脚本、分镜、素材、旁白、按旁白时长裁剪画面、字幕、音乐、合成、渲染和验收。所有用户确认节点都是硬门槛,未确认格式和脚本前不得进入制作。

强制门槛

  1. 如果没确定视频的比例和尺寸先使用 Ask 让用户选择竖屏、横屏或自定义比例/尺寸;如果用户已经明确指定格式,则可跳过此问题。
  2. 脚本输出后询问用户是确认脚本还是要求修改。
  3. 报告完成前必须验证。 未检查最终输出文件前,不得声称视频已完成。

视频格式问题

当用户未指定视频格式时,必须用 AskUserQuestion 提问,并把选项做成可点击选项:竖屏 9:16、横屏 16:9、自定义比例/尺寸。

请先选择视频格式:
1. 竖屏短视频:9:16(常用 1080x1920)
2. 横屏视频:16:9(常用 1920x1080)
3. 自定义比例/尺寸(请告诉我比例或像素尺寸)

选好后我会先写视频脚本给你确认,确认后再进入素材、配音、字幕和成片制作。

如果用户只给出平台但没有给出比例,先确认默认推断:抖音/TikTok/Reels/Shorts 通常使用 9:16;YouTube/B 站长视频通常使用 16:9

脚本确认包

格式确定后,生成脚本确认包:

  • 工作标题
  • 目标受众与语气
  • 预计时长
  • 开头钩子
  • 分镜旁白
  • 结尾或 CTA

输出脚本后,必须使用 AskUserQuestion 提供确认选项,例如“确认脚本”和“需要修改”。用户确认或提出修改前停止。

脚本确认后的制作流程

  1. 将已确认脚本扩展为带镜头时长的分镜表。
  2. 制定素材计划:画面关键词/提示词、素材类型、BGM 情绪、音效、人声风格和字幕风格。
  3. 收集或生成场景素材:
    • 脚本确认后,优先搜索和下载免费/免版税视频资源;如果用户提供了指定素材,则使用用户提供的素材。
    • 使用素材下载脚本前,检查该SKILL目录下是否存在 ./config.json;如果未配置则提示用户“未配置 API key”,参照 ./config.example.json 填写 Key。
    • Pexels/Pixabay 用于视频和图片,Jamendo 用于 BGM/音乐,Freesound 用于音效。
    • 使用 Bun 运行免费素材下载脚本;默认直接输出可读文本,只包含挑选素材需要的重要字段。需要保存完整原始 JSON 时,添加 --output <path_to_json>
      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 工具。
  4. 先生成旁白音频,再裁剪视频。旁白文本以已确认脚本为准;如果配音内容过长或 TTS 工具有单次文本/时长限制,则按分镜、段落或自然停顿拆分成多段文本,分别生成语音片段,再按脚本顺序拼接成最终旁白音频。
  5. 测量最终旁白音频总时长;可行时,也测量每个镜头/每句旁白的时长。后续裁剪视频和 ASR 字幕都以拼接后的最终旁白音频为准。
  6. 按实测旁白时长裁剪、延长、循环或调整视频素材;在生成字幕前锁定最终视频时间轴。
  7. 先合成无字幕视频:画面、运动效果、旁白、BGM 和音效,渲染出无字幕版本;除非用户另有要求,优先输出 H.264 MP4。
  8. 视频生产后再制作字幕:基于最终视频或最终旁白音频执行 ASR 语音识别,优先使用字符级时间戳;不可用时才退化到词级或句级时间戳。
  9. 根据 ASR 结果生成 .ass 字幕文件。字幕文本尽量不要使用标点符号;必要时仅保留影响理解的极少量标点。
  10. 使用 ffmpeg.ass 字幕合成到无字幕视频中,输出最终带字幕视频。
  11. 验证输出文件、比例、时长、.ass 文件、ffmpeg 字幕合成结果、音频/字幕同步、字幕少标点规则和占位内容。

防护规则

  • 不要因为需求看起来明显就跳过格式选择门槛。
  • 即使用户一句话要求“直接做完整成片”,也不能跳过脚本确认。
  • 优先使用免费/免版税素材;如果用户提供了素材,则使用用户提供的视频或图片素材。
  • 不在聊天中暴露或要求用户粘贴原始 API key。必须说明素材提供商未配置 API key 时无法下载,然后用 AskUserQuestion 确认用户是否已在本地配置。
  • 不要在视频生产前提前制作最终字幕;最终字幕必须基于最终视频或最终旁白音频重新 ASR 识别。
  • 优先使用字符级 ASR 时间戳制作 .ass 字幕;字符级不可用时,才退化到词级或句级时间戳。
  • 不检查最终输出文件、.ass 文件和 ffmpeg 字幕合成结果,就不能报告完成。

常见请求处理

用户请求必须响应
“帮我做一个短视频”AskUserQuestion 先询问视频格式。
“做一个竖屏9:16短视频,主题是 X”直接生成脚本确认包,然后用 AskUserQuestion 请求确认/修改。
“脚本确认,继续做成片”进入分镜、素材计划、旁白、按音频时长裁剪视频、先渲染无字幕视频、ASR 识别、生成 ASS 字幕、用 ffmpeg 合成字幕并验证。
“把这篇文章做成视频”如果未指定格式,先用 AskUserQuestion 询问格式;然后改写为视频脚本确认包。