yeha.ai
Back to templates

City memories narrative

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

聚焦小城/旧街区具体人物与空间,以低戏剧性日常事件链推进叙事。使用 GPT Image 2 生成首帧,Happy Horse 生成平叙镜头(约80%),Seedance 2.5(分辨率 480p) 生成高强度动态镜头(约20%)。

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. 故事命题获取(二选一):
    • 用户已上传剧本/文字素材: 使用 resource_prepare_and_analyze 解析,提取人物关系、核心冲突、场景列表、关键事件节点、关键物件。输出一句简洁的故事命题摘要,请用户确认后再进入步骤 2。确认前不得进入步骤 2。
    • 用户未上传素材: 通过 reply_to_user 以卡片引导方式收集:故事发生的地点与时段、主角面临的核心困境或决定、另一个关键人物及其与主角的关系。信息不足时默认:时长 1–3 分钟、类型"短剧情片"。收集后输出一句简洁的故事命题供用户确认。
  2. 和用户确认并建立 Final_Video_Spec.md(片名、类型基调、场景设定、画幅比例、目标时长、视觉风格、输出语言)→ text_editor
  3. 生成故事板(关键元素、镜头列表、音频层)→ storyboard_designer。故事板就绪后,扫描上下文中用户提供或已生成的资产,通过 media_generator 绑定至对应故事板槽位,再进行生成步骤。
  4. 设置元素:
    • 用户已上传元素资产(人物参考图、场景参考图):注册 asset_id 并绑定至对应 key_element。
    • 否则:为所有关键人物和场景元素生成图像 → media_generator
  5. 为每个镜头生成首帧图(start_frame)→ media_generator
  6. 按镜头类型分路生成视频:
    • 叙事镜头 [叙事](约 80%): FirstFrameToVideo + Happy Horse → media_generator
    • 高强度镜头 [高强度](约 20%,不超过总镜头量 20%): MultiModalToVideo + Seedance 2.5(分辨率 480p),引用对应元素图作为 reference → media_generator
  7. 生成 BGM / 旁白 音效层 → media_generator
    • ** 和用户确认旁白生成方式:1. 使用旁白生成模型 Minimax Speech 2.8 HD(生成速度快、积分消耗少);2. 使用Seedance 2.5(分辨率 480p)生成旁白音频(效果自然、积分消耗多,谨慎选择!)
      • 方式一:使用旁白生成模型 Minimax Speech 2.8 HD:text_to_narration,模型 Minimax Speech 2.8 HD
      • 方式二:如果旁白超过30s,将旁白拆成多个段落分别生成。
      • 先使用Seedance 2.5(分辨率 480p)生成第一段旁白视频,要求时长锁定14s、画面中不能包含其他音效和音乐、只让角色说出这段话即可。第一次只能生成一段视频,即使用户要求也不要一次生成多个视频;
      • 使用多模态分析,将生成好的第一段旁白视频中的音频拆分出来,并作为后续旁白视频生成的参考项之一。用Seedance 2.5(分辨率 480p)一次性完成后面剩余的所有旁白视频,参考对应角色element图+刚才拆出来的第一段旁白视频的音频文件(必须小于30s,如果音频超过30s,先裁剪成14s内再参考)生成剩余的旁白内容。生成好后,再次调用多模态模型将这些视频的音频文件拆分出来。
  8. 完成全片时间线组装,如果步骤7选择的是方式二,则音频层需要将所有拆出来的音频文件作为旁白剪辑到对应位置 → video_assembler
    依赖顺序: 2→1;3→2;4→3;5→3,4;6→3,5;7→3;8→6,7
    暂停节点: 不得一次性跑完全部流程。在命题确认、故事板完成、元素图/首帧图完成、视频批次完成、音频生成后各暂停,等待用户确认再继续。
    暂停节点: 不得一次性跑完全部流程。 在命题确认、故事板完成、元素图/首帧图完成、视频批次完成、音频生成后各暂停,等待用户确认再继续。
    用户提供媒体时: 优先将其绑定至故事板对应槽位;不重复生成用户已提供的内容。

