You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.6 KiB
3.6 KiB
视频生成
目标
基于分镜规划和脚本,生成 AI 视频片段。
生成模型
使用 Seedance 2.0 多参考图模式(seedance_multimodal_video):
- 模型:
seedance2.0 - 输入:多张参考图(背景参考图 + 角色参考图 + 物件参考图),通过
reference_image_paths传入 - 时长:与脚本每幕的秒数一致(4~15 秒),从时间码标签直接读取
- 分辨率:
720p,比例16:9 - 音频:
generate_audio: false(最终合成时统一嵌入歌曲音频) - 并发度:1(逐幕顺序生成,避免 API 限流)
参考图策略
视频生成使用分镜选定图作为画面构图基准,配合角色和物件参考图确保一致性:
| 场景类型 | reference_image_paths | prompt 引用示例 |
|---|---|---|
| 角色场景 | [分镜选定图, 角色 selected.jpg] | use image 1 as the scene composition, image 2 as the character reference |
| 角色 + 物件场景 | [分镜选定图, 角色 selected.jpg, 物件 selected.jpg] | use image 1 as the scene composition, image 2 as the character, image 3 as the prop reference |
| 多角色场景 | [分镜选定图, 角色1 selected.jpg, 角色2 selected.jpg] | use image 1 as the scene composition, image 2 and image 3 as character references |
| 纯空镜 | [分镜选定图] | use image 1 as the scene composition |
分镜选定图路径:
storyboard/scene_{NN}.jpg(其中 NN 为幕序号,如 scene_01.jpg)
生成流程
- 读取
storyboard.md,提取每幕的参考图路径、出场角色、场景背景和时长 - 为每幕编写视频提示词(英文),描述画面动态和镜头运动,引用参考图
- 逐幕调用
seedance_multimodal_video,传入参考图列表和提示词 - 每幕生成完成后,将视频保存到
clips/目录 - 全部完成后,生成
video_prompts.md记录每幕的提示词和生成参数
提示词结构
[参考图引用], [主体描述], [动作/运动], [环境/场景], [光线/氛围], [镜头语言], [风格修饰]
提示词原则
- 使用英文撰写(AI 视频工具对英文支持最佳)
- 先引用参考图(image 1, image 2...),再写主体和动作
- 明确指定镜头运动方式(camera pan left, dolly in, static shot...)
- 包含光线描述(golden hour, neon lights, dramatic shadows...)
- 添加风格标签(oil painting, thick brushstrokes, impressionist...)
- 避免否定描述,用正面表述替代
文件存储
./.mv/{song_name}/{theme}/video_prompts.md # 视频提示词
./.mv/{song_name}/{theme}/clips/{scene_name}.mp4 # 生成的视频片段
视频预览
全部视频生成完成后,调用 MCP 工具 preview_and_collect_feedback 启动视频预览:
- script:
.opencode/skills/mv-creator/scripts/render_preview.py - args:
[".mv/{song_name}/{theme}", "--type", "videos", "--lang", "{lang}"] - feedback_path:
.mv/{song_name}/{theme}/feedback.md
预览页面展示:
- 每幕视频播放器(支持播放/暂停/拖拽)
- 场景信息(标题、时间码、歌词、出场角色、场景描述)
- 视频提示词(可折叠)
- 参考图缩略图
- 生成状态(已生成 / 缺失)
用户反馈处理(工具返回反馈内容后):
LGTM→ 进入视频剪辑阶段@scene_03 镜头运动改为缓慢推进→ 修改指定幕的提示词并重新生成@scene_05 重新生成→ 使用原提示词重新生成指定幕- 可上传参考图辅助修改:
@scene_02 参考 @uploaded/ref.jpg 的构图