我们用同一个视频模型制作了两部带对话的短片
两部完整的短片——一部魔法黑色悲剧和一部被困船员科幻故事——使用16个结构化的H3提示制作:每个镜头一个逐字的身份锁定以保证角色一致性,将对话写入提示以在生成时实现口型同步,之后混入音乐。工作流程、提示和渲染数字。
我们用我们的H3视频模型在我们自己的GPU堆栈上制作了两部完整的带对话的短片——Ember,一部设定在沙漠城市中的魔法黑色悲剧,以及Hollow Orbit,一艘坠毁的勘测船在生物发光的潮汐锁定星球上的故事。每部电影是8个镜头×5秒:总共16个镜头,每个镜头都是一个结构化的提示。H3在镜头之间没有记忆,因此角色一致性存在于提示本身,对话由模型生成,口型同步在生成中发生。本文是整个工作流程:身份技术、对话格式、为什么音乐永远不会进入模型,以及渲染成本。
两部电影,十六个提示
两部影片都是先规划分镜表,再写提示词——每个镜头一个提示词,在一台本地 GPU 工作站上按顺序渲染。《余烬》是一部魔法黑色悲剧:街头女巫为救垂死的弟弟偷走禁忌余烬,深爱她的守卫为她挡下致命一箭,而她燃烧自己的火花拯救他,在日出时化作余烬飘散。冲突、爱情、失去——四十秒的篇幅。《空洞轨道》将一艘勘测船困在一颗潮汐锁定行星上:外星唱诗班重建了引擎,但要求留下一个意识作为代价,副驾驶莉娜选择留下,成为飞船的舵手,当飞船逃离时,山谷在她纹身的几何图案中绽放。
PROMPT
[SHOT e1 — verbatim from the spec, opening truncated]
PHOTOREAL CINEMATIC FANTASY, anamorphic 2.39:1, warm ember palette against
cold indigo pre-dawn. IDENTITY LOCK: SERA, woman mid-20s, sun-bronzed olive
skin, black braided crown hair with loose windblown strands, amber eyes,
glowing copper sigil tattoos spiraling up both forearms, crimson open-backed
wrap top baring her shoulder blades, long charcoal skirt with a high slit...
SCENE: She stands on the ribbed clay rooftop of a teetering desert city at
first light, dealing a fan of tarot-sized cards whose faces smolder like
coals... AUDIO: dry wind over clay, distant bell-goat chimes, the soft hiss
of the burning card. No dialogue, no music, no subtitles, no logos.OUTPUT — GENERATED WITH MANIFOLDGEN
余烬 — 8 个镜头 × 5 秒,生成并首尾相接剪辑
镜头 1 在一个提示词中确立了地理环境和偷窃行为。身份锁定固定了塞拉,而其下的一切——地点、动作、镜头、光线、音频——每个镜头都是新的;其余七个提示词只改变这些变量。
PROMPT
[SHOT h1 — verbatim from the spec, opening truncated]
PHOTOREAL SCIENCE FICTION, anamorphic 2.39:1, awe-heavy establishing.
SCENE: the survey ship MERIDIAN LARK, a hundred-meter wedge, crashed nose-down
in a valley of glassy violet coral under a locked twilight sky; a banded gas
giant hangs fixed on the horizon; aurora curtains ripple green-violet...
ACTION 0-5s: two tiny suited figures descend the rope from the airlock onto
coral that glows faintly brighter around each of their footfalls, light
rippling outward like pond rings... No dialogue, no music, no subtitles.OUTPUT — GENERATED WITH MANIFOLDGEN
空洞轨道 — 8 个镜头 × 5 秒,对话由模型生成
整部影片就是八个这样的提示词。飞船、山谷和唱诗班在多个镜头中反复出现,因为它们的描述词逐字重复——这与身份锁定应用于面孔的纪律相同。
角色一致性如何实现
每次 H3 生成都是独立的:镜头 7 不知道镜头 6 的内容。因此,一致性是一种提示词纪律,而非模型特性。每个镜头提示词都以相同的身份锁定块开头,逐字粘贴,锁定角色所有不可改变的特征。以下是《余烬》规格中截断的塞拉锁定:
IDENTITY LOCK, repeat every shot:
SERA, woman mid-20s, sun-bronzed olive skin, black braided crown hair with
loose windblown strands, amber eyes, glowing copper sigil tattoos spiraling
up both forearms, crimson open-backed wrap top baring her shoulder blades,
long charcoal skirt with a high slit, brass bangles, wrapped barefoot sandals.
KADE, city guard about 30, brown skin, close-cropped black hair, trimmed
stubble, a scar over his right brow, dented bronze scale armor over an
indigo tunic, crimson sash at the waist.
[... repeated verbatim at the top of all eight prompts ...]锁定固定了面部、头发、服装、珠宝,甚至她的魔法表现形式——并且它被逐字粘贴到《余烬》的全部八个提示词中,一字不改。其下的镜头提示词只改变应该改变的内容:地点、动作、镜头、光线、声音。一旦你改写锁定,漂移就开始了;在镜头 6 中,"黑色辫状王冠"变成"松散的海滩波浪",那就是一个不同的角色。
真正对口型的对话
台词以确切措辞写入镜头提示词,H3 会执行它们——口型同步在生成过程中完成,而非后期处理。两条规则维系所有对话镜头:指明说话者,并将台词标记为固定。余烬在黎明燃烧火花时对守卫说的最后一句话:
[SHOT e8 — sacrifice finale, sunrise]
ACTION AND DIALOGUE: 0-2.5s she presses the guttering EMBER into his chest;
its light floods his wound; her own sigils stream out like molten thread into
him. SERA, a whisper, smiling: "Live brighter." 2.5-4s: his eyes open, gasp;
hers go softly dark as her body loosens into drifting embers and ash-light.而《空洞轨道》中,当唱诗班重建引擎并开出条件后的决定时刻:
[SHOT h6 — cockpit conflict]
ACTION AND DIALOGUE: 0-1.5s IVAR slams the console. IVAR, raw: "We fly OUT."
1.5-3.5s LENA, steady, terrified, lip-synced: "Only a mind can hold the helm
it's offering. A machine can't carry it." 3.5-5s: hold on the two-shot, storm
light flaring between them, neither blinking.两句台词都刻意简短:一个特写,一个从句,引号内的确切词语,以及仅包含人声和剧情声音的音频行。"无配乐"的指示并非装饰——正是它使下一部分成为可能。
音乐不进入模型
H3 在生成过程中渲染对话、环境音和效果,这意味着在同一过程中加入配乐会与模型自身音频中的对话音轨冲突。我们完全将音乐排除在外,并将其视为混音问题。
器乐底垫由我们的音乐模型单独生成,并在ffmpeg中与对白混合,经过侧链压缩,当角色说话时底垫音量自动降低。每个镜头提示中的Audio:行仅列出剧情声音——人声、风声、船体嗡嗡声。音乐从不进入生成过程。
运行成本
| 阶段 | 运行方式 |
|---|---|
| 镜头渲染 | 16个镜头——每部影片8个,每个5秒,每个镜头一个结构化提示 |
| 硬件 | 我们自己的GPU堆栈:一个本地GPU工作节点,镜头顺序渲染 |
| 每个镜头耗时 | 每个5秒镜头约4–10分钟 |
| 角色一致性 | IDENTITY LOCK块在每个提示中逐字重复 |
| 对白 | 以精确措辞写入提示,由H3生成并唇形同步 |
| 音乐 | 来自我们音乐模型的器乐底垫,在ffmpeg中与对白混合 |
同样的堆栈在工作室中开放:在/studio直接生成镜头,使用/tools/music-generator的生成器为它们配乐,并让所有资产在本网站上可搜索。写一个IDENTITY LOCK,逐字粘贴到每个提示中,将确切的台词放在引号中,并让音乐远离模型——这就是两部影片背后的全部方法。
Try these prompts on your own shot.
Every example on this page was generated with ManifoldGen. Open the Studio and run the same structure on your idea.