建立 Final_Video_Spec.md 的指南

  • 片名调性:贴合故事类型与情绪,不做过度文艺化或商业化倾向。
  • 画幅比例:推荐 16:9;强调压迫感或亲密感时可选 4:3 或 2.35:1。
  • 视觉风格:与故事类型匹配,可以是写实、轻风格化或类型片视觉;不强制低饱和。
2. Multimodal analysis

在用户上传了剧本文件或文字素材时调用此工具。

  • 解析上传的文件(图片/PDF/文本),提取:人物关系(主角 + 亲密但疏离的人 + 带来变化的人)、空间列表、生活流事件链(5–8 个日常事件)、关键物件、关键动作与台词节点。
  • 输出一句简洁的故事命题摘要,以及结构化关键信息,供 Final_Video_Spec 和 storyboard_designer 使用。不做年代判断或价值定性。
  • 文件无法解析或内容不完整时,向用户说明并请求补充。
3. Storyboard design

核心气质

  • 强调人和人、人和环境的关系。场景并不是单纯的背景板,而是角色之一:场景也是叙事表达的一部分。
  • 戏剧冲突要低声:少用爆发式争吵,多用沉默、等待、绕路、没说出口的话、突然中断的日常。
  • 情节像偶然发生的,要落在具体生活动作里。
  • 结尾不宣判:给观众一个变化后的空间或动作,不给完整答案。

剧本故事性构建
城市人文叙事片不依赖戏剧对抗,而是靠观察积累情感——通过人物在城市空间中的真实行为、细节物件的复现、以及场与场之间的因果痕迹,让观众自己感受到变化。

  • 开场埋一条悬而未决的线: 不解释,不总结——一个动作、一个物件、一个眼神,让观众带着问题往下看。
  • 人物之间有历史: 即便是陌生人的相遇,也要有一个隐含的"为什么是这两个人"的理由——地点、时间、一件旧物。
  • 关键物件至少出现两次: 第一次建立存在感,第二次状态已经变了——位置变了、损坏了、被人拿走了。
  • 场与场之间留痕迹: 前一场发生的事,后一场的空间或人物身上有迹可循,不做无因果的跳切。
  • 至少安排一次"预期落空": 人物去做一件事,结果和预想的不一样——不是戏剧翻转,而是生活本来就这样。
  • 结尾动作有双重含义: 最后的动作或画面,可以是离开,可以是停留,可以是什么都没做——但要让这个选择有重量。

人物设计原则

  • 人物动机要小,人物尊严要大:小目标背后是面子、旧情、身份、亲情或"我还算不算一个有用的人"等。
  • 台词要像绕路:人物很少直接说真实需求,常说"没事""路过""你忙你的""改天吧"。
  • 情绪靠动作表达:抽烟、整理衣领、摸旧手机、反复开关打火机、抹桌子、等水烧开、看别人付款。

场景选择

  • 空间选择服务于当前剧情关系与人物状态,不做硬性规定。
  • 任何空间都必须携带社会信息:标语、价目表、收款码、旧海报、施工噪音、电视新闻、广场舞音乐、方言广播——这些细节是叙事的一部分,不是装饰。

关键元素设计

  • 优先设计人物元素(年龄、外貌、着装、正在做的事)和场景元素(地理环境、时段、光线条件、社会信息载体)。
  • 道具元素只在对多个镜头一致性有实质影响时才单独建立(如反复出现的旧手机、车票、收款码牌)。
  • 用户提供参考素材时,元素描述必须与参考内容一致,不得矛盾。

分镜镜头设计原则
镜头时长与节奏分层
每段叙事由三种时长镜头混合搭建,节奏变化本身即是叙事信号——慢下来代表时间在这里凝结,快起来代表人物或空间正在运动:
镜头类型时长功能与使用时机短镜头2–3s关键物件插入、情绪反应切、城市细节捕捉;制造节奏跳动或强调感中镜头6–10s人物行为展开、日常互动、空间内的移动与停留;叙事主干,占全片约 60%长镜头11–30s开场空间建立、情绪沉淀时刻、结尾余韵收束;每段叙事最多 1–2 个

