关于 ai-video-script
ai-video-script 是将主题、风格和时长转为结构化短视频拍摄脚本的技能,供后续生成流程解析。它要求调用方提供视觉风格和角色锚点,并以严格格式输出分镜。
主要功能
- 01生成结构化短视频脚本
- 02支持 1 至 10 个分镜
- 03按总时长分配分镜时长
- 04保留指定的角色与视觉锚点
- 05输出适合下游解析的固定字段
适用场景
- 01为短视频广告规划镜头
- 02为短剧生成连续分镜
- 03向图像和视频生成技能提供脚本
- 04按指定画幅与时长组织内容
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ tokenrhythm/ opensquilla --skill ai-video-script安装后在 Claude Code 中输入/ai-video-script确认已加载。
详细介绍
ai-video-script — 结构化短视频脚本生成器
将主题/关键词、风格和时长转换为严格格式的拍摄脚本,供下游的 nano-banana-pro 和 seedance-2-prompt 技能无歧义地解析。默认生成 3 个镜头;调用方也可以要求生成 4 个或 5 个。
输入
通过 with.task / with.request 提供自由文本:
- 主题/产品/故事
- 目标受众(可选)
- 风格(轻松/专业/故事/科普/带货)——叙事风格,而非渲染风格
- 总时长(默认 15s、30s、60s)
- 画面比例(默认 9:16,可选 16:9)
N_SHOTS覆盖值(默认 5,允许 1-10)
调用方提供的锚点(原样使用——此技能绝不会自行编造):
with.render_style— 每个镜头的提示词都必须以此美学描述结尾。示例:2D anime illustration, flat colour, soft cel-shading、watercolour storybook illustration、cinematic photoreal 35mm grain。如果缺失/为空,则在 RENDER_STYLE 字段中输出字面占位符(render style missing),以便下游解析器能明确报错。with.identity_anchor— 对主要角色的一行描述,每个镜头都必须逐字节复现。示例:Lin, a 25-year-old East Asian woman with chin-length black bob, almond eyes, wearing sage-green oversized knit sweater and gold round earrings。如果缺失/为空,则输出字面占位符(identity anchor missing),以便调用方在投入图像/视频生成成本前发现缺项。
此技能不选择渲染风格或角色身份;这由编排器(或其 user_input 澄清步骤)决定。这样的职责划分使同一技能既可用于产品广告(无人出镜),也可用于短剧(角色身份固定),而无需内置默认值。
输出格式(严格——编排器会解析此格式)
始终按以下顺序输出且仅输出这些顶层区块:
=== OVERVIEW ===
TITLE: <one line>
DURATION_S: <int>
ASPECT_RATIO: <9:16|16:9>
STYLE: <one line>
AUDIENCE: <one line>
N_SHOTS: <int 3-5>
IDENTITY_ANCHOR: <copied verbatim from with.identity_anchor, or "(identity anchor missing)">
RENDER_STYLE: <copied verbatim from with.render_style, or "(render style missing)">
=== SHOT_1 ===
DURATION_S: <int 3-6>
CAMERA: <wide|medium|close-up + push/pull/pan/tilt/static>
IMAGE_PROMPT: <IDENTITY_ANCHOR verbatim>, <scene/action>, <RENDER_STYLE verbatim>, --ar 9:16
VIDEO_PROMPT: <IDENTITY_ANCHOR verbatim>, <one major action + camera move + duration hint>, <dialogue/voiceover/sound tags derived from VOICEOVER — see rule 11>, <RENDER_STYLE verbatim>, aspect_ratio: 9:16, no watermark, no logo, no subtitles
VOICEOVER: <one line, max 20 Chinese chars or 30 English words — kept verbatim for SRT subtitle burn-in>
ON_SCREEN_TEXT: <one short line or empty>
=== SHOT_2 ===
... (same fields, IMAGE_PROMPT and VIDEO_PROMPT must begin with the
exact same IDENTITY_ANCHOR bytes as SHOT_1)
=== SHOT_3 ===
... (same fields)
对于 1 到 10 之间的任意 N_SHOTS,输出数量完全相同的 === SHOT_K === 区块,编号为 1..N_SHOTS,且每个区块包含相同字段。不要输出超出 N_SHOTS 的镜头区块。不要遗漏任何字段;ON_SCREEN_TEXT 为空时,使用字面值 none。
N_SHOTS 的含义:
- 1:单个主镜头(通常为 5-10s)——产品/风景短片。
- 2-3:经典短篇故事弧。
- 4-6:包含多个节拍的扩展叙事;适合 45-60s 的剧情片。
- 7-10:拉长篇幅的剧情片;总时长会随成本线性增长。
规则
-
身份连续性 —
with.identity_anchor必须逐字节粘贴到每个镜头的 IMAGE_PROMPT 和 VIDEO_PROMPT 开头。不要改写、总结,也不要用代词替换。如果镜头 3 的锚点文本与镜头 1 只差一个逗号,那就是写错了。 -
具体的视觉描写 — 用可观察到的动作替换抽象动词: “一位穿着红色风衣的年轻女子穿过被雨水打湿的霓虹街道” >> “一位女子在行走”。
-
规避 IP 风险 — 不要使用系列作品名称、角色名称、品牌词语或“仿照……风格”的描述。需要时请创造原创名称。
-
不允许多行值 — IMAGE_PROMPT、VIDEO_PROMPT、VOICEOVER、ON_SCREEN_TEXT 都必须是单行。
-
明确标注宽高比 — 每个 IMAGE_PROMPT 必须以字面标记
--ar 9:16(或--ar 16:9)结尾;每个 VIDEO_PROMPT 必须以字面标记aspect_ratio: 9:16(或16:9)结尾。 -
时长计算 —
sum(SHOT_i.DURATION_S) == OVERVIEW.DURATION_S,误差不超过 2 秒。 -
旁白长度 — 旁白总长度应能在
DURATION_S秒内读完(每秒约 3 个中文字,每秒约 2 个英文单词)。 -
匹配用户使用的语言 — 所有字段(TITLE、STYLE、AUDIENCE、IDENTITY_ANCHOR、RENDER_STYLE、IMAGE_PROMPT、VIDEO_PROMPT、VOICEOVER、ON_SCREEN_TEXT)都必须使用与用户相同的语言。
- 当前下游图像和视频模型——
google/gemini-3.1-flash-image-preview和bytedance/seedance-2.0——都原生支持中文。Seedance(ByteDance)实际上是以中文为主的模型;当故事本身是中文时(例如咖啡店偶遇 / 国风武侠 / 校园回忆),使用中文提示词往往能生成更贴合主题的结果。 - 不要仅仅为了填写 IMAGE_PROMPT,就把用户的中文主题翻译成英文——这会丢失文化细节,还常常会凭空生成带有西方特色的替代内容。
- 混合语言输入(英文主题 + 中文旁白说明,或反之)→ 大部分提示词应使用主题/故事所用的语言;VOICEOVER 等本地化字段可以使用用户明确指定的语言。
- 英文同样适用:用户用英文撰写,或明确要求使用英文提示词时,选择英文。
- 当前下游图像和视频模型——
-
仅限纯文本 — 不要使用表情符号或装饰性符号。 脚本会在 Windows 控制台上通过 Python 子进程运行,该控制台默认代码页(cp936/GBK)无法编码
✅、❌、✨、🎬或任何非 BMP 字符。任何字段包含这类字符都会导致编排器因UnicodeEncodeError而崩溃。仅使用纯 CJK 字符和 ASCII 字符。修改内容时也不要用对勾装饰修改过的行。 -
风格标签例外 — RENDER_STYLE 是标签,不是句子。可以保留原生词汇中的规范美学标签:
2D anime illustration和水墨风, monochrome with one accent都有效;水墨风 ink-wash, paper texture这类混合语言标签也适用。调用方通过with.render_style传入的形式会原样复制。 -
VOICEOVER 也必须作为对话/旁白标签出现在 VIDEO_PROMPT 中 — Seedance 2.0 在提示词中收到明确的对话提示时,会原生生成音频并实现口型同步(参见上游 JiMeng 的“带对话的短剧”方案)。没有该标签时,seedance 会生成无声视频,台词只会以烧录字幕的形式出现(没有音轨)。添加该标签后,seedance 还会生成实际语音,正确同步说话者的嘴部动作,并通过真实声音强化烧录字幕。
每个镜头选择以下一种标签形式,优先级从高到低:
a. 角色对话(VOICEOVER 内容是角色说出的台词,以引号括起,或与角色名称搭配,例如“陆冷笑一声:'...'” / “Lu sneers, '...'”):
Dialogue (<CharacterName from IDENTITY_ANCHOR>, <emotion>): "<the line>"示例(放在 VIDEO_PROMPT 中,位于动作/镜头段落之后、RENDER_STYLE 之前): Dialogue (Zhang, furious): "Take your internship report and get out of my company right now!" Dialogue (张, 愤怒): "拿着你的实习报告,立刻给我滚出公司!" Dialogue (Lu, sneering): "Are you sure you want to fire me, Manager Zhang?"
b. 旁白/内心独白(VOICEOVER 作为无形旁白的台词朗读,没有画面中的说话者,不加引号):
Voiceover (narrator, <emotion>): "<the line>"示例: Voiceover (narrator, wistful): "推开那扇熟悉的咖啡店门。"
c. 此镜头无语音(VOICEOVER 的字面值为
none/空)——在 VIDEO_PROMPT 中不输出任何对话标签。可选地,如果特定音效能定义镜头,也可添加Sound: <ambient cue>标签。标签的其他规则:
- 情绪标签使用一个简短的形容词(calm / sad / excited / sneering / furious / panicked / 冷峻 / 愤怒 / 惊恐 / 平静)。 Seedance 会用它来塑造语音韵律。
- CharacterName 必须与 IDENTITY_ANCHOR 中使用的名称词元匹配(Zhang / 张 / Lin / 林 等),以便 seedance 知道要让谁的嘴动起来。不要编造新名字。
- 引号内的 "" 必须与 VOICEOVER 字段使用相同语言。不要翻译。保留标点;如果需要在对话中引用内容,请使用 ASCII 单引号。
- 负向约束
no subtitles必须保留在 VIDEO_PROMPT 中——这是为了不在 seedance 视频画面中渲染字幕条。对话标签控制音频;字幕条由后续 ffmpeg 步骤根据 VOICEOVER 字段烧录。 - 一个镜头中有多个说话者时,用分号串联标签: Dialogue (Lu, sneering): "..." ; Dialogue (Zhang, panicked): "..."
-
VIDEO_PROMPT 长度上限——添加对话标签后,每个 VIDEO_PROMPT 的实用上限为 ≤500 个字符。IMAGE_PROMPT 仍需 ≤220 个字符。meta-short-drama 中的后续提取步骤会在追加 Assets Mapping 前导内容后,于 700 个字符处截断,因此超长的单个 VIDEO_PROMPT 会从末尾被截断——请将对话标签放在 RENDER_STYLE 重复内容之前,以免被截掉。
风格预设(仅调整 IMAGE_PROMPT/VIDEO_PROMPT 修饰词)
- 商业/Commercial:"studio lighting, hero product shot, clean background, shallow depth of field"
- 故事/Story:"cinematic, soft natural light, 35mm film grain, shallow depth of field"
- 科普/Educational:"isometric infographic style, flat colour, bright key light, clean composition"
- 带货/E-commerce:"high-key lighting, white seamless background, product 360 spin"
- 轻松/Casual:"bright daylight, handheld feel, vibrant colours"
负向默认项(始终添加到 VIDEO_PROMPT)
no watermark, no logo, no subtitles, no on-screen text outside ON_SCREEN_TEXT.
示例 A——中文请求,全中文脚本(50 秒,5 个镜头,9:16)
用户用中文提出请求,因此所有字段都使用中文,包括 IMAGE_PROMPT 和 VIDEO_PROMPT。Seedance 2.0 和 Gemini 3.1 image 都能原生处理这些提示词。注意,RENDER_STYLE 为电影级写实(明确选择的风格——下游 Seedance 审核可能会拒绝写实人物参考;如果服务提供方策略导致请求被拒,会立即停止,不再进行另一次付费提交,然后工作流会退回到效果较差的 Ken-Burns 视频片段)。
调用方传入:
with.identity_anchor=陆,28岁东亚男性,背头黑发,无框眼镜,深灰色定制西装,气场冷峻;张,35岁东亚女性,波浪长卷发,浓妆,白色职业套装,神情傲慢with.render_style=电影级写实,真实摄影,戏剧化强光对比,高对比度色调
=== OVERVIEW ===
TITLE: 职场反转:踢到铁板了
DURATION_S: 50
ASPECT_RATIO: 9:16
STYLE: 现代都市 / 职场爽剧
AUDIENCE: 18-35 职场青年 / 爽剧受众
N_SHOTS: 5
IDENTITY_ANCHOR: 陆,28岁东亚男性,背头黑发,无框眼镜,深灰色定制西装,气场冷峻;张,35岁东亚女性,波浪长卷发,浓妆,白色职业套装,神情傲慢
RENDER_STYLE: 电影级写实,真实摄影,戏剧化强光对比,高对比度色调
=== SHOT_1 ===
DURATION_S: 10
CAMERA: 中景,快速跟拍
IMAGE_PROMPT: 张,35岁东亚女性,波浪长卷发,浓妆,白色职业套装,神情傲慢;陆,28岁东亚男性,背头黑发,无框眼镜,深灰色定制西装,气场冷峻,张在奢华的现代办公室里将一份文件夹狠狠摔在办公桌上,指着站在对面的陆,眼神充满鄙夷,电影级写实,真实摄影,高对比度色调,--ar 9:16
VIDEO_PROMPT: 张,35岁东亚女性,波浪长卷发,浓妆,白色职业套装,神情傲慢;陆,28岁东亚男性,背头黑发,无框眼镜,深灰色定制西装,气场冷峻,张愤怒地将文件摔在桌上并大声指责,陆面无表情地看着她,镜头快速推向张愤怒的脸,动作激进利落,0-10s,Dialogue (张, 愤怒): "拿着你的实习报告,立刻给我滚出公司!",电影级写实,真实摄影,画面无水印,无字幕,无logo,aspect_ratio: 9:16
VOICEOVER: "拿着你的实习报告,立刻给我滚出公司!"
ON_SCREEN_TEXT: 扫地出门
=== SHOT_2 ===
DURATION_S: 10
CAMERA: 特写,动态倾斜拉镜头
IMAGE_PROMPT: 陆,28岁东亚男性,背头黑发,无框眼镜,深灰色定制西装,气场冷峻,陆抬手摘下无框眼镜,嘴角勾起一抹极度冷酷且自信的嘲讽笑意,眼神凌厉,电影级写实,真实摄影,高对比度色调,--ar 9:16
VIDEO_PROMPT: 陆,28岁东亚男性,背头黑发,无框眼镜,深灰色定制西装,气场冷峻,陆动作极其干净利落地抬手摘下眼镜丢在桌上,嘴角瞬间勾起冰冷的笑意,镜头配合他的动作迅速拉近并微微倾斜,凸显压迫感,0-10s,Dialogue (陆, 冷笑): "张经理,你确定要开除我?",电影级写实,真实摄影,画面无水印,无字幕,无logo,aspect_ratio: 9:16
VOICEOVER: 陆冷笑一声:"张经理,你确定要开除我?"
ON_SCREEN_TEXT: 临危不乱
=== SHOT_3 ===
DURATION_S: 10
CAMERA: 快速平移 + 瞬间推焦
IMAGE_PROMPT: 张,35岁东亚女性,波浪长卷发,浓妆,白色职业套装,神情傲慢;陆,28岁东亚男性,背头黑发,无框眼镜,深灰色定制西装,气场冷峻,陆从西装内口袋掏出一枚精致的金色集团徽章抛在桌上,张看到徽章后脸色瞬间惨白,冷汗直流,电影级写实,真实摄影,高对比度色调,--ar 9:16
VIDEO_PROMPT: 张,35岁东亚女性,波浪长卷发,浓妆,白色职业套装,神情傲慢;陆,28岁东亚男性,背头黑发,无框眼镜,深灰色定制西装,气场冷峻,陆利落地掏出金色徽章拍在桌上,镜头瞬间给徽章一个快速特写推焦,动作干净有力,0-10s,Dialogue (陆, 冷峻): "看清楚,这是什么。",电影级写实,真实摄影,画面无水印,无字幕,无logo,aspect_ratio: 9:16
VOICEOVER: "看清楚,这是什么。"
ON_SCREEN_TEXT: 亮出底牌
=== SHOT_4 ===
DURATION_S: 10
CAMERA: 特写 + 快速甩镜头(Whip Pan)
IMAGE_PROMPT: 张,35岁东亚女性,波浪长卷发,浓妆,白色职业套装,极度恐惧的表情,额头冒汗,瞪大双眼死死盯着桌上的徽章,双手颤抖,电影级写实,真实摄影,高对比度色调,--ar 9:16
VIDEO_PROMPT: 张,35岁东亚女性,波浪长卷发,浓妆,白色职业套装,极度恐惧的表情,张认出徽章后惊恐地倒退一步,浑身剧烈颤抖,镜头从桌上的徽章快速甩向张惨白的脸和颤抖的双手,节奏急促,0-10s,Dialogue (张, 惊恐): "董事长专属黑金徽章?!你...你是...",电影级写实,真实摄影,画面无水印,无字幕,无logo,aspect_ratio: 9:16
VOICEOVER: "董事长专属黑金徽章?!你……你是……"
ON_SCREEN_TEXT: 瞬间打脸
=== SHOT_5 ===
DURATION_S: 10
CAMERA: 低角度仰拍,动态跟拍
IMAGE_PROMPT: 张,35岁东亚女性,波浪长卷发,浓妆,白色职业套装,神情傲慢;陆,28岁东亚男性,背头黑发,无框眼镜,深灰色定制西装,气场冷峻,陆单手插兜转身走向总裁专属转椅利落坐下,张在背景中双腿发软扶住桌子,满脸绝望,电影级写实,真实摄影,高对比度色调,--ar 9:16
VIDEO_PROMPT: 张,35岁东亚女性,波浪长卷发,浓妆,白色职业套装,神情傲慢;陆,28岁东亚男性,背头黑发,无框眼镜,深灰色定制西装,气场冷峻,陆极其顺畅地转身上前坐上总裁椅,镜头紧跟他的动作,张在后方浑身颤抖,动作一气呵成无拖泥带水,0-10s,Dialogue (陆, 冷峻): "我的微服私访结束了。现在,收拾东西给我滚。",电影级写实,真实摄影,画面无水印,无字幕,无logo,aspect_ratio: 9:16
VOICEOVER: "我的微服私访结束了。现在,收拾东西给我滚。"
ON_SCREEN_TEXT: 终极逆袭
示例 B — 英文请求、全英文脚本(50s,5 个镜头,9:16)
调用方传入:
with.identity_anchor=Lu, 28-year-old East Asian man, slicked-back black hair, rimless glasses, dark grey tailored suit, cold and powerful aura; Zhang, 35-year-old East Asian woman, wavy long hair, heavy makeup, white professional pantsuit, arrogant expressionwith.render_style=Cinematic realism, authentic photography, dramatic high-contrast lighting, bold color grading
=== OVERVIEW ===
TITLE: Corporate Revenge: Tricking the Titan
DURATION_S: 50
ASPECT_RATIO: 9:16
STYLE: Modern Urban / Corporate Drama / Revenge Short
AUDIENCE: 18-35 Professionals / Fast-paced Drama Enthusiasts
N_SHOTS: 5
IDENTITY_ANCHOR: Lu, 28-year-old East Asian man, slicked-back black hair, rimless glasses, dark grey tailored suit, cold and powerful aura; Zhang, 35-year-old East Asian woman, wavy long hair, heavy makeup, white professional pantsuit, arrogant expression
RENDER_STYLE: Cinematic realism, authentic photography, dramatic high-contrast lighting, bold color grading
=== SHOT_1 ===
DURATION_S: 10
CAMERA: medium shot, fast tracking camera
IMAGE_PROMPT: Zhang, 35-year-old East Asian woman, wavy long hair, heavy makeup, white professional pantsuit, arrogant expression; Lu, 28-year-old East Asian man, slicked-back black hair, rimless glasses, dark grey tailored suit, cold and powerful aura, Zhang slams a folder onto the desk in a luxurious modern office, pointing at Lu with utter contempt, cinematic realism, authentic photography, high-contrast lighting, --ar 9:16
VIDEO_PROMPT: Zhang, 35-year-old East Asian woman, wavy long hair, heavy makeup, white professional pantsuit, arrogant expression; Lu, 28-year-old East Asian man, slicked-back black hair, rimless glasses, dark grey tailored suit, cold and powerful aura, Zhang aggressively slams a folder down and shouts angrily, Lu stares at her with a critical deadpan expression, camera snaps instantly into a tight zoom on Zhang's furious face, fast-paced action 0-10s, Dialogue (Zhang, furious): "Take your internship report and get out of my company right now!", cinematic realism, authentic photography, no watermark, no logo, no subtitles, aspect_ratio: 9:16
VOICEOVER: "Take your internship report and get out of my company right now!"
ON_SCREEN_TEXT: The Dismissal
=== SHOT_2 ===
DURATION_S: 10
CAMERA: close-up, dynamic camera tilt
IMAGE_PROMPT: Lu, 28-year-old East Asian man, slicked-back black hair, rimless glasses, dark grey tailored suit, cold and powerful aura, Lu raises his hand to adjust his glasses with a sharp, swift motion, a cold and confident smirk appearing on his face, cinematic realism, authentic photography, high-contrast lighting, --ar 9:16
VIDEO_PROMPT: Lu, 28-year-old East Asian man, slicked-back black hair, rimless glasses, dark grey tailored suit, cold and powerful aura, Lu adjusts his glasses with a swift, sharp finger gesture, a confident smirk appears on his lips, camera dynamically tilts up capturing his sharp eyes behind the lenses, fast pacing 0-10s, Dialogue (Lu, sneering): "Are you sure you want to fire me, Manager Zhang?", cinematic realism, authentic photography, no watermark, no logo, no subtitles, aspect_ratio: 9:16
VOICEOVER: Lu sneers, "Are you sure you want to fire me, Manager Zhang?"
ON_SCREEN_TEXT: Unshaken Confidence
=== SHOT_3 ===
DURATION_S: 10
CAMERA: rapid pan + sudden push-in zoom
IMAGE_PROMPT: Zhang, 35-year-old East Asian woman, wavy long hair, heavy makeup, white professional pantsuit, arrogant expression; Lu, 28-year-old East Asian man, slicked-back black hair, rimless glasses, dark grey tailored suit, cold and powerful aura, Lu pulls out a sleek gold corporate badge from his inner suit pocket and tosses it sharply onto the desk, Zhang's face turns pale with sheer terror, cinematic realism, authentic photography, high-contrast lighting, --ar 9:16
VIDEO_PROMPT: Zhang, 35-year-old East Asian woman, wavy long hair, heavy makeup, white professional pantsuit, arrogant expression; Lu, 28-year-old East Asian man, slicked-back black hair, rimless glasses, dark grey tailored suit, cold and powerful aura, Lu swiftly tosses a gold badge onto the desk, camera instantly snaps a sharp macro zoom onto the badge then pans up to Zhang's terrified expression, zero delay, fast-paced motion 0-10s, Dialogue (Lu, cold): "Look closely at what this is.", cinematic realism, authentic photography, no watermark, no logo, no subtitles, aspect_ratio: 9:16
VOICEOVER: Lu slams the badge down: "Look closely at what this is."
ON_SCREEN_TEXT: The Reveal
=== SHOT_4 ===
DURATION_S: 10
CAMERA: extreme close-up + rapid whip pan
IMAGE_PROMPT: Zhang, 35-year-old East Asian woman, wavy long hair, heavy makeup, white professional pantsuit, terrified expression, sweat dripping down her face, staring down at the desk in sheer shock, eyes wide open, cinematic realism, authentic photography, high-contrast lighting, --ar 9:16
VIDEO_PROMPT: Zhang, 35-year-old East Asian woman, wavy long hair, heavy makeup, white professional pantsuit, terrified expression, Zhang stumbles back a step, trembling violently as she recognizes the badge, camera executes a rapid whip pan from the badge to her trembling hands, fast pacing 0-10s, Dialogue (Zhang, panicked): "The global chairman's personal crest?! You... you are...", cinematic realism, authentic photography, no watermark, no logo, no subtitles, aspect_ratio: 9:16
VOICEOVER: "The global chairman's personal crest?! You... you are..."
ON_SCREEN_TEXT: Instant Regret
=== SHOT_5 ===
DURATION_S: 10
CAMERA: low angle, dynamic tracking shot
IMAGE_PROMPT: Zhang, 35-year-old East Asian woman, wavy long hair, heavy makeup, white professional pantsuit, arrogant expression; Lu, 28-year-old East Asian man, slicked-back black hair, rimless glasses, dark grey tailored suit, cold and powerful aura, Lu puts one hand in his pocket, turns around sharply, and sits down dominantly into the CEO executive chair, Zhang stands frozen in the background trembling with despair, cinematic realism, authentic photography, high-contrast lighting, --ar 9:16
VIDEO_PROMPT: Zhang, 35-year-old East Asian woman, wavy long hair, heavy makeup, white professional pantsuit, arrogant expression; Lu, 28-year-old East Asian man, slicked-back black hair, rimless glasses, dark grey tailored suit, cold and powerful aura, Lu turns around with a swift, smooth motion and sits firmly into the CEO chair, camera tracks his movement dynamically, Zhang trembles in panic in the background, fast pacing 0-10s, Dialogue (Lu, cold): "My undercover inspection is over. Now, pack your bags and get out.", cinematic realism, authentic photography, no watermark, no logo, no subtitles, aspect_ratio: 9:16
VOICEOVER: "My undercover inspection is over. Now, pack your bags and get out."
ON_SCREEN_TEXT: The Ultimate Payback
这些示例奏效的原因:
- IDENTITY_ANCHOR 是每个 IMAGE_PROMPT 和 VIDEO_PROMPT 中逗号分隔的第一个片段,在全部 5 个镜头中逐字节保持一致。RENDER_STYLE 位于每个提示词的末尾附近,也会原样重复。这种重复能为视频模型提供稳定的身份和风格锚点。
- 镜头 2 和镜头 4 会有意从 IDENTITY_ANCHOR 片段中省略第二个角色——只注明实际出现在镜头中的角色。锚点的“词汇”保持一致(姓名、年龄和服装描述相同),但你可以省略不在镜头中的人物,让提示词更聚焦。
- 每个 VIDEO_PROMPT 在每个 10 秒的节拍中只包含一个主要动作和一个镜头运动。试图把多个节拍塞进单个镜头会使效果变得模糊。
- ON_SCREEN_TEXT 较短(4 个中日韩字符或 2–3 个英文单词)——长度足以在 10 fps 下读清,又不会与旁白或主体争夺注意力。
- VOICEOVER 引号中的标点会原样写入后续生成的 SRT;标点经由 ai-video-script → srt-from-script → subtitle-burner 完成 UTF-8 往返转换后仍会保留。
此技能不会做什么
- 不会自行调用任何图像或视频 API——只会输出文本。
- 不会编造违反
OVERVIEW.DURATION_S的 SHOT 时长。 - 单次处理不会生成超过 10 个镜头。