模型选型与常见陷阱:vox-director中真人、品牌与9:16竖屏该选哪个视频模型
【免费下载链接】vox-directorTurn one topic into a finished Vox-style paper-collage explainer/ad video — automated end to end on Atlas Cloud + ffmpeg. An agent skill.项目地址: https://gitcode.com/gh_mirrors/vo/vox-director
vox-director 是一个开源 Agent Skill,能把一个一句话话题自动变成成品 Vox 风格纸质拼贴解说视频:分镜脚本、拼贴关键帧、动效、配音、音乐和字幕全流程自动化。跑通它的过程中,最影响成片质量的决定只有一个——为每一类内容选对 AI 视频模型:真人出镜选谁?品牌广告选谁?9:16 竖屏短剧/口播选谁?本文用项目内置的真实样例,把默认模型选择逻辑和最容易踩的坑一次性讲清楚,帮你少走弯路。
一、先看全貌:一条视频背后的 3 条生成路径
vox-director 支持三种输入模式,模型需求各不相同:
| 模式 | 输入 | 典型场景 | 关键模型 |
|---|---|---|---|
| B-roll | 一个话题 | 知识科普、品牌短片 | nano-banana-2(拼贴海报)+gemini-omni-flash(动画化) |
| A-roll | 真人出镜视频 | 讲者口播转拼贴风 | gemini-omni-flash/video-edit,失败自动重试seedance-2.0 |
| C-roll | 一张照片 | 真人/产品锚定拼贴 | nano-banana-2/edit锚定主体,再走动画流程 |
上图:30 秒「中国文明演变」影片,B-roll 默认路径(Omni Flash 动画化)的成片效果
其中B-roll 是默认路径,也是新手最常用的:给一个话题,模型自动生成每一帧拼贴海报再让它"活"起来。这条路径下,绝大多数内容都应该用默认动画模型——除非内容涉及真人或品牌。
二、核心结论:真人、品牌必须切到 Kling
这是整个选型里最重要的一条规则:
对非真实内容的动画化,用
google/gemini-omni-flash/image-to-video;一旦涉及真人或品牌 Logo,Omni 和 Seedance 会直接拒绝生成,必须改用kwaivgi/kling-video-o3-pro/image-to-video。
两个模型的定位差异:
| 维度 | gemini-omni-flash(默认) | kling-video-o3-pro |
|---|---|---|
| 适用内容 | 纯插画/拼贴、无真人无商标 | 真人脸部、名人、品牌 Logo |
| 文字稳定性 | 好,标题不易抖动 | 同样可用 |
| 分辨率 | 仅 720p | 跟随输入 |
| 竖屏支持 | 仅 16:9 / 9:16 两档 | image-to-video 跟随输入,reference-to-video 额外支持 1:1 |
为什么默认模型会"拒绝"真人?这是内容安全过滤机制,不是你 prompt 写错——无论措辞多委婉,让 Omni 或 Seedance 动画化一张真人照片基本都会被拦截。
项目内置了一个可直接运行的样例 examples/ronaldo-9x16-kling.beats.json,它就是"9:16 竖屏 + 真人 + Kling"三件套的组合拳,打开就能看到关键写法:"aspect": "9:16"配"video_model": "kwaivgi/kling-video-o3-pro/image-to-video"。
上图:足球题材 60 秒影片——人物类题材建议参考同目录的 ronaldo 样例切换到 Kling
三、品牌广告的两个隐藏陷阱
品牌片比真人片更"刁钻",除了换模型,还有两个容易翻车的细节:
1. 产品标签会被"重新拼字"
动画模型在 C-roll 路径中可能把产品上的文字改写——项目验证时实际观察到过香水标签 "PARFUM" 变成 "PAREUM"。解法:croll_keyframes.py会往 beats.json 写入anchor_freeze保护句,scripts/clips.py 在生成运动 prompt 时把它注入每个镜头。不要跳过 keyframe 阶段直接生成动画,否则保护句不存在。
2. 别要求模型"重画"人脸
A-roll 模式下,无论 prompt 怎么写(强措辞或弱化措辞),让模型对真人面部做重绘/网点化纹理都会被拒绝——项目两种写法都实测失败。正确姿势是:保持真人面部、口型、手势逐帧跟随原素材,只把人物剪影边缘和背景换成纸拼贴。相关规则见 SKILL.md 的 A-roll 章节。
四、9:16 竖屏:比例路由与"确认门"机制
很多人把竖屏 9:16 视频做废,不是模型不行,而是比例没对齐。vox-director 在 scripts/styles.py 的resolve_video_aspect里内置了一套比例路由规则:
- 精确匹配优先:项目目标比例(如 9:16)若被所选模型原生支持,直接用;
- 近似回退必须人工确认:若模型没有精确匹配项(比如某些模型只认 16:9/9:16/1:1),脚本会取最近比例,但停下来要求你确认——在 beats.json 里设置
"aspect_approx_confirmed": true才会继续,绝不静默重裁画面; - 全片统一:同一次运行的所有镜头共享同一个解析后的比例,成片不会出现横竖混剪。
上图:60 秒「金钱简史」竖屏成片,对应样例 examples/money-60s-9x16-english.beats.json
竖屏还有一个与模型无关但影响巨大的节奏规则:9:16 社交场景下,单个镜头别超过 7 秒,建议 4–6 秒一切、每个 beat 给 2 个镜头(带标题的全景 + 不带标题的细节特写)。这是 SKILL.md 中总结的"最大节奏收益点"——模型再强,一个 10 秒静止镜头在竖屏里也像死画面。
五、常见陷阱速查清单
🔍 把项目已验证的坑整理成清单,遇到问题先对一遍:
- 内容涉及真人/名人/品牌→ 忘了切 Kling,Omni 直接拒单
- A-roll 想重绘人脸→ 必被拒;保持面部原样、只重做背景风格
- C-roll 产品文字漂移→ 漏跑 keyframe 阶段,
anchor_freeze没注入 - 竖屏用了不支持的比例→ 没看确认门提示就强跑,画面被静默改框
- 镜头太长→ 9:16 下单镜头超过 7 秒,成片像 PPT
- 模型 ID 失效→ 模型编号会漂移,项目运行前会自动拉取在线模型列表,以实时列表为准
- Omni 想要 1080p→ 它只有 720p;要更高分辨率换 Seedance(支持 480p/1080p)
所有 API 调用统一经过 scripts/provider.py,内置失败/卡死任务自动重提交机制,单个镜头卡住不会拖垮整条流水线。
六、总结:一张表记住选型逻辑
| 你的内容 | 动画模型 | 备注 |
|---|---|---|
| 纯插画/拼贴科普 | gemini-omni-flash/image-to-video(默认) | 保持文字稳定,720p 起步够用 |
| 真人脸部 / 名人 | kwaivgi/kling-video-o3-pro/image-to-video | 参考 ronaldo 9:16 样例 |
| 品牌 Logo / 产品文字 | Kling + 跑完 keyframe 阶段 | 确保anchor_freeze生效 |
| A-roll 口播重制 | omni-flash/video-edit,自动回退 Seedance | 面部保持原样,只重做背景 |
| 9:16 竖屏 | 任一模型 + 确认比例路由 | 4–6 秒一切,每 beat 两个镜头 |
模型选型定对,vox-director 的其余环节——拼贴风格、配音、配乐、剪辑——都会按 SKILL.md 定义的流水线自动完成。新手最省力的起步方式:直接复制 examples/ 里的 beats.json 改一改,跑通一条自己的成片。
【免费下载链接】vox-directorTurn one topic into a finished Vox-style paper-collage explainer/ad video — automated end to end on Atlas Cloud + ffmpeg. An agent skill.项目地址: https://gitcode.com/gh_mirrors/vo/vox-director
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考