每段叙事的节奏结构:

  • 开场建立段: 1 个中镜头或长镜头落地城市空间与人物处境——可以从一个行为开始,不必解释背景。
  • 观察展开段: 中镜头为主,展示人物在空间中的具体行为;每隔 2–3 个中镜头插入 1 个短镜头(物件特写或环境细节),打破视线节奏,积累信息密度。
  • 情感转折段: 用 1 个长镜头或慢节奏中镜头拉住时间,让人物的某个细微反应或选择有足够空间被看见。
  • 动态节奏段 [动态]: 人物穿越城市空间、赶路、寻找时,用连续中短镜头推进节奏;标记为 [动态],由 Seedance 2.5(分辨率 480p) 生成。
  • 结尾收束段: 最后 2–4 个镜头用中镜头或长镜头——给结果或情绪足够时间停留,不以短切收尾。

全片节奏控制:

  • 镜头总数建议 10–16 个(1–3 分钟片长)。
  • 避免全片时长均匀——节奏的疏密本身在说话。开场可以慢,中段跟随人物节奏起伏,结尾留白。

景别:

  • 开场建立城市空间与人物处境:中远景或全景,让空间先说话。
  • 人物互动或独处时:双人中景或单人中景,眼神与肢体可读。
  • 情绪积累或转折时:近景或特写,捕捉细微表情与手部动作。
  • 关键物件:插入镜头(cut-in),短促、明确(2–3s)。

机位与运动:

  • 常规观察性叙事:固定机位为主,或轻微手持跟随人物,优先让人物行为和空间自然呈现。
  • [动态] 场景(人物穿越街道、赶路、寻找):跟拍或运动镜头,注明方向感和运动幅度。
  • 禁止:炫技运镜、旋转镜头、纯装饰性航拍、无叙事功能的慢动作、多切镜等

构图:

  • 人物可偏在画面边缘,留出大量墙面、街道、门框、窗户或空椅子。
  • 用门框、玻璃、栏杆、车窗、柜台把人物分隔开。
  • 新旧物件并置时不刻意强调对比,让它们自然共存在同一画面里。
  • 允许画面"脏":杂物、灰尘、旧瓷砖、塑料凳、电线、广告纸不要被清理掉。

色调与光线:

  • 日景:灰白天空、低饱和水泥色、旧红色标语、褪色蓝绿店招、尘土黄。
  • 夜景:钠灯橙、KTV 霓虹粉紫、手机屏冷光、路边摊荧光灯。
  • 室内:日光灯偏绿、电视冷光、窗外灰光;不要高级影棚质感。
  • 调色:低饱和、轻微颗粒、真实动态范围,保留暗部杂色。

每个镜头描述必须包含: Scene(引用场景元素 ID + 时段光线)、主体动作(肢体/神态为主)、摄影语言(景别 + 运镜 + 焦点策略)、声音感(环境声/画内声)。
镜头标签: 在镜头描述末尾注明生成路线标签——平叙镜头标 [平叙],强动态/切镜镜头标 [动态];[动态] 镜头不超过总镜头量的 20%。
shot内的对话台词规则 shot 内的对话台词规则

  • 每场最多 3–6 句台词;每句尽量短,允许方言词但不要堆砌。
  • 重要信息不要说全,让观众从动作和空间补齐。不写旁白解释主题。
  • 可用句式:"你回来也不说一声。" / "路过。" / "现在都扫这个。" / "我没有那个。" / "那算了。" / "你先忙。"

音频层设计

  • BGM(可选):若使用,选择极简器乐或无调性环境音景;禁止流行音乐节奏。
  • 不以对白驱动叙事。

质检清单(输出前自检)

  • 是否至少 60% 镜头是中远景、固定机位或缓慢运动?
  • 是否有 2 个以上公共空间?
  • 是否有画内声音而不是外加煽情配乐?
  • 是否删除了"他终于明白了""这是命运的安排"等直白总结句?
  • 是否避免直接复用任何现成电影的角色、台词、场面和剧情?

禁止事项

  • 不要把故事写成苦难堆砌或价值宣判;人物要有幽默、虚荣、笨拙、体面和生活惯性。
  • 不要用旁白解释主题或时代意义。
  • 不要让每场戏都承担剧情功能;允许无用的等待和偶然的路人,但它们必须增加空间真实感。
  • 不要过度诗化世界。美感来自观察,不来自金句和滤镜。
4. Media generation

元素图生成

  • 工具:TextToImage / ImageToImage,模型:Image 2,分辨率:2K
  • 若用户已上传参考图(人物 / 场景),将其注册为 asset_id 并绑定至对应 Storyboard 元素槽位,优先用于替代生成。

