yeha.ai
Back to templates

Script-to-video (upload a script)

Prepare a studio draft. Multi-stage instructions are references; this does not run or charge for generation.

上传脚本以生成视频。使用 Nano Banana + Seedance 2.5(分辨率 480p)。在关键阶段暂停以供用户确认;基于一镜到底工作流的人机协作。

Workflow text is preserved in its original Chinese. Referenced models may differ from those available here. Check the studio for supported models and actual credit quotes.

Complete workflow

1. Planning

完整视频的阶段逻辑和依赖关系:

  1. 一句话总结剧本上传的剧本文件(图片/PDF/文本)。 → resource_prepare_and_analyze
  2. 编写 Final_Video_Spec.md(标题、类型、画幅、时长、视觉风格、语言、模型偏好) → text_editor
  3. 生成与第1步相符的故事板(关键元素、镜头列表、音频层) → storyboard_designer
  4. Prompt Draft 编制与确认(生成图/视频素材前的强制前置步骤)
    • 将每条提示词以 Prompt Draft 形式通过 reply_to_user 展示给用户,每份 Prompt Draft 须包含:资产类型(元素图/镜头视频)、对应的 element_id 或 shot_id、完整 prompt 文本、推荐模型与分辨率参数。
    • 分批次确认:先编制并展示元素图像的 Prompt Draft,用户确认后再进入步骤 5;元素图像生成完毕后,再编制并展示镜头视频的 Prompt Draft,用户确认后再进入步骤 6。
    • 【强制暂停点】 必须等待用户审阅并明确确认 Prompt Draft 后,方可执行对应的生成操作。严禁跳过此步骤、默认直接调用 media_generator 生成图/视频。
    • 用户提出修改时,须先更新 Prompt Draft 并再次确认,确认通过后方可执行生成。
  5. 设置元素:
    • 如果用户已经上传了元素资源(例如角色图像或引用的参考角色),直接将其绑定为相应 key_elements 的资产。
    • 否则,在用户确认步骤 4 的元素图像 Prompt Draft 后,为所有元素生成图像 → media_generator
  6. 每个镜头生成最终视频;严格参考该镜头的元素图像(第5步);须在用户确认步骤 4 的镜头视频 Prompt Draft 后执行 → media_generator
  7. 基于故事板生成所有 audio_layers → media_generator
  8. 当所有资源就绪后进行最终剪辑;然后引导用户导出 → video_assembler

依赖关系: 2→1;3→1,2;4→3;5→4;6→4,5;7→3;8→5,6,7。

注意 — 用户提供或预先存在的媒体(主要影响步骤3–7): 在填补生成内容之前,通过 media_generator 将其绑定并分配到适当的分镜位置;避免重复生成用户已提供的内容。用户已上传且可直接绑定的资产,无需编写 Prompt Draft 或重新生成。

何时暂停: 不要一次性完成所有步骤。在上述每个关键阶段(例如:规范确认后、故事板生成后、Prompt Draft 确认后、元素图像生成后、镜头视频生成后、音频生成后)停下来,与用户确认,然后再继续。在继续之前,使用卡片或 reply_to_user 邀请用户进行审阅。

2. Multimodal analysis

一句话总结剧本的故事

3. Storyboard design

脚本忠实度(最高优先级)

  • 分镜中的对话、旁白、动作结果和场景顺序必须与上传的脚本及第1步的分解一致。仅允许技术性编辑:拆分镜头(≤30s)或添加镜头语言字段。不要虚构情节或改写台词。

如何设计关键元素

  • 始终包含关键主体(角色、物体等)、关键地点/场景关键道具(如有)。
  • 如何规划 element_id: 当每个角色、道具或场景是独立实体时,为每个实体分配一个 element_id(例如 [Element_Detective_Li][Element_Boss_Zhao][Element_Observation_Room][Element_Chief_Office])。
  • 如何编写描述:
    • 角色: 如果角色在项目中具有多种状态或外观(例如不同的服装、年龄),请在描述中清晰地描述每一种(例如:外观1:…;外观2:…)。包括角色的声音/音色,以便后续音频生成匹配。
    • 关键地点/场景: 描述场景中重要物体的位置和朝向,特别是道具或发生主要动作/表演的区域。
    • 用户提供的资产: 如果用户提供了参考媒体并将其指定为关键元素,则描述必须与该资产匹配;不要与所见或所听到的内容相矛盾。

