SuperAPI AI 工具集

short-film-editor

设计与创作

查看项目

更新于 10-29 16:15

技能介绍

Short Film Editor 是一个专注于多片段 AI 视频制作的短片编辑技能,引导用户通过六个阶段从故事概念走到成片组装,并在全部片段间维持角色与风格一致。默认语言为英文,若用户使用其他语言则随之适配。

核心原则 以音乐为先:若已有音乐,则从音乐开始,经节拍分析确定镜头时点;若无音乐,则用叙事节奏决定镜头节奏。 分镜预览:批量生成前先制作 HTML 预览页作视觉确认。 角色一致性:角色圣经条目必须逐字复制进每个提示词,不得缩写。 连续性衔接:每个镜头(S1 除外)都以 Continuing from the previous shot 开头,引用上一镜头的结尾状态。 叙事节奏而非均分:绝不把总时长平均切分,镜头长度应跟随故事的情绪节奏——氛围处放慢,冲击处缩短。

关键规则 Seedance 提示词必须使用英文,模型对英文理解最佳。 每个片段 5-15 秒,Seedance 2.0 单次生成上限为 15 秒。 绝不上传含真实人脸的图片,Seedance 的隐私检测会将其拦截。 BGM/音效不写入 Seedance 提示词,真实 BGM 在后期叠加。 所有项目数据在各阶段持续累积到 ${PROJECT_DIR}/project.json。

阶段一:故事与角色圣经 接收故事概念,可以是文本、剧本甚至一句话;拆解故事结构为开端、发展、高潮、结局,确认总时长(默认 60 秒);建立角色圣经(JSON 数组,每个角色一条),包含 id、name、appearance、wardrobe、signature_details、voice_tone 等字段。appearance 写年龄、族裔、发型(样式+颜色+长度)、肤色、眼形与眼色、体型;wardrobe 写材质+剪裁+颜色,不能只写“蓝裙子”;signature_details 写首饰、纹身、疤痕等视觉锚点。同时建立适用于所有镜头的风格指南,含 visual_style、color_palette、lighting、camera_language、negative_prompts 字段。向用户展示摘要确认后,初始化 project.json。

阶段二:音乐与节拍分析(或叙事节奏) 若用户有或想要音乐,依次执行:获取音乐(从参考视频用 ffmpeg 提取、使用用户提供的 BGM 文件,或基于故事情绪、速度、曲风给出 Suno/Udio 提示词由用户在外部生成);用 scripts/analyze-beats.py 做节拍分析,输出 BPM、总时长、beats、sections 与 suggested_cuts;最终确定镜头时长——以 suggested_cuts 为起点,超过 15 秒的片段在最接近的内部节拍点切开,不足 5 秒的与相邻片段合并,并把分析结果更新到 project.json。 若用户跳过音乐,则按叙事节奏手动划分:建立镜头 7-10 秒、动作爆发 5-6 秒、余波/结局 5-7 秒,视总时长安排 4-7 个片段,在 project.json 的 music 段写入 bpm: 0 及带叙事标签的段落,直接进入阶段三。

阶段三:镜头表 叙事节奏方面,建立/氛围 7-10 秒(慢),铺垫/过渡 5-7 秒(中),动作/冲击 5-6 秒(快而有力),高潮/碰撞 6-8 秒(密集),余波/结局 5-7 秒(缓慢停留)。由于 Seedance 每片段最短 5 秒,可在片段内用带时间标注的镜头切换模拟快剪:动作场面每片段设 2-4 个视角切换,氛围镜头 1-2 个。 每个镜头在 project.json 中记录:shot_id、duration_s、music_section、beat_sync_notes、scene、characters、action、camera(带时间标注的运镜)、dialogue(带时间标注的台词与音效提示)、continuity_out、continuity_in(须与上一镜头的 continuity_out 一致)。完成后展示镜头表供用户审阅并按需迭代。

阶段四:提示词工程与 HTML 分镜预览 每个镜头的 Seedance 提示词由以下部分拼接:所有镜头一致的类型前缀(风格指南的 visual_style、color_palette、lighting);逐字注入的角色描述;第二镜头起的连续性衔接句;使用实际时长的带时间标注场景;融入时间标注的节拍同步标记;台词注入;以及所有镜头一致的负向提示词。注意提示词中不写 BGM 或背景音乐描述。提示词存入 shot 的 prompt 字段。 参考图生成有四条路径:Gemini(默认、自动、免费,使用 generate-scene.ts)、Midjourney(质量更高,适合风格化项目,通过 /midjourney 技能生成)、用户自备(手动放入 storyboard/S1.png 等)、Gemini 网格分镜(推荐,为一致性最佳——先生成一张 N 格网格图再切分,可用 scripts/split-grid.sh 得到 S1.png 至 S8.png,每个面板上传为素材用于图生视频)。参考图提示词应包含场景环境、角色外观、最具代表性时刻的关键动作/姿势与风格指南中的光照,但不含运镜(参考图是静态的)。 随后用 scripts/generate-storyboard-html.ts 生成单文件 HTML 分镜预览,含项目标题、总时长、片段数、BPM、角色与风格摘要、音乐时间轴、逐镜头卡片(参考图、场景/动作、台词/节拍、连续性、可折叠的 Seedance 提示词);参考图以 Base64 内嵌,可用 --skip-images 跳过 Gemini 生成并读取 storyboard/ 中已有图片。预览页为英文界面、白色主题、响应式,可在手机上查看。向用户展示并收集反馈,可调整镜头、重排顺序、修改提示词或重生成指定参考图,确认后进入生成。

阶段五:批量生成 开始前先逐镜头用 estimate 命令估算总成本。推荐并行提交:若用网格分镜图生视频,先 upload 每张面板取得素材 ID,再用 create 并带 --materials "$MAT_ID:ref_image" 创建;若某镜头参考图被隐私检测拒绝,则去掉 --materials 回退为文生视频;纯文生视频则直接用 create 提交。用 wait 命令等待全部完成(可设超时),或用 batch-generate.sh 做严格串行生成。镜头陆续完成后展示结果,用户可全部接受并进入合成、重生成指定镜头(可微调提示词)或暂停后继续。

阶段六:下载、合成与交付 视频 URL 一小时后过期,须立即下载:逐任务用 result 取 videoUrl 并 curl 保存为 videos/S{n}.mp4。随后自动拼接:生成 concat.txt 后用 ffmpeg -f concat 无损拼接为最终 mp4。输出片段汇总表(镜头、时长、任务 ID、文件、状态)。转场建议:同一场景内用硬切;不同地点用 0.3-0.5 秒交叉溶解;用甩镜/运动模糊掩盖难以衔接处的连续性断裂。若存在音乐,在 CapCut、Premiere 或 DaVinci 中导入拼接后的成片,静音所有 AI 生成音轨,把 bgm 文件放在音轨上并对齐 0:00(节拍已匹配),保留需要的 AI 音频作为音效并修剪,按项目比例以 30fps 或 60fps 导出。重生成单个镜头时,修改 project.json 中该镜头的提示词后再重新提交。

适用场景与限制:适合从故事概念出发制作带节拍卡点的多镜头 AI 短片,尤其是需要角色与风格跨镜头一致、需要先做分镜预览再批量生成的项目。依赖 Seedance 生成与 renoise-cli 工具链,片段时长受 5-15 秒约束,含真实人脸的参考图不可用,音乐需另行获取或生成,成本以实际估算为准,具体收费与价格暂未提供。