首帧图生成(每个镜头的 start_frame)

  • 工具:TextToImage / ImageToImage,模型:Image 2,分辨率:2K
  • 首帧图须与 Storyboard 镜头描述的景别、光线、主体姿态严格一致,作为视频生成的视觉锚点。

镜头视频生成(按路线分流)

  • 平叙镜头 [平叙](约 80%): 工具 FirstFrameToVideo,模型 Happy Horse,分辨率 720p,以对应镜头 start_frame 作为首帧输入。
  • 动态镜头 [动态](不超过总镜头量 20%): 工具 MultiModalToVideo,模型 Seedance 2.5,分辨率 480p;引用该镜头涉及的角色/场景 element 图像作为 reference_image,同时以 start_frame 作为首帧参考;仅限强烈冲突、快速切镜或高速人物动态场景使用。

音频层生成

  • 旁白(如有):根据用户选择执行以下模型
    • 方式一:使用旁白生成模型 Minimax Speech 2.8 HD:text_to_narration,模型 Minimax Speech 2.8 HD
    • 方式二:如果旁白超过30s,将旁白拆成多个段落分别生成。
      • 先使用Seedance 2.5(分辨率 480p)生成第一段旁白视频,要求时长锁定14s、画面中不能包含其他音效和音乐、只让角色说出这段话即可。第一次只能生成一段视频,即使用户要求也不要一次生成多个视频;
      • 使用多模态分析,将生成好的第一段旁白视频中的音频拆分出来,并作为后续旁白视频生成的参考项之一。用Seedance 2.5(分辨率 480p)一次性完成后面剩余的所有旁白视频,参考对应角色element图+刚才拆出来的第一段旁白视频的音频文件(必须小于30s,如果音频超过30s,先裁剪成14s内再参考)生成剩余的旁白内容。生成好后,再次调用多模态模型将这些视频的音频文件拆分出来。
  • BGM:text_to_instrumental,模型 Suno 5Mureka 8;风格描述为极简器乐 / 环境音景;不生成歌词类音乐。

失败处理

  • 任一模型生成失败时,优先在同模型内重试;不自动切换至其他视频生成工具,停止并告知用户,由用户决定是否更换路线。
5. Prompt writing

首帧图 / 元素图 Prompt(TextToImage / ImageToImage)
核心逻辑:捕捉"决定性瞬间",强调胶片色彩质感、真实光影与空气感;摒弃运镜和节奏词汇。
核心逻辑:捕捉"决定性瞬间",强调胶片色彩质感、真实光影与空气感; 摒弃运镜和节奏词汇。

Prompt 公式:
[画面主体与微小动作] + [空间环境与社会信息载体] + [空气感] + [光线状态] + [摄影语言与景别] + [色彩体系与胶片质感] + [风格参考]

核心词汇库:

  • 主体与微动作:人物背影 / 抽烟的双手 / 凝视窗外 / 停顿的发呆瞬间 / 整理衣领 / 摸旧手机
  • 空间社会信息:褪色标语、收款码贴纸、旧海报、价目表、施工围挡、旧挂历
  • 环境与空气感:弥漫的灰尘 (dusty air)、清晨的水汽 (morning mist)、潮湿感 (dampness)、热浪 (heat haze)
  • 光线状态:自然光 (natural light)、窗边柔和侧光 (soft window light)、日光灯偏绿 (fluorescent greenish)、钠灯橙光 (sodium orange)、阴天漫反射 (overcast diffused light)
  • 摄影语言:Medium shot / Full shot / Close-up(克制使用)/ 极简构图 / 留白 (negative space) / 门框遮挡 / 玻璃反射
  • 色彩体系:Kodak Vision3, Fuji Eterna, ARRI Alexa Natural, low saturation, soft highlights, detailed shadows, real skin tone, slight grain
  • 风格参考:贾樟柯 (Jia Zhangke), 是枝裕和 (Hirokazu Kore-eda), Magnum Photos, Leica Documentary