如何设计镜头

  • 每个镜头描述必须包含:场景(元素)故事和表演(具体台词)镜头语言(景别、角度、运动)。
  • 视觉设计和故事事实必须与脚本相符。如果脚本省略了镜头覆盖范围,您可以从类型和基调中专业地推断构图和运动,但绝不能改变情节事实或对话。
  • 倾向于使用内部剪辑的长镜头(例如每个镜头10–30秒)。在镜头内部设计剪切,而不是拆分为许多短镜头;剪切频率应遵循故事节奏。每个镜头不得超过30秒(当前模型最大时长限制)。
  • 当镜头有内部剪切时: 在场景/设定之后,按剪切顺序排列故事内容和镜头语言。使用明确的时间和剪切标记,例如 "Shot1 (0–4s): [场景], [角色]做X,特写。Shot2 切至 (4–8s): … Shot3 切至 (8–12s): …"
  • 每个镜头描述必须包含:
    • 场景: 引用地点/布景(使用场景元素ID,例如 [Element_Office_Noir])。
    • 故事内容: 角色和关键物体的动作与动态;对话和表演。写出确切台词(口语对话或内心独白/画外音)。使用元素ID引用角色。
    • 镜头语言: 景别、角度、运动。

如何设计独立音频

  • 背景音乐: 至少一个全局背景音轨;风格和节奏与参考资料或“最终视频规范”相匹配;如果参考资料有明确的节奏/情绪变化,请拆分BGM片段并定义范围。(每个都有自己的 audio_id 和范围)。
  • 旁白: 如果参考资料有旁白或对话,请在 audio_layers(类型 narration)中设计旁白或对话,包含内容、声音/语调和时间范围;如果存在 voice_reference 资产,请在 layout_instruction 或备注中链接它,以便后续对齐。
4. Media generation

元素生成

  • 图像: 如果用户已为元素指定了资产(例如产品图、角色图),请直接使用;不要生成。否则,对于角色、场景、道具,使用 TextToImage(或项目约定)。对于同一角色的多种状态,使用 ImageToImage 参考第一张以保持一致性。每个项目的推荐分辨率和模型(例如2K);建议对角色使用多视图以保持跨镜头一致性,并为每个视图分配单独的 asset_id 并分别生成。
    • 推荐模型:Nano Banana 2(Gemini 3.1 Flash Image),分辨率 2K
    • 角色: 每个角色一张横向的16:9角色图,画面中从左到右包含:**半身特写+全身三视图(正、侧、背)**有助于 Seedance 读取身份和服装信息。

最终镜头视频生成

  • 使用 MultiModalToVideo。推荐模型:Seedance 2.5,分辨率 480p。参考该镜头的元素图像。如果项目中存在生成的/用户上传的角色音色参考(Voice_reference),则同时参考元素图像+元素音色参考生成视频。

旁白与BGM

  • 旁白: 内容、声音、语调和时间严格按照分镜执行;如果存在“voice_reference”资产,生成时请进行对齐。
  • BGM: 风格和节奏与最终视频规范/参考资料相匹配;时长和范围按照分镜执行。
5. Prompt writing

优先级最高、适用于所有prompt编写情况:当用户使用中文输入或是加载中文语言环境时,提示词prompt需要用中文书写。但是prompt中有关旁白/对话的内容要严格遵循Final_Video_Spec中的Output Language。

