tapcanvas-dialogue-drama
GitHub将冻结的对白、人物关系及状态编译为可执行的单Clip视频提示词,专注于文戏的话轮攻防、潜台词表现、镜头调度与声音连续性,确保表演细节与视听语言的精确落地。
Trigger Scenarios
Install
npx skills add anymouschina/TapCanvas --skill tapcanvas-dialogue-drama -g -y
SKILL.md
Frontmatter
{
"name": "tapcanvas-dialogue-drama",
"metadata": {
"contracts": [
"tapcanvas\/video-prompt-authoring@3.7.0"
],
"extensionOf": [
"tapcanvas-video-prompt-writer"
]
},
"description": "TapCanvas 文戏与对白扩展:把人物关系、潜台词、话轮攻防、停顿与身体反应、空间调度、镜头覆盖和声音连续性编译成可执行的单 Clip 视频提示词。仅作为 tapcanvas-video-prompt-writer 的领域扩展,不创建平行工作流或运行时质量闸门。",
"knowledge-role": "generation",
"knowledge-domains": [
"AI视频提示词",
"视听语言演出",
"叙事结构节奏",
"音乐声音设计"
],
"disable-model-invocation": true
}
文戏与对白扩展
职责边界
本扩展只把已经冻结的对白、人物关系、信息差和状态变化翻译为可拍文戏:话轮、潜台词、表演停顿、空间调度、镜头信息功能、口型窗口、环境声与跨 Clip 声音接口。它不新增人物关系、动机、对白、秘密、地点、结局、时长或资产职责;父任务和 authoring contract 仍是唯一事实来源。
当 agents 根据 dramaticPlan、audienceKnowledge、characterKnowledge、dialogueScript、narrativeAudioPlan 和 dominantFunction 判断当前片段以人物交流/关系变化为主时,writer 可加载本扩展。不得用 Hono/Web 关键词路由,也不得以“文戏感”“高级感”作为生成资格。
执行顺序
- 先读取 writer 已冻结的
dialogueScript、speechEvents规则和dramatic-direction-contract.md。 - 再按信息增益读取本扩展的五张知识卡:潜台词与话轮、表演与静默、镜头覆盖、声音连续性、道具驱动对白;零命中或读取失败只记录 provenance/diagnostics。
- 每句发声文本只由一个完整 SpeechEvent 承载,台词正文不复制进 shots;视觉字段只写开口/闭唇、视线、姿态、动作和反应。
- 先让人物选择或关系状态发生变化,再分配镜头。台词镜优先保证口型可见和听觉清晰,急推、甩镜、大幅转头放到无口型窗口。
- reviewer 在同一 writer 上下文内按既有合同维度复盘并修订,不产生文戏专用分数或阻塞态。
文戏动作语法
- 每轮话语必须改变至少一项:信息拥有量、关系距离、主动权、选择压力、可用退路或道具控制。若只换说法没有变化,合并或重写,不靠增加镜头凑密度。
- 潜台词落在可见载体:答非所问、抢话、故意不看、把物件推远/收回、维持平稳语气却改变手指力度、在关键名词前停顿。禁止用“他很悲伤/她很愤怒”替代表演。
- 对白前后都要有可读的听者反应,但反应不能凭空制造新关系或动机;反应发生在刺激之后,结果改变下一轮话术、站位或道具状态。
- 视线和轴线先于景别。远景交代双方关系与空间锚,中景承载话轮和动作,近景读控制泄漏,特写只放大当前必须理解的道具/手部/表情细节。
- 静默是有内容的时间:保留让观众理解选择或回避的停顿,同时用呼吸、衣料、室内底噪、远处交通等真实声源保持时间感;不把每个停顿写成 BGM 或解释性旁白。
- 文戏需要高密度时,密度来自“话轮—反应—新选择”连续变化,不是每秒切镜。需要慢时,慢镜仍必须有持续的目光、姿态、道具或环境变化。
人声密度尺(写 shots 时逐条自查)
忠实原文不等于把原文每句都搬成人声。原文对白越密,越要靠「谁真的开口、哪一镜完全不开口」做取舍;这条尺和知识卡 narration-restraint-shots 是同一条,不另立第二套。
- 每句人声先过三问:画面演得出来吗(演得出来就归动作,不进 dialogue)?同一信息点是不是已经说过?删掉观众会损失什么?三问任一不过就不写进 dialogue。
- 旁白 ≤ 1 句 / 12 秒(一条 15 秒 clip 至多 1 句旁白)。
- ≥ 1/4 的镜完全无人声(dialogue 留空 = 纯环境音);连续 ≥3 个有人声镜必须插一个静默镜。
- 奇观镜/大景默认静默;原文写了“安静/死寂/只有风声”的段落,静默就是演出本身。
- 旁白只做画面给不了的信息增量(设定解释、时空跨度、不可见的因果注释);不念动作、不念字幕、不与角色独白互相转述。
- 每镜只承担一个主要动作 + 一个摄影机行为 + 一个环境运动;话轮密度靠“话轮—反应—新选择”变化承载,不靠每秒切镜。
以上是创作合同,不是通过/失败闸门:不达标时由本节点在同一执行链内修订,不产生分数、不阻塞交付。
15 秒文戏节奏参考
15 秒可以承载一轮完整关系交换,也可以承载两到三轮短句,但必须按台词可靠同步预算和镜头可读度分配。建议结构是:先建立正在发生的关系压力,再让一句话/一个动作改变权力或信息,随后给听者可见反应,最后以未说完的话、保留的道具状态或开放视线交给下一 Clip。不要固定“三句对白+四个镜头”;时长和镜头数量服从冻结 SpeechEvent 与状态链。
原创与来源边界
本扩展吸收公开导演/Seedance 框架中可迁移的文戏方法:潜台词与情绪转折、blocking 先于构图、对白停顿与声画同步、跨段 voice anchor。外部作品、导演姓名、角色、台词、声线和镜头不得作为供应商控制;只能迁移结构逻辑,并由项目事实覆盖冲突。
Version History
- 2.0.1 Current 2026-09-22 10:27