示例 Prompt(首帧图):
真实中国小城生活流电影画面,2001 年冬天傍晚,长途汽车站旁的小卖部;一个穿旧黑夹克的青年站在门口,手里攥着皱掉的车票,迟迟没有进去;构图:固定中远景,人物在画面右侧边缘,前景是贴满褪色广告的玻璃门,中景是小卖部柜台,背景有候车室冷白灯和来回走动的乘客;光线色调:灰蓝天光混合日光灯偏绿,低饱和,水泥地反光,轻微颗粒;Kodak Vision3 film stock, real skin tone, soft highlights;贾樟柯美学,观察性,安静,真实;避免:精致广告感、强烈逆光、过度美颜。
示例 Prompt(首帧图):\ 真实中国小城生活流电影画面,2001 年冬天傍晚,长途汽车站旁的小卖部; 一个穿旧黑夹克的青年站在门口,手里攥着皱掉的车票,迟迟没有进去; 构图:固定中远景,人物在画面右侧边缘,前景是贴满褪色广告的玻璃门,中景是小卖部柜台,背景有候车室冷白灯和来回走动的乘客; 光线色调:灰蓝天光混合日光灯偏绿,低饱和,水泥地反光,轻微颗粒; Kodak Vision3 film stock, real skin tone, soft highlights; 贾樟柯美学,观察性,安静,真实; 避免:精致广告感、强烈逆光、过度美颜。

视频 Prompt(FirstFrameToVideo / MultiModalToVideo)
视频提示(FirstFrameToVideo / MultiModalToVideo)

核心逻辑:聚焦"时间的流动"与"长镜头观察感";动作完成后仍多看一眼;环境声优先于配乐描述。

Prompt 公式:
[真实中国小城生活流电影画面,年代/季节/时间,地点];[人物外貌与服装] 正在 [具体动作];构图:[景别,人物位置,前/中/背景层次,遮挡关系];光线色调:[光线类型],低饱和,轻微颗粒,生活质感;镜头:[运动类型],[时长],动作自然发生,保留停顿;声音感:[环境声/画内音乐/广播/车声];避免:精致广告感、过度美颜、戏剧化表演、夸张泪水、强烈电影灯、炫技运镜

运镜词汇(严格克制):
Fixed camera(固定镜头)/ Slight handheld breathing(微弱手持呼吸感)/ Extremely slow push-in(极慢推进)/ Extremely slow pan(极慢横移);禁止:旋转、快速推拉、无人机、MV 式快切
运镜词汇(严格克制):\ Fixed camera(固定镜头)/ Slight handheld breathing(微弱手持呼吸感)/ Extremely slow push-in(极慢推进)/ Extremely slow pan(极慢横移); 禁止:旋转、快速推拉、无人机、MV 式快切

声音感描述参考:
远处客车倒车提示音、售票窗口广播、麻将声、电视新闻声、KTV 漏音、施工声、广场舞音响、手机短视频外放

示例 Prompt(平叙镜头):
真实中国小城生活流电影画面,2001 年冬天傍晚,长途汽车站旁的小卖部;一个穿旧黑夹克的青年站在门口,手里攥着皱掉的车票,迟迟没有进去;构图:固定中远景,人物在画面右侧边缘,前景是贴满褪色广告的玻璃门,中景是小卖部柜台,背景有候车室冷白灯和来回走动的乘客;光线色调:灰蓝天光混合日光灯偏绿,低饱和,水泥地反光,轻微颗粒;镜头:固定机位 12 秒,青年抬头看一眼站牌又低头,动作自然发生,保留停顿;声音感:远处客车倒车提示音、售票窗口广播、塑料袋摩擦声;避免:精致广告感、强烈逆光、夸张表情、快速剪辑、现代豪华街景。

6. Video assembly

节奏原则

  • 长镜头优先,保留完整的时间流动感;不为追求"有趣"而剪短镜头。
  • 镜头间可用 0.5–1s 的黑场或声音延续过渡,制造呼吸感。
  • 禁止快剪、音乐卡点、特效转场、TikTok 节奏。

音画关系

  • 完成全片时间线组装,如果步骤7选择的是方式一,则将生成的旁白按照对应位置对齐;方式二,则音频层需要将所有拆出来的音频文件作为旁白剪辑到对应位置;
  • BGM(如有)音量0.1x;淡入淡出,不抢画面。
  • 不做强制音画同步;画面与声音各自自然流动。