魔因漫创提示词构建原理:5层语义融合的视频提示词组装设计
【免费下载链接】moyin-creatorAI 影视生产级工具 | 支持 Seedance 2.0 | 剧本到成片全流程批量化 | AI-powered film production tool with Seedance 2.0 support项目地址: https://gitcode.com/gh_mirrors/mo/moyin-creator
魔因漫创(moyin-creator)是一款 AI 影视生产级工具,支持 Seedance 2.0,能把剧本一路批量化地变成成片。它最见功底的环节之一,是视频提示词组装:你只需在导演面板里点选景别、灯光、情绪,系统就会按一套「5 层语义融合」架构,把这些零散选项拼成一句结构清晰、优先级分明的完整提示词喂给视频大模型。本文带你拆开这套设计,看懂它为什么比「把所有词堆在一起」更稳。
为什么不能把提示词简单堆在一起
很多 AI 视频工具直接把用户选的所有标签拼接成一段话发给模型。词越多,模型越"注意力涣散"——专业上叫信号稀释。
魔因漫创 prompt-builder.ts 的头部注释,直接点明了设计目标:
核心原则:整合为语义层次,避免碎片化堆叠导致信号稀释
于是它选择像真实剧组分工那样组织信息:先定镜头,再打光,再交代主体与情绪,最后压风格。每一层内部先聚合成一个语义单元,层与层之间再用句号分隔,形成"总—分"结构。
5 层语义融合架构一览
这是整套提示词组装的骨架,也是本文的核心。每一层都有明确职责和优先级:
| 层级 | 语义层 | 组装前缀 | 优先级 | 典型内容 |
|---|---|---|---|---|
| Layer 1 | 镜头设计 Camera | Camera: | 最高 | 器材、景别、运动、角度、景深、焦距 |
| Layer 1.5 | 灯光设计 Lighting | Lighting: | 高 | 灯光风格、方向、色温、氛围光 |
| Layer 2 | 内容焦点 Subject | Subject: | 次高 | 角色调度、动作、视觉焦点 |
| Layer 3 | 氛围修饰 Mood | Mood: | 辅助 | 情绪标签、叙事意图、氛围特效 |
| Layer 4 | 场景与音频 Setting & Audio | Setting:/Dialogue: | 基础 | 场景地点、对白、环境音、音效、配乐 |
| Layer 5 | 视觉风格 Style | Style: | 收尾 | 画风预设、媒介类型 |
💡 注意一个反直觉的细节:用户自己输入的提示词(
videoPrompt)被放在最末尾作为 Base Prompt,而不是最开头。它像"底色",让前面 5 层的结构化指令成为主体。
组装结果最后用.拼接成一整句(见 prompt-builder.ts#L348-L350),保证层与层之间有清晰的语义停顿。
逐层拆解:镜头层如何"聚合成一句"
以优先级最高的镜头层为例,它内部其实塞了 9 个子项:器材、景别、机位运动、角度、速度、节奏、景深、焦点、焦距、技法(prompt-builder.ts#L120-L205)。
这些子项先各自查表取到英文 token,再join(', ')合成一句,最后加上Camera:前缀。这样模型看到的是"一组镜头语言",而非一堆散点词。
这里有个互斥设计很值得学:如果用户写了高级机位描述(cameraPosition),就跳过自动景别(prompt-builder.ts#L128-L146)——因为自定义机位已经隐含了景别信息,两者同时出现反而会打架。
预设 Token 查表:中文选项到英文提示词的桥梁
面板里用户点的是「远景」「低调光」「暖色」,但视频大模型更吃英文专业词。这套映射靠预设表完成,全部定义在 director-presets.ts:
{ id: 'ws', label: '远景', labelEn: 'Wide Shot', abbr: 'WS', promptToken: 'wide shot, establishing shot, distant view' }每个选项都有promptToken字段,prompt-builder.ts 里的findPresetToken负责"查 ID → 取 token",查不到就静默跳过(返回undefined),绝不让一个坏值污染整句。
灯光风格表同理(director-presets.ts#L89-L98):
{ id: 'low-key', label: '低调暗沉', emoji: '🌑', promptToken: 'low-key lighting, dramatic shadows, film noir,' }逐镜优先 + 档案回退:两级默认值机制
这是整套设计里最体现"生产级"的一环。魔因漫创允许你在项目级先选一个摄影风格档案(如「黑色电影」「赛博朋克」),它提供一组默认摄影基准;但逐镜可以覆盖。
优先级规则一句话:逐镜字段为空时,回退到摄影档案默认值。代码里反复出现的scene.xxx || cinProfile?.defaultXxx就是这个逻辑(prompt-builder.ts#L148-L159):
const effectiveAngle = scene.cameraAngle || cinProfile?.defaultAngle;摄影档案本身在 cinematography-profiles.ts 定义,比如「黑色电影」档案默认低调布光、侧光、冷色调、浅景深、手持慢移,还附带给 AI 的拍摄指导语和参考影片(《银翼杀手》《唐人街》)。这样你不用每个镜头都手动设置,风格基准自动兜底。
媒介类型翻译层:让同一套参数适配不同画风
一个精妙之处:同一句"轨道镜头推进",拍真人电影和拍 2D 动画,含义完全不同。真人要用物理摄影词,动画却该说"视差平移""层次模糊"。
于是魔因漫创加了一层媒介类型翻译,由 media-type-tokens.ts 的translateToken完成。它根据画风预设里的mediaType字段决定翻译策略(visual-styles.ts#L14-L21):
| 媒介类型 | 翻译策略 |
|---|---|
cinematic电影摄影 | 直通,保留全部物理摄影词汇 |
animation动画运镜 | 轨道→视差平移、景深→层次模糊 |
stop-motion定格微缩 | 轨道→微型滑轨、景深→微距镜头 |
graphic图形色彩 | 跳过物理参数,灯光→色彩/情绪/节奏 |
例如选「轨道 dolly」时,动画媒介会被翻译成smooth tracking with parallax layers,定格动画则变成miniature rail push-in(media-type-tokens.ts#L57-L74)。而高度抽象的图形风格(像素、水彩、简笔画)会整体skip掉物理摄影参数,只保留色彩与情绪——避免让像素画风"强行运镜"。
情绪标签的动态句式
氛围层里,情绪标签的处理也颇有巧思。prompt-builder.ts#L48-L70 的buildEmotionDescription会根据标签数量生成不同句式:
- 1 个:
氛围紧张, - 2 个:
氛围从紧张转为释然, - 3 个及以上:
氛围依次紧张、压抑然后爆发,
这样多个情绪标签不再是并列罗列,而是一段有先后叙事感的描述。
音频层:明确的"禁止"比沉默更有效
Layer 4 里有个容易被忽视的细节——对白、环境音、音效、配乐没内容时不省略,而是明确写出禁止(prompt-builder.ts#L301-L323):
Dialogue: 禁止对白 Ambient: 禁止环境音 SFX: 禁止音效 Music: 禁止背景音乐对视频大模型来说,"明确禁止"能压住它自作主张加音效的冲动,比什么都不写更可控。
一次真实组装:数据从面板到提示词
串起来看,调用点在导演面板的分镜场景 split-scenes.tsx:
const fullPrompt = buildVideoPrompt(scene, cinProfile, { styleTokens: [getStylePrompt(currentStyleId)], aspectRatio: storyboardConfig.aspectRatio, mediaType: getMediaType(currentStyleId), });它把三样东西交给统一入口buildVideoPrompt:分镜数据(用户逐镜设置)、摄影档案(项目级回退基准)、风格配置(画风与媒介类型)。最终产出一句形如:
Camera: starts wide shot, smooth gliding virtual camera, medium shot... . Lighting: natural lighting, dramatic side lighting, golden hour warm sunlight . Subject: 主角缓步进入房间, focus on 主角 . Mood: 氛围从平静转为紧张, . Setting: 深夜书房 - 室内 . Dialogue: 禁止对白 . Style: (Ghibli style...)一句结构分明的完整提示词,就这么从你点选的那些下拉框里长出来了。
小结:这套组装设计好在哪
- 语义分层:5 层各司其职,规避信号稀释,模型注意力更聚焦。
- 两级默认值:逐镜优先 + 档案回退,省心又有掌控力。
- 媒介自适应:同一参数按画风翻译,真人/动画/定格/图形各说各话。
- 防污染:查不到就跳过、无内容就明令禁止,处处防坏值。
- 单一入口:所有分镜共用
buildVideoPrompt,逻辑收敛、易维护。
理解了这套 5 层语义融合的组装机制,你就能明白魔因漫创为何能从剧本批量化地稳定产出成片——提示词的"结构",恰恰是质量的下限。
📁 相关模块速查
- 提示词统一组装:src/lib/generation/prompt-builder.ts
- 媒介类型翻译:src/lib/generation/media-type-tokens.ts
- 预设 Token 表:src/stores/director-presets.ts
- 摄影风格档案:src/lib/constants/cinematography-profiles.ts
- 画风与媒介类型:src/lib/constants/visual-styles.ts
- 组装调用点:src/components/panels/director/split-scenes.tsx
【免费下载链接】moyin-creatorAI 影视生产级工具 | 支持 Seedance 2.0 | 剧本到成片全流程批量化 | AI-powered film production tool with Seedance 2.0 support项目地址: https://gitcode.com/gh_mirrors/mo/moyin-creator
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考