图像生成提示词 (TextToImage, ImageToImage)
所有图像提示词的通用原则

  • 提示词不仅是描述“画面里有什么”,更像是一位真正的电影导演和调色师在指导团队。
  • 使用通顺的自然语言描述场景内容(主体 + 行为 + 环境等),并使用简短的词组描述视觉美学(风格、颜色、光影、构图)。拒绝文学化的修饰:不要向 AI 解释角色的动机或内心状态(例如“仿佛他不关心这张照片”)。不要描述屏幕外或不可见的元素。只描述物理上可见的内容。
  • 对于所有图像提示词(任何角色):您必须在所有目标风格中全局应用“电影级提示词的 6 大核心规则”,以确保电影质感。将提示词写成流畅、自然的英语描述,将这 6 条规则编织在一起。不要将它们输出为带有标签的章节:
    • 专业风格术语:结合使用专业艺术或电影术语与风格术语以提高准确性。(例如,引入“作者”和特定的电影视觉锚点,使用 Neo-Noir style, David Fincher Style, inspired by Se7en 作为风格锚点,而不是泛泛地说明 Neo-Noir 风格)。
    • 构图与镜头:明确指出电影化构图(例如 Over-the-shoulder shot(肩后镜头)、Dutch angle(荷兰角))和景别(例如 Close-up(特写)、Medium shot(中景))。
    • 光影:详细说明主光,并强调“负补光”以增加对比度和戏剧感(例如 Strong chiaroscuro contrast(强烈的明暗对比)、dramatic interplay of light and shadow(光影的戏剧性交织)或 deep facial shadows emphasizing facial structure(强调面部结构的深面部阴影))。
    • 调色:使用高端好莱坞调色手法设定克制的色调(例如 deep teal-cyan shadows dominating 90%, zero warm fill(90% 的深青色阴影,零暖光填充)或 muted watercolor wash(柔和的水彩洗色))。除非用户明确要求,否则永远不要使用红蓝霓虹冲突(例如禁止 crimson bleed(深红晕染)、霓虹洋红 vs 青色)。将图像限制在 90% 左右的区域内仅使用一种主色调(例如深青色)——极度克制。
    • 视觉渲染:描述内容的整体视觉质量和纹理(例如 fine rendering quality(精细渲染质量)、rich and intricate details(丰富错综的细节)、soft-focus effect with subtle Gaussian blur(带轻微高斯模糊的柔焦效果))。
    • 氛围与潜台词:描述角色的“潜台词”和微表情,将动作定格在戏剧性的时刻(例如 oppressive suffocation(压抑的窒息感)、no mercy(冷酷无情)、predatory stillness(捕食者的静止))。拒绝生硬、摆拍的样子。对于无生命物体,描述其状态(例如 Destined aura(宿命光环)、piercing gaze(锐利的目光)、cold and detached atmosphere(冷漠疏离的氛围))。
    • 条件元素(仅在相关时包含):
      • 准确的画面内文字:当相关时,如果场景中出现文字(例如屏幕文字),请自然地整合它。您必须用引号包裹需要渲染的确切文本内容以示强调。例如:'A neon sign in the background reads "DANGER".'。

当目标角色是 key_element(关键元素)时
提供清晰、详细的元素视觉定义,以便在镜头间保持一致。提示词结构应围绕:

  • 主体与身份:清楚说明元素是什么 — 角色、道具、场景或生物。对于角色,包括定义的身份特征(年龄、体型、种族(如果指定)、显著特征、声音)。
  • 特征细节:具体描述该元素的关键视觉特征。优先考虑在镜头间必须保持一致的特征:
    • 角色:面部特征(眼睛形状、下颌线、发型/颜色)、妆容与造型(如果相关)、服装与配饰(材质、剪裁、颜色、状况)。
    • 道具/物体:形状、材质、颜色、尺寸、状况(新/风化/损坏)、独特的标记。
    • 氛围/情感基调:描述定义场景的情感潜台词(例如张力、忧郁、希望、宁静、不安、温暖、压迫、恐惧、怀旧、孤立、亲密)。
    • 为了保持画面整洁,不要在画面中生成文字。

当目标角色是关键帧(起始帧、结束帧或高亮帧)时
首先,在镜头的 Description 中定位相应时刻:确定确切的节拍 — 开始状态、结束状态或视觉/戏剧性最强的瞬间 — 并以此为基础。如果镜头描述没有清楚地描绘那一刻,请在脑海中模拟该镜头(主体运动 + 摄像机移动 + 环境变化),想象场景在那个瞬间的样子,然后自己填充细节。无论哪种方式,只描述那个瞬间的静态图像 — 可见的内容、构图方式以及所有事物的状态:

  • 起始帧: 展示动作开始前的场景 — 主体在运动前的姿态和意图(重心偏移、注视方向、肢体预加载)、环境的基础状态,以及摄像机的初始构图和角度。
  • 结束帧: 展示动作完成后的直接结果 — 主体的终结姿势或最终表情、环境变化后的状态,以及摄像机准备下一次剪辑的最终位置。
  • 高亮帧: 确定镜头中视觉或情感冲击力最强的那一刻(例如,撞击的顶峰、揭示真相落入角色脸上的那一刻、结晶镜头主题的构图)。定格并以最大程度的细节描述那一帧 — 姿势、表情、光照状态、摄像机构图 — 这样它就可以作为该镜头中最具感染力的静止画面独立存在。

