YouTube Shorts 视觉导演与图像生成技能
本技能指导代理使用 Antigravity 的原生 generate_image 功能,生成连贯的、电影级的 9:16 竖屏场景,适用于 YouTube Shorts。
---\n
1. 视觉一致性框架(角色与世界观同步) 👥🌍
在为 Shorts 生成 5 到 20 张图像时,避免风格或角色漂移至关重要。如果角色的面部、服装或环境在场景间随机变化,视频的沉浸感将被破坏。
场景间同步的三大支柱:
-
角色DNA蓝图:
- 在每个包含角色的场景中,重复使用完全相同的 5 个部分角色公式:
[姓名 + 年龄/性别] + [发型与颜色] + [面部特征] + [具体服装与颜色] - 示例:
"26岁女性考古学家Maya,凌乱的深色卷发扎成马尾,脸上有雀斑,身穿橄榄绿亚麻狩猎衬衫,佩戴黄铜指南针项链" - 切勿使用“她看起来”或“那个女人”等通用术语进行替代。
- 在每个包含角色的场景中,重复使用完全相同的 5 个部分角色公式:
-
世界与光照锚点:
- 定义共享的环境描述,并前置到所有场景提示中:
[设置] + [主要光源与色温] + [阴影风格] + [氛围] - 示例:
"地下古埃及砂岩墓室,温暖的琥珀色火炬光线投下深邃摇曳的影子,飘浮着金色尘埃颗粒,深钴蓝色背景。"
- 定义共享的环境描述,并前置到所有场景提示中:
-
视觉参考链(
ImagePaths参数) 🔗:- Antigravity 的
generate_image工具原生支持ImagePaths(将之前的图像作为视觉条件参考传递)。 - 工作流程:
- 生成 场景 1(确立主角色和光照)。
- 保存
scene_1.jpg。 - 对于 场景 2, 3, 4...,在
generate_image中传入ImagePaths: ["<path_to_scene_1.jpg>"]。 - 这将场景 1 的视觉潜在特征直接反馈给 Imagen 3,从而在所有后续场景中锁定面部形状、服装颜色和环境色调!
- Antigravity 的
2. 预飞行验证与用户批准 🛑
关键要求(零代币浪费):
在执行任何 generate_image 调用之前:
- 运行预飞行故事板验证器:
.\backend\venv\Scripts\python.exe backend\scripts\storyboard_validator.py --json "path/to/script.json"- 必须具有 0 个阻止性错误(例如,无禁止文本标记、有效的 9:16 信号、在 60 秒 Shorts 上限内)。
- 将验证后的故事板和艺术风格 以及验证统计信息呈现给用户。
- 征求用户明确批准:
“故事板已通过所有预飞行安全检查(0 个错误,预计时长约 X 秒)。您希望我继续生成这 [N] 张 9:16 图像,还是想先调整某些场景或风格参数?”
- 在用户给出明确确认之前,切勿生成图像。
3. 使用 Antigravity generate_image 生成图像
对于故事板中的每个场景(在获得用户批准后):
-
预生成重复/缓存检查 🛑:
- 检查目标文件夹(
backend/output/<job_id>/)中是否已存在scene_{X}.jpg或scene_{X}.png且文件有效(大于 10KB)。 - 如果已存在,则 跳过重新生成 以避免浪费代币,除非用户明确要求重新生成/重掷该特定场景。
- 检查目标文件夹(
-
合成最终提示(确保独特的镜头取景):
[世界锚点] + [角色锚点] + [场景动作与独特的摄影机角度] + [全局艺术风格模板] + [9:16 竖屏构图]- 确保摄影机镜头(例如广角 vs 微距 vs 反应镜头)与前一场景不同,以避免生成视觉上相同的静态图像。
-
调用工具: 调用
generate_image,附带:AspectRatio:"9:16"ImageName:scene_1、scene_2、scene_3等(每个场景严格唯一)。Prompt:合成的提示。ImagePaths:对于场景 2..N,传入["<path_to_scene_1.jpg>"]用于视觉调节。
-
批量生成: 按顺序或按场景组(每个 Shorts 最多 20 个场景)生成场景。
4. 资产部署到 YTShorts 管线
Antigravity 生成图像后:
-
Antigravity 将生成的图像存储到对话工件目录:
C:\Users\<user>\.gemini\antigravity-ide\brain\<conversation-id>\*.png -
将图像复制或链接到 YTShorts 输出/作业目录:
d:\WorkSpace\YTShorts\backend\output\<job_id>\后端需要的标准命名:scene_1.pngscene_2.pngscene_3.png- ...
-
配对的 JSON 故事板: 将
script.json保存在同一目录:d:\WorkSpace\YTShorts\backend\output\<job_id>\script.json
5. 触发视频渲染 🚀
图像和 script.json 就位到 backend/output/<job_id>/ 后,运行独立的组装工具:
.\backend\venv\Scripts\python.exe backend\scripts\assemble_short.py --job_dir "backend/output/<job_id>" --voice in_female --caption_style tiktok --music lofi --resolution 1080p --transition dynamic
此单个命令自动完成:
- 合成高清 TTS 旁白(Edge-TTS / KittenTTS)。
- 通过 Whisper 生成单词级别同步的 ASS 字幕。
- 一步到位渲染最终的 1080p/4K
.mp4视频,包含光学转场(xfade)、Ken Burns 平移/缩放运动、背景音乐及音频闪避、字幕烧录!
6. 频道品牌与社区资产生成 🎨📊
除了 9:16 竖屏故事场景外,视觉导演还使用 Antigravity 的原生 generate_image 工具生成营销资产:
-
社区标签页图像投票(1:1 正方形):
- 将角色生成或中心裁剪为 1024x1024 方形卡片。
- 将卡片存放到
backend/output/community_poll_assets/(例如poll_1_character.jpg)。 - 在新频道上,图像投票的传播效果比标准文本帖子高 3 到 5 倍。
-
频道头像吉祥物(1:1 正方形):
- 生成居中的 1024x1024 3D 皮克斯风格角色肖像,带有富有表现力的闪亮眼睛,手持发光故事书。
- 保存到
backend/output/channel_branding/channel_avatar_1024x1024.jpg。
-
全景频道横幅(16:9 横屏):
- 生成 16:9 全景电影级风景,展示频道反复出现的世界。
- 使用 Lanczos 滤波器放大至 2560x1440。
- 保存到
backend/output/channel_branding/channel_banner_2560x1440.jpg。
-
零外部 API 强制要求:
- 始终优先使用 Antigravity 的原生
generate_image工具。切勿回退到未经验证的免费外部图像 API。
- 始终优先使用 Antigravity 的原生