资讯动态

SenseNova-Skills 中的 sn-motion-html 提示词工程:风格前言、身份块、场景静帧与 Dive/Connector 运动提示的完整指南

发布时间:2026/10/13 6:29:10 来源:尧图企业网站定制
AI 技能人工智能深度研究数据分析媒体生成【免费下载链接】SenseNova-SkillsModular SenseNova skills for building AI-powered office assistants and productivity workflows项目地址https://gitcode.com/gh_mirrors/se/SenseNova-Skills点击查看免费下载本技术指南以 prompting.md 为核心骨架系统讲解 SenseNova-Skills 中sn-motion-html技能面向“连续运镜式 HTML 视觉叙事”的四类提示词模式可复用的风格前言Style Preamble、锁定角色/产品一致性的身份块Identity Block、单帧承载单一主导事件的场景静帧Scene Still以及保持画面连续性的Dive 运动与Connector 运动提示。结合仓库内 init_project.py 与 seedance_pipeline.py 的源码实现读者将掌握从预设/自定义艺术方向出发、到生成可被 Seedance 视频 API 正确消费的提示词文件的全套方法并理解风格与主体分离、身份锁定、边界锚定等关键工程约束背后的运行机制。一、prompting 在 sn-motion-html 生产流水线中的位置sn-motion-html的产出不是普通的自动播放视频页而是一个由页面滚动进度驱动的、贯穿全片的虚拟连续镜头virtual continuous take固定全视口媒体舞台 一条有序时间线场景 → 连接 → 场景 → … → 终场。要支撑这种体验图片层与视频层必须共享同一套视觉语言。prompting 文档正是这套“共享语言”的写作规范它回答三个问题如何写一个每张静帧都原样复用的风格块保证画面统一如何为反复出现的角色/产品建立不可变约束保证身份稳定如何把“静态画面”扩展为“随时间变化的运动”且不让运动破坏源画面。在完整流程中prompting 规范被引用两次生成角色参考、场景或运动提示时参考 references/prompting.md同时它服务于 workflow.md 中定义的两道创意批准门视觉风格批准、内容与镜头计划批准以及后续静帧集与视频批次的生成阶段。形象地说style-presets 决定“世界长什么样”story.json 决定“发生什么”而 prompting 决定“每张图、每个镜头具体怎么写”。二、起点协调预设与图像能力探测2.1 从预设出发或替换为用户自定义艺术方向写作提示词的起点有两种一是直接采用 style-presets.md 中的协调预设Anime / Cinematic / CGI二是用用户自定义的艺术方向替换预设。关键约束是风格是全局唯一的——同一项目的 HTML、静帧生成与视频运动必须共享同一套视觉处理不要把folio、caption、graphic这三种 UI 预设与风格名互相推断也不要在用户没有明确要求混合时混用视觉预设。三种预设各有一致性规则Anime--style anime暖纸白背景、墨蓝文字、珊瑚色点缀、圆润展示字体静帧为精致的戏剧化动画插画、克制的赛璐璐着色视频要求帧间保持线宽、面部比例、服装配色与赛璐璐边界稳定避免线抖动、面部漂移与多余手指。适合神话、青春故事、科普、风格化历史与角色主导的产品世界。Cinematic--style cinematic克制的暖中性色、衬线展示字体、深色紧凑控件静帧为可信的电影剧照虚构选角而非可识别演员视频要求物理合理的运动、稳定的服装道具、有动机的运镜语法、一致的曝光与调色。适合历史叙事、纪录片、品牌片、旅行与建筑。CGI--style cgi冷矿物背景、深板岩文字、青绿点缀、精准无衬线字体静帧为高水准 CG 渲染连贯 PBR 材质、受控拓扑视频要求几何、材质 ID、灯光方向与模拟特效稳定。适合科学、技术、工业系统与数据驱动环境。自定义方向时可以改变调色板、时代、文化指涉或题材但必须保留预设的一致性规则不要指名模仿在世艺术家而是描述可观察的视觉属性偏差记录在项目生产规范中保证图片、视频与 HTML 三层对齐。2.2 生成前必须解析环境中的图像能力在生成任何静帧之前先探测当前环境暴露的图像能力image capability——它可能是可直接调用的图像工具、一个暴露或指导图像工作流的技能或者两者兼有。生成静帧时必须优先使用环境中已有的能力若没有任何合适能力应在继续静帧生成阶段之前把该阻塞报告给用户不得悄悄用占位图替代见 SKILL.md 生产不变量。2.3 初始化器写入两个提示词文件init_project.py在初始化项目时会根据所选风格预设把图像提示块写入prompts/style-preamble.txt、把运动提示块写入prompts/style-motion.txtpython scripts/init_project.py /absolute/output/path --title Story title --style cinematic --ui folio源码对应关系init_project.pypreset_path SKILL_ROOT / assets / style-presets / f{args.style}.json preset json.loads(preset_path.read_text(encodingutf-8)) (output / prompts / style-preamble.txt).write_text(preset[image_prompt].strip() \n, encodingutf-8) (output / prompts / style-motion.txt).write_text(preset[video_prompt].strip() \n, encodingutf-8)以 Cinematic 为例实际写入的预设内容来自 assets/style-presets/cinematic.jsonCINEMATIC VISUAL SYSTEM: authored film still with believable production design, fictional casting, motivated practical lighting, cinematic dynamic range, natural lens behavior, controlled depth of field, subtle film grain, atmospheric perspective, and restrained color grading. Preserve recurring facial structure, wardrobe, props, architecture, and period details. Landscape composition with a safe central crop. No recognizable real actor, no glossy AI skin, no embedded text, no logo, no watermark, no modern object unless specified.而模板中的占位文件如 style-preamble.txt则在初始化后被替换为上述真实预设内容。这意味着不修改模板初始化即得到可用的风格提示后续要自定义艺术方向直接改写这两个文件即可它们会在视频生成时被自动引用见第六节。三、风格前言Style Preamble可复用、与主体分离3.1 字段模板创建一个可复用的提示块包含以下 8 个字段MEDIUM: [photography / illustration / clay diorama / collage / ...] PALETTE: [named colors and contrast] MATERIALS: [surface and texture] CAMERA: [lens, angle, distance, projection] LIGHT: [direction, softness, time or studio setup] COMPOSITION: landscape frame, safe central crop, readable depth layers CONTINUITY: use supplied identity references without redesign EXCLUDE: text, letters, numbers, logo, watermark, unintended modern objects字段要点对应 prompting.md 的语义并扩展字段作用取值范围/写法示例MEDIUM定义媒介质感photography、illustration、clay diorama、collage 等可组合限定PALETTE定义命名色与对比如warm paper-white, ink-blue, coral accentMATERIALS定义表面与纹理织物、金属、玻璃、纸感等与媒介配套CAMERA定义镜头语言焦段、角度、距离、投影方式如透视/正交LIGHT定义光的方向、柔和度与时段棚拍、晨昏、伦勃朗光、柔和漫射等COMPOSITION构图硬约束横向画幅、安全中央裁切、可读的深度分层模板原文CONTINUITY连续性约束使用提供的身份参考、不做重新设计模板原文EXCLUDE负面约束文字、字母、数字、Logo、水印、非预期现代物件3.2 核心原则风格与主体分离让风格块与主体指令分开这样每一张场景都能收到完全相同的风格块从而实现跨场景的视觉统一。做法是style-preamble.txt只承载风格媒介/调色/材质/镜头/光/构图/负面约束一次写好全片复用每个场景的主体指令章节事件、前景/中景/背景、可读故事情节单独写在场景提示中视频层的style-motion.txt独立承担运动渲染、镜头行为、时间一致性规则与禁止伪影的说明。源码印证了这种“分离 复用”的落地方式模板中的 style-motion.txt 占位内容明确要求“定义本项目的运动渲染、镜头行为、时间一致性规则与禁止伪影”并在 seedance_pipeline.py 中每条视频提示都会被自动前置拼接该文件内容prompt_path root / item[prompt] prompt prompt_path.read_text(encodingutf-8).strip() style_motion_path root / prompts / style-motion.txt if style_motion_path.exists(): style_motion style_motion_path.read_text(encodingutf-8).strip() if style_motion: prompt f{style_motion}\n\n{prompt}也就是说你只需要写“这一条 dive/connector 具体动什么”风格与时间一致性规则由流水线自动附加——这正是“Keep style separate from subject instructions”的工程实现。四、身份块Identity Block锁定每一个反复出现的形象4.1 必须锁定的六类属性对于每个反复出现的人物、生物、产品或载具都要锁定以下属性对应 prompting.md 的六点并扩展为可执行清单外表年龄/形态与身体比例apparent age/form and body proportions——例如“成年男性、窄肩、1:1.6 头身比”防止跨场景变形面部或剪影几何face or silhouette geometry——脸型、五官间距、标志性剪影轮廓主导色与材质dominant colors and materials——服装主色、皮肤/表面材质标志性服装、标记或物件signature garment, marking, or object——道具、徽记、随身物件允许的场景特定变化allowed scene-specific wear or state changes——明确列出哪些是可变的如换季衣物、情绪表情、装备增减绝不允许改变的特征features that must never change——例如发色、胎记、品牌 Logo、产品外壳弧度。4.2 先出参考表场景中只点名实际出现的引用在叙事场景生成之前先为每个关键身份生成一张中性参考表neutral reference sheet。它作为后续所有场景的一致性基线workflow.md 中称之为 consistency baseline。场景提示里有一个重要纪律只点名实际出现在该场景中的参考。把无关的参考塞进场景提示会稀释身份控制——例如一个只有主角的场景不需要把配角的产品参考表也放进提示。另外对于反复出现的角色/产品优先基于参考图进行编辑生成而不是每次从零生成workflow.md 第 5 节。五、场景静帧Scene Still一张图只讲一个主导事件5.1 场景提示模板[STYLE PREAMBLE] [RELEVANT IDENTITY BLOCKS] Create chapter [ID]: [visual event]. Foreground: [anchor detail]. Midground: [main action and identities]. Background: [place, weather, destination]. Story facts that must be readable: [2–4 items]. Keep the main subjects inside the central safe area for a 16:9 web crop. Static frozen moment; no motion blur; no embedded text.逐行拆解第一行[STYLE PREAMBLE]插入第三节的风格前言块全片完全相同第二行[RELEVANT IDENTITY BLOCKS]只插入本场景出现的身份块Create chapter [ID]: [visual event].章节 ID 必须与 content/story.json 中的章节id保持一致如01-opening后接该章节的单一主导视觉事件前景/中景/背景三层信息各司其职——前景放锚点细节中景放主行动与身份背景放地点、天气与目的地Story facts that must be readable: [2–4 items]强制列出必须能被观众“读出来”的 24 个情节事实防止画面与文案脱节16:9 安全区主主体保持在中央安全裁切区内因为最终网页裁切、窄屏纵向裁切都依赖这一点frontend.md 也强调 critical subjects 必须在 safe central crop 内收尾负约束静态冻结瞬间、无运动模糊、无内嵌文字。5.2 一张静帧 一个主导事件一张静帧应该只传达一个主导事件one still should communicate one dominant event。只有当前期艺术方向明确要求“微缩世界”或“多事件画面tableau”时才允许使用蒙太奇式合成。这与 workflow.md 中“每个章节只有一个主导视觉事件”的章节规划原则互为表里——静帧密度过高会让单条视频提示无法承载也会破坏“一段视频只讲一件事”的连续镜头叙事。六、Dive 运动Dive Motion克制地让画面动起来Dive 指“在某一场景静帧内部展开的镜头段落”。其写作原则是用克制的运动描述保留源图像而不是重写画面。6.1 Dive 提示模板Use image 1 as the sole visual reference. Preserve identities, layout, palette, and materials. Four-second continuous shot. [Small environmental motion]. [One subtle character action]. Camera [locked / slow push / shallow orbit]. No cut, no redesign, no new character, no text, no logo, no sudden lighting change. End on a stable readable frame.要点解析唯一视觉参考Use image 1 as the sole visual reference——dive 的输入是一张静帧所有身份、构图、调色、材质都必须以它为锚时长与节奏Four-second continuous shot4 秒连续镜头运动幅度被刻意限制为“小幅环境运动 一个微妙角色动作”镜头语法三选一locked固定/ slow push缓慢推近/ shallow orbit浅幅度环绕六重负约束no cut无剪辑、no redesign不重新设计、no new character不新增角色、no text、no logo、no sudden lighting change无突发灯光变化收尾稳定End on a stable readable frame——末帧必须稳定可读因为末帧将作为下一段 Connector 的起始边界。6.2 源码印证模板文件与流水线行为模板仓库中的两个 dive 提示文件 01-opening.txt 与 02-destination.txt 内容完全一致正是上述模板的落地示例Use image 1 as the sole visual reference. Preserve its subjects, composition, palette, and materials. Four-second continuous shot with restrained environmental movement and one subtle subject action. Slow controlled camera movement. No cut, redesign, new subject, text, logo, watermark, or sudden lighting change. End on a stable frame.在 seedance_pipeline.py 中dive 阶段把章节静帧作为唯一条件帧提交并在生成后从归一化视频中提取首尾两帧def run_dives(root, client, manifest, args): items manifest.get(dives, [])[: args.limit or None] frames root / assets / video / frames def run_one(item): generate_clip(root, client, manifest, dives, item, root / item[still], None, args) output root / item[output] extract_frames(output, frames / f{item[id]}-first.png, frames / f{item[id]}-last.png)注意 extract_frames 的取值方式首帧取第 0 帧末帧取-sseof -0.05离结尾 0.05 秒处。边界帧从归一化后的 dive 视频提取而不是从源静帧提取——这保证了相邻段落在像素层面真正接得上是“连续运镜”叙事的关键工程细节。七、Connector 运动Connector Motion两幅参考图之间的语义桥接Connector 是连接两个相邻 dive 的过渡镜头输入是两幅边界帧。prompting 规范在这里强调一个反直觉但极重要的点即使两个输入都用reference_image角色也要在提示中显式给它们分配语义顺序。7.1 Connector 提示模板Image 1 is the departure boundary; image 2 is the destination boundary. Create a continuous journey from [departure] to [destination]. Begin with the visual language of image 1, travel via [sea / sky / tunnel / map / material transformation], and settle into image 2. Preserve recurring identities and palette. No cut, no text, no extra subject, no violent morph, no camera roll. Stable first and last moments.要点解析边界角色Image 1 出发边界departure boundaryImage 2 目的地边界destination boundary旅程路径travel via 的取值为具体介质——sea海、sky天空、tunnel隧道、map地图、material transformation材质转化等路径的选择要与故事环境匹配模板文件 01-opening-to-destination.txt 中的写法是 “through an environment appropriate to this story”收尾锚定settle into image 2——落点必须稳定地“住进”第二幅边界五重负约束no cut、no text、no extra subject不出现额外主体、no violent morph禁止剧烈变形、no camera roll禁止镜头翻滚首末帧稳定Stable first and last moments与 dive 的末帧、下一 dive 的首帧形成无缝衔接。7.2 源码印证两阶段依赖与 conditioning 模式Connector 不能与 dive 同时并发因为它依赖两侧边界帧。流水线通过两阶段执行体现依赖关系seedance_pipeline.pydef run_connectors(root, client, manifest, args): items manifest.get(connectors, [])[: args.limit or None] frames root / assets / video / frames def run_one(item): generate_clip(root, client, manifest, connectors, item, frames / f{item[from]}-last.png, frames / f{item[to]}-first.png, args)即connector 的条件帧是from侧 dive 的末帧与to侧 dive 的首帧帧缓存位于assets/video/frames/{dive-id}-{first|last}.png见 schemas.md。提示语义顺序与 API 请求中的角色绑定见 build_payload 的实现mode manifest.get(conditioning_mode, reference_images) first_role reference_image if mode reference_images else first_frame content [{type: text, text: prompt}, {type: image_url, image_url: {url: data_uri(first)}, role: first_role}] if last is not None: last_role reference_image if mode reference_images else last_frame content.append({type: image_url, image_url: {url: data_uri(last)}, role: last_role})两种 conditioning 模式的取舍schemas.mdreference_images默认本地帧都以role: reference_image发送适合 Seedance 的多模态构图与显式输出比例dive 与 connector 都可用first_lastconnector 使用first_frame/last_frame角色当精确边界锚定比构图自由度更重要时选择需确认所选模型支持并核对比例限制。默认请求模板video-manifest.json给出conditioning_mode: reference_images、duration: 4、resolution: 720p、ratio: 16:9、target_width: 1280、target_height: 720、fps: 24等生产参数connector 记录通过from/to引用 dive 的id。八、视频提示的核心原则描述变化而非复述画面prompting 文档末尾给出了一条贯穿 dive 与 connector 的通用铁律Video prompts should describe changes over time, not repeat the entire still-image description.视频提示应描述随时间发生的变化运动幅度、镜头行为、环境动态、过渡路径而不是把整段静帧描述重抄一遍。理由很实际静帧提示已在风格前言与身份块中锁定了“有什么、长什么样”视频层再复述会引入冲突描述反而破坏一致性视频模型需要的是“动起来的方式”——这也是为什么style-motion.txt单独承载运动规则而 dive/connector 的.txt只写一条具体运动/旅程描述seedance_pipeline.py 把两者拼接后提交同时seedance.md 提醒模型 ID 与支持的参数可能变化应以官方文档为准请求体默认是“一条文本提示 一张或两张本地图data URL”的内容数组。九、与批准门、验证环节的衔接生产纪律提示词写作不是孤立动作它服务于两道创意批准门SKILL.md 与 workflow.md视觉风格批准门展示风格前言与身份块含媒介、调色、材质、灯光、镜头语法、构图、负约束与角色/产品处理若图像能力可用附上小规模参考/门控集通常为开场、中段、结尾三张静帧。未获明确批准不得生成完整静帧集。内容与镜头计划批准门展示章节顺序、每章主导视觉事件与展示文案、场景取景/镜头意图、connector 的起止点与每场景文案位置。两道门是两个独立决策风格批准决定“世界看起来如何”内容与镜头计划批准决定“展示什么、镜头如何移动”。后续的付费视频授权是独立授权门不能替代任何一道创意批准。生产不变量中还要求先做小规模静帧一致性门控consistency gate再生成完整静帧集dive 可并行connector 必须等相邻 dive 边界帧全部就绪后再并行交付前运行 verify_media.py 校验数量、尺寸、帧率、编码与精确时长并用 contact_sheet.py 生成中段联系表优先检查身份正确性、关键物件与场景含义而非偶发生成细节。十、提示词写作速查清单开工前从 style-presets.md 三预设中选一个或替换为用户艺术方向探测环境图像能力并确认可用。风格层style-preamble.txt写满 MEDIUM/PALETTE/MATERIALS/CAMERA/LIGHT/COMPOSITION/CONTINUITY/EXCLUDE 八字段style-motion.txt承载运动渲染与时间一致性规则两块全片复用与主体指令分离。身份层每个反复出现的形象锁六点比例、几何、颜色材质、标志物、允许变化、禁止变化先生成中性参考表场景提示只点名实际出现的引用。静帧层STYLE PREAMBLE RELEVANT IDENTITY BLOCKS 单一主导事件 前景/中景/背景 24 个可读事实 16:9 中央安全区 静态无字收尾一张图只讲一件事。Dive 层唯一参考图 4 秒连续镜头 小幅环境运动 一个微妙动作 locked/slow push/shallow orbit 六重负约束 末帧稳定。Connector 层显式声明 Image 1 为出发边界、Image 2 为目的地边界 具体旅行介质 保持身份与调色 禁止剪辑/文字/额外主体/剧烈变形/镜头翻滚 首末帧稳定。视频提示总原则写随时间的变化不重复静帧描述提交前检查 video-manifest.json 中的模型、时长、分辨率、比例与 conditioning 模式。赞分享AI 技能人工智能深度研究数据分析媒体生成【免费下载链接】SenseNova-SkillsModular SenseNova skills for building AI-powered office assistants and productivity workflows项目地址https://gitcode.com/gh_mirrors/se/SenseNova-Skills点击查看免费下载相关推荐Workerd 运行时 API 实战指南从 Worker 入口、Web 平台 API 到 CLI 与 Wrangler 集成Workerd 运行时 API 实战指南从 Worker 入口、Web 平台 API 到 CLI 与 Wrangler 集成 本篇指南以 CloudflareAI 技能人工智能深度研究数据分析媒体生成Node.js 0.9.8Unstable版本发布公告全解读变更明细、发布产物与仓库呈现机制Node.js 0.9.8Unstable版本发布公告全解读变更明细、发布产物与仓库呈现机制 本篇技术指南以 Node.js 官方网站开源仓库中的 v0.AI 技能人工智能深度研究数据分析媒体生成SenseNova-Skills 布局审查提示词全解layout_review.md 如何驱动 sn-image-imitate 的生成-审查闭环SenseNova Skills 布局审查提示词全解layout_review.md 如何驱动 sn image imitate 的生成 审查闭环 导读 本文AI 技能人工智能深度研究数据分析媒体生成上一篇浏览器SVG编辑实战5个场景解锁矢量图形创作新境界下一篇如何高效使用开源运动分析工具Kinovea完全指南与实战技巧创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