视频生成提示词

  • 当 storyboard / shot description / user script 中存在角色之间的对话时,视频生成 prompt 必须显式包含这些对话文本,并使用 Seedance 规定的口头对话格式 {…} 写入。
  • 如果用户上传了配音/音色参考等需要保持前后分镜角色音色一致性时,需要将‘音色参考’作为Seedance 2.5(分辨率 480p)的参考项之一输入,并明确视频中哪个角色使用哪个参考音频。

按照以下 Seedance 顺序(摄像机 → 主体 → 空间 → 音频)追加运动/动态提示词:

  • 在编写提示词时遵循此顺序:
    1. 摄像机 — 运动或镜头/剪辑变化(例如 static → push-in(从静止到推入)、cut to new angle(切到新角度)、orbit(环绕)、pan(摇镜头))。
    2. 主体 — 动作和表情(谁做了什么,面部动作节拍)。
    3. 空间 — 位置或环境变化(相对于空间的主体或摄像机位置;背景运动;深度/布局转换)。
    4. 音频 — 对话(如有)、音效,以及如果模型中没有音乐时的备注(见下文)。
      动作细节
    • 相关时,基于 特定的身体部位:手、腿、头、肩膀等。
    • 添加 程度:幅度、速度、强度(例如 slowly raises one hand(缓慢举起一只手),snaps head left(头迅速向左转),pushes hard off the ground(用力蹬地))。
    • 对于一个提示词中的多个节拍,列出 主要动作,然后是次要动作(按故事的时间顺序)。
      多节拍与“镜头 1 / 镜头 2”(官方指南)
    • 当工具接受长提示词时,您可以在单次生成中标记 镜头 1, 镜头 2, 镜头 3 用于 摄像机或故事节拍 的序列。
    • 精确的时钟计时(例如“0–3 秒”、“3–6 秒”)无法可靠执行 — 不要强制按确切秒数范围分割提示词,也不要编写明确的逐秒计划(例如“在 2 秒时...”,“从 5-8 秒...”)。描述 按顺序发生的事情,而不是按时间安排的镜头列表。
      可选润色(当简报是电影级真人拍摄时): 您可以根据其他策略规则添加轻微的手持微抖动或微妙的胶片颗粒感 — 保持其从属于上述四层顺序。
      特殊角色约定(针对 Seedance 2.5(分辨率 480p))
      Seedance 接受自然语言提示词;这些包装符有助于模型区分 音乐音效对话屏幕标题文字
    • 音乐(描述正在播放的内容):(...),例如 (fast-paced rock playing in the background)(背景中播放着快节奏摇滚乐)。
    • 音效:<...>,例如 <distant dog barking>(远处的狗叫声)。
    • 口头对话:{...},例如 {Hello, world} — 如果台词 是项目原始语言(例如英语短片中的日语独白),请在花括号前 标注语言,例如 Says in Japanese: {こんにちは}。不要保留故事版规划中的引号,{...}内只包含对话文字。
    • 屏幕标题/章节/字幕文字:【...】,例如 【Chapter One: Departure】(第一章:启程)。

注意: 您必须始终在提示词中包含以下负面约束,以确保后期制作的输出干净:

  • 如果分镜脚本表明该镜头有单独的旁白(指画外音,和角色对话无关)音轨,请不要在视频提示词中写入旁白(画外音)的文本内容,以避免和视频中的对话冲突。
  • 为防止模型添加不需要的背景音乐,您几乎应该始终包含 'no music'。
  • 字幕是在后期剪辑时添加的,因此您必须始终包含 'no subtitles'。
6. Video assembly

按分镜和时间轴顺序组装所有镜头、旁白音轨和BGM;当剪辑就绪后,引导用户导出。