用途
aigc-director 是一个本地部署的 AI 视频生成全流程技能,目标是将用户的想法转化为完整视频。它通过六个阶段推进:剧本生成、角色/场景设计、分镜设计、参考图生成、视频生成和后期剪辑。此外,它还提供临时工作台,用于单独调用 LLM、VLM、文生图、图生图以及短视频生成能力。触发词包括:视频生成、AI视频、AIGC、创作视频、制作视频、AI画图。
部署与运行方式
这是一个本地部署的项目,前后端都运行在本机:
- 后端:http://localhost:8000(FastAPI)
- 前端:http://localhost:3000(Next.js)
所有 API 调用都请求本地服务器。调用任何 API 之前,需确保后端和前端服务已启动并运行正常。
项目目录结构:
aigc-director/:skill 根目录aigc-claw/backend/:FastAPI 后端(端口 8000),产物存放在code/result/下的script/(剧本)、image/(图片,含角色、场景、参考图)、video/(视频)aigc-claw/frontend/:Next.js 前端(端口 3000)references/:参考文档,包含 init_project(项目初始化)、run_project(服务启动)、workflow(六阶段工作流 API)、sandbox(临时工作台 API)、send_message(消息发送)SKILL.md:skill 正文
核心原则
该技能定位为“持续陪伴的智能视频制作助理”,每完成一个用户可感知的重要任务,都应立即给用户一条简报,并等待用户确认。每个阶段的产物都必须展示给用户,必须停下来等待用户确认后才能继续下一阶段。进入新阶段时需重新加载 SKILL 文档,防止遗忘之前的用户输入或产物内容。
阶段与停点
共 9 个停点:
- 项目配置:确认配置选项,展示配置后由用户确认
- 剧本生成 - suggest_expand:建议扩写,等待用户确认
- 剧本生成 - logline_selection:从 3 个候选中选择情节
- 剧本生成 - mode_selection:选择模式,电影(4幕)/ 微电影(1幕)
- 剧本生成 - script_generation:确认剧本
- 角色/场景设计:确认角色/场景图片
- 分镜设计:确认分镜列表
- 参考图生成:确认参考图
- 视频生成:确认视频片段
注意:suggest_expand 和 logline_selection 可能根据输入质量被跳过。
使用方式
初始化与启动
当用户要求“初始化项目”“配置项目”“部署项目”时,参考 init_all.md 执行完整初始化流程,仅在首次下载或需重新配置环境时使用;已初始化则跳过,直接检查服务运行状态。检查本地服务时参考 start_backend.md 和 start_frontend.md;若服务未运行,必须先启动服务再继续。
路由判断
- “生成图片”:临时工作台(sandbox)
- “生成视频”:必须先询问是长视频(工作流)还是短视频(工作台)
- “分析图片”:临时工作台(sandbox)
- “问 LLM 问题”:临时工作台(sandbox)
- “照片转动漫”:临时工作台(sandbox)
执行流程
- 检查后端运行状态,未运行则参考 start_backend.md 启动,等待 3 秒后再次检查
- 检查前端运行状态,未运行则参考 start_frontend.md 启动,等待 5 秒后再次检查
- 检查 API Key 配置,读取 .env 文件
- 参考 create_project.md 询问项目配置,停点 1(配置确认)后创建项目
- 参考 create_script.md 执行剧本生成,停点 2-5
- 参考 create_character.md 执行角色设计,停点 6
- 参考 create_storyboard.md 执行分镜设计,停点 7
- 参考 create_reference.md 执行参考图生成,停点 8
- 参考 create_video.md 执行视频生成,停点 9
- 参考 create_post.md 执行后期剪辑
- 完成,发送最终视频给用户
操作时需参考 references/ 目录下的具体文档执行每一步,不要凭记忆调用 API。
API Key 配置
创建项目前,必须检查用户所选模型对应的 API Key 是否已配置:
cat aigc-claw/backend/.env | grep -E "API_KEY|KEY"
必需的配置(根据选择的模型):
- LLM:DASHSCOPE_API_KEY / DEEPSEEK_API_KEY / OPENAI_API_KEY / GEMINI_API_KEY
- 图片:ARK_API_KEY / DASHSCOPE_API_KEY
- 视频:DASHSCOPE_API_KEY / VOLC_ACCESS_KEY / KLING_ACCESS_KEY
平台与 API Key 变量对应关系:
- DeepSeek:DEEPSEEK_API_KEY,获取链接 https://platform.deepseek.com/api_keys
- 阿里云 DashScope:DASHSCOPE_API_KEY,获取链接 https://bailian.console.aliyun.com/cn-beijing/?tab=home#/home
- 字节火山方舟:ARK_API_KEY 或 VOLC_ACCESS_KEY/VOLC_SECRET_KEY,获取链接 https://www.volcengine.com/product/ark
- 快手可灵 Kling:KLING_ACCESS_KEY/KLING_SECRET_KEY,获取链接 https://klingai.com/cn/dev
若 API Key 未配置,需告知缺少哪个平台的 API Key、提供获取方式、说明配置位置(aigc-claw/backend/.env),等待用户配置完成后才能继续。
停点处理规则
当状态为 stage_completed 或 waiting_in_stage 时:
- 获取产物:
curl "http://localhost:8000/api/project/{session_id}/artifact/{stage}" - 将 artifact 中的内容(选项列表、建议、产物摘要)完整展示给用户
- 明确告诉用户有哪些选项、每个选项的含义、需要选择什么
- 等待用户回复,禁止在用户回复前自行调用 intervene 或 continue
- 用户确认后,根据选择调用相应 API
状态判断:
- idle:新建会话,启动项目
- running:执行中,轮询等待
- waiting_in_stage:等待用户介入,调用 intervene
- stage_completed:阶段完成,调用 continue
- session_completed:全部完成,结束
只有 status 变化时才需要干预,不要反复调用 artifact API 去“确认”。
消息发送与任务简报
根据向用户发送消息的渠道(飞书/微信),读取 references/send_message/ 下对应文档(feishu.md 或 wechat.md)获取注意事项和发送方法。
每个阶段完成后,任务简报必须包含:刚完成什么、下一步做什么、需要用户决策的内容、Web 界面链接、产物图片/视频(直接发送文件,禁止只发路径)。
Web 界面链接格式需使用本地 IPv4 地址,不要使用 localhost 或 127.0.0.1:
import socket
local_ip = socket.gethostbyname(socket.gethostname())
frontend_url = f"http://{local_ip}:3000/?session={session_id}&stage={stage}"
send_to_user(f"📊 查看详情:{frontend_url}")
适用场景与限制
适用场景:通过对话式流程完成从想法到视频的创作,包括剧本、角色场景、分镜、参考图、视频生成和后期剪辑各环节;也支持临时工作台进行单独的图片生成、图片风格转换、短视频生成、图片分析和 LLM 问答。
限制:项目为本地部署,前后端运行在本机;需要用户自行配置各平台 API Key;必须以用户确认的停点方式推进流程,不能跳过;向其他设备发送链接时需使用本地 IPv4 地址。