원클릭으로
generate-clues
// 使用 Gemini 图像生成 API 为视频生成线索设计图。使用场景:(1) 用户需要为项目生成线索参考图,(2) 用户运行 /generate-clues 命令,(3) project.json 中有 importance='major' 的线索没有 clue_sheet 路径。生成一致的线索设计用于分镜和视频生成。
// 使用 Gemini 图像生成 API 为视频生成线索设计图。使用场景:(1) 用户需要为项目生成线索参考图,(2) 用户运行 /generate-clues 命令,(3) project.json 中有 importance='major' 的线索没有 clue_sheet 路径。生成一致的线索设计用于分镜和视频生成。
使用 Gemini API 生成 JSON 剧本。使用场景:(1) 用户运行 /generate-script 命令,(2) 已完成 Step 1/2 需要生成最终剧本。读取 step1_segments.md 和 project.json,调用 gemini-3-flash-preview 生成符合 Pydantic 模型的 JSON 剧本。
使用 Gemini 图像生成 API 为视频生成人物设计图。使用场景:(1) 用户需要为项目生成人物参考图,(2) 用户运行 /generate-characters 命令,(3) 剧本中有人物没有 character_sheet 路径。生成一致的人物设计用于分镜和视频生成。
使用 Gemini 图像 API 生成分镜图。说书模式直接生成分镜图,剧集动画模式使用两步流程。使用场景:(1) 用户运行 /generate-storyboard 命令,(2) 剧本中有场景没有分镜图,(3) 用户想在视频生成前预览场景。
使用 Veo 3.1 API 为每个场景独立生成视频片段,以分镜图作为起始帧,然后使用 ffmpeg 拼接。使用场景:(1) 用户运行 /generate-video 命令,(2) 剧本中有场景没有 video_clip 路径,(3) 用户想将分镜图转换为视频。
完整的端到端工作流程,将小说转换为视频。使用场景:(1) 用户运行 /manga-workflow 命令,(2) 用户想开始新的视频项目,(3) 用户想继续现有项目。按顺序编排所有其他 skill,并在每个阶段设置审核检查点。
使用 ffmpeg 进行视频后期处理。使用场景:(1) 用户运行 /compose-video 命令,(2) 需要添加背景音乐、片头片尾,(3) 需要合并多个 episode 的视频。主要用于后期处理,视频连贯性由 generate-video 的连续模式保证。
| name | generate-clues |
| description | 使用 Gemini 图像生成 API 为视频生成线索设计图。使用场景:(1) 用户需要为项目生成线索参考图,(2) 用户运行 /generate-clues 命令,(3) project.json 中有 importance='major' 的线索没有 clue_sheet 路径。生成一致的线索设计用于分镜和视频生成。 |
使用 Gemini 3 Pro Image API 创建线索设计图,确保整个视频中重要物品和环境的视觉一致性。
在编写线索描述和生成 Prompt 前,请先阅读 docs/nano-banana.md 第 365 行起的 Prompting guide and strategies 章节,了解 Gemini 图像生成的最佳实践。
核心原则:
"Describe the scene, don't just list keywords. A narrative, descriptive paragraph will almost always produce a better, more coherent image than a list of disconnected words."
编写道具 description 时,请遵循叙事式写法:
✅ 推荐:
"一块翠绿色的祖传玉佩,约拇指大小,玉质温润透亮。表面雕刻着精致的莲花纹样,花瓣层层舒展,中心有一枚小小的莲蓬。玉佩上系着一根红色丝绳,打着传统的中国结。"
❌ 避免:
"玉佩,绿色,莲花纹,红绳"
编写环境 description 时,同样使用叙事式:
✅ 推荐:
"村口的百年老槐树,树干粗壮需三人合抱,树皮龟裂沧桑。主干上有一道明显的雷击焦痕,从顶部蜿蜒而下。树冠茂密,夏日里洒下斑驳的树影。"
❌ 避免:
"老槐树,大,有雷击痕"
要点:
线索(clues)是需要在多个场景中保持一致的重要元素,包括:
加载项目元数据
projects/{项目名}/project.json 加载项目数据importance='major' 且没有 clue_sheet 的线索生成线索设计
.claude/skills/generate-clues/scripts/generate_clue.pyprojects/{项目名}/clues/审核检查点
更新项目元数据
clue_sheet 路径# 生成所有待处理的线索
python .claude/skills/generate-clues/scripts/generate_clue.py <项目名> --all
# 生成指定线索
python .claude/skills/generate-clues/scripts/generate_clue.py <项目名> --clue "玉佩"
# 列出待生成的线索
python .claude/skills/generate-clues/scripts/generate_clue.py <项目名> --list
一张专业的道具设计参考图,{项目 style}。
道具「[名称]」的多视角展示。[详细描述 - 叙事式段落]
三个视图水平排列在纯净浅灰背景上:左侧正面全视图、中间45度侧视图展示立体感、右侧关键细节特写。柔和均匀的摄影棚照明,高清质感,色彩准确。
一张专业的场景设计参考图,{项目 style}。
标志性场景「[名称]」的视觉参考。[详细描述 - 叙事式段落]
主画面占据四分之三区域展示环境整体外观与氛围,右下角小图为细节特写。柔和自然光线。
使用 lib/gemini_client.py:
from lib.gemini_client import GeminiClient
client = GeminiClient()
image = client.generate_image(
prompt=clue_prompt,
aspect_ratio="16:9",
output_path=f"projects/{项目名}/clues/{线索名}.png"
)
批准道具设计前检查:
批准环境设计前检查:
在 Claude 对话中添加线索:
请为项目添加一个新线索:
- 名称:玉佩
- 类型:prop
- 描述:一块翠绿色的祖传玉佩,约拇指大小,雕刻着莲花纹样,系着红色丝绳
- 重要程度:major
或直接编辑 project.json:
{
"clues": {
"玉佩": {
"type": "prop",
"description": "一块翠绿色的祖传玉佩,约拇指大小,雕刻着莲花纹样,系着红色丝绳",
"importance": "major",
"clue_sheet": ""
}
}
}
在剧本的场景中添加 clues_in_scene 字段:
{
"scene_id": "E1S3",
"characters_in_scene": ["姜月茴"],
"clues_in_scene": ["玉佩", "老槐树"],
"visual": {
"description": "姜月茴站在老槐树下,手中紧握着玉佩..."
}
}
生成分镜时,线索的 clue_sheet 会自动作为参考图传入 API。