AI 应用人工智能媒体生成音视频AI Agent后端前端【免费下载链接】huobao-drama 火宝短剧 - 基于AI的一站式短剧生成平台 《一句话生成完整短剧从剧本到成片全自动化》 Huobao Drama - An AI-Powered End-to-End Short Drama Generator One Sentence to Complete Drama: Fully Automated from Script to Final Video项目地址https://gitcode.com/gh_mirrors/hu/huobao-drama点击查看免费下载角色一致性是 AI 短剧生产中最棘手的问题之一——同一角色在不同分镜、不同视频片段中出现时如果脸型、发型、服装出现漂移观众立刻出戏。火宝短剧Huobao Drama的解法是把角色形象固定在一张**角色设定参考图character reference sheet**上左侧正脸特写提供脸部辨识度锚点右侧三张等高全身视图锁定发型与服装全剧所有角色图片与视频生成都以这张图为形象锚点。本文将以backend/workspace/skills/prompt-generator/character-prompt/SKILL.md为骨架结合仓库源码完整解析该规范的设计思想、输出结构、描述规则与底层调用链并给出可直接落地执行的提示词写作方法。角色参考图在 AI 短剧流水线中的定位火宝短剧的资产提示词体系分为三类各有专属技能规范角色走三视图character turnaround、场景走固定视角 前/中/后景分层、道具走白底单品静物。三个规范分别由prompt-generator/character-prompt、prompt-generator/scene-prompt、prompt-generator/prop-prompt三个 SKILL 文件承载并在 Agent 注册表 中通过AGENT_SKILL_MAP一并挂载到prompt_generator这个专门负责创作并保存「最终提示词」的 Agent 上prompt_generator: [ prompt-generator/character-prompt, prompt-generator/scene-prompt, prompt-generator/prop-prompt, prompt-generator/video-prompt, ],其中角色规范是整个体系的锚点——extractorAgent 从剧本中提取角色的appearance样貌与styling妆造描述后prompt_generatorAgent 按本文规范将它们扩展为一张中性、清晰、可复用的设定参考图提示词后续所有角色图片生成与视频生成都依赖它维持形象统一。核心原则一致性 美观规范开宗明义“核心原则一致性 美观。这张图是后续所有角色图片、视频参考的形象锚点必须中性、清晰、可复用——不要追求单张图的艺术感。”这意味着角色参考图追求的不是惊艳而是可辨识、可复用中性站姿、自然表情、柔和均匀的棚拍光让这张图能在各种场景、各种剧情环境下反复作为参考而不产生误导。任何追求单张图艺术感的做法戏剧性光影、夸张姿势、华丽背景都会削弱它作为参考图的通用性是规范明确反对的。构图规范左侧正脸特写 右侧三视图生成的是一张角色设定参考图character reference sheet构图固定为区域内容作用左侧正脸特写——头部与肩部的正面近景五官、发型、肤质清晰可见作为脸部辨识度锚点右侧正面、90 度侧面、背面三张等高全身视图同一角色三个角度的全身视图等高并排头顶与脚底对齐锁定体态、发型与服装这张图的构图逻辑非常明确脸部的辨识度由特写提供身体的完整性由三视图提供。生图模型在同时获得“特写级五官细节 全身多角度着装”两个维度的约束后才能稳定输出后续可复用的形象锚点。输出结构按顺序组装单段连贯描述SKILL 规定输出必须按下列顺序组装单段连贯描述语言跟随会话语言指令指定的目标语言不得分点、不得混入无关词汇角色设定参考图左侧为正脸特写右侧并列展示正面、90 度侧面、背面三张等高全身视图 特写与全身视图都是同一角色全身入镜中性 A 字站姿三张全身视图等高并排、头顶脚底对齐 [年龄感 性别感 体态][五官特征][发型][服装 配饰] 正脸特写与三个视图的脸、发型和服装完全一致 纯白背景柔和均匀的光线电影质感这段模板实际上划分为三层语义构图层明确“左侧特写 右侧三视图”的版式、等高并排、头顶脚底对齐的几何约束内容层四个占位符[年龄感 性别感 体态]、[五官特征]、[发型]、[服装 配饰]由 Agent 根据角色资料填充一致性声明层显式写出“正脸特写与三个视图的脸、发型和服装完全一致”环境层纯白背景、柔和均匀光线、电影质感。值得注意的是输出模板本身刻意写明了“特写与全身视图都是同一角色”“三个视图的脸、发型和服装完全一致”这类自指约束这是为了对抗扩散模型在多视图生成中常见的“各视图之间角色漂移”问题——把一致性要求写进提示词本身而不是依赖模型自觉。描述顺序规则最有辨识度的特征放前面规范要求把最有辨识度的特征放在前面依次落地appearance样貌与styling妆造的每个关键元素不遗漏身份锚点年龄感如“二十出头”、性别感、体态高矮胖瘦、姿态习惯五官脸型、眼睛、其他显著特征疤、痣、眼镜等——正脸特写尤其依赖这部分描写发型颜色、长度、样式服装款式、颜色、材质、状态如“袖口有焊锡痕迹的皱褶工服”配饰只写有辨识度的不堆砌。这条顺序规则的深层原因在于提示词越靠前的信息在生图模型中的权重越高。把身份锚点和五官放在最前可以最大化保证脸部辨识度优先被满足而服装、配饰放在后面既不影响脸部一致性又给了模型足够的自由度去表现细节。规范还特别强调一个转化技巧角色的性格特点要转化为外在气质与神态描写不要直接出现性格词汇。例如“憔悴”要写成“眼神疲惫、肩膀微垮”而非直接写“一个憔悴的人”——因为生图模型对抽象性格词的理解极不稳定而对具体神态、体态的描写则可靠得多。这一要求与extractorAgent 的角色提取规范完全呼应见 agents/index.ts 中的 extractor 定义“角色的性格特点要转化为外在气质与神态融入样貌描写不要单独输出性格字段”。构图与一致性细则规范对参考图的每个细节都做了硬性约束左侧正脸特写正面朝向镜头、中性表情、头顶到肩膀完整入镜右侧三张全身视图同一角色的正面、90 度侧面、背面等高并排、间距均匀头顶与脚底在同一水平线上跨视图一致性特写与三张全身视图必须是同一张脸、同一发型、同一服装——明确写出“正脸特写与三张全身视图的脸、发型和服装完全一致”中性站姿、自然表情方便作为参考图复用柔和均匀的棚拍光不要戏剧性光影参考图要在各种场景下都能用语言输出使用会话语言指令指定的目标语言不要混入无关词汇。禁止事项参考图的红线清单规范明确列出以下禁止项任何一条都不允许出现在角色参考图提示词中动态姿势、夸张表情、手持道具、与他人同框裁切身体——全身视图必须 full body头顶到脚底完整入镜特写必须头部肩部完整入镜文字、标签、水印、签名重阴影、彩色背景光、背景道具。这些禁止项全部服务于“参考图复用性”这一目标动态姿势和夸张表情会干扰跨场景复用文字/水印会在后续生图时污染画面重阴影和彩色背景光则会让参考图在其他场景下难以混用。保存与风格注入save_character_final_prompt 源码解析SKILL 的保存章节规定调用save_character_final_prompt保存最终提示词prompt 参数不含风格词项目视觉风格由工具自动注入到最终提示词的最前方。该工具实现在 image-prompt-tools.tsid: save_character_final_prompt其保存逻辑正是这一约定的落地const stylePrompt await getDramaStylePrompt(dramaId) const finalPrompt stylePrompt ? ${stylePrompt}, ${prompt} : prompt await db.update(schema.characters) .set({ finalPrompt, updatedAt: now() }) .where(eq(schema.characters.id, character_id))关键机制有三点风格前置拼接项目绑定的视觉风格来自 style-preset.ts 的getDramaStylePrompt被拼接到 prompt 最前方形成风格词, 角色三视图提示词的最终串。风格词位于最前享受最高的提示词权重——这正是 SKILL 要求“prompt 参数不含风格词”的原因风格由系统统一注入Agent 只管写角色本身避免风格词重复或冲突落库存储拼好的finalPrompt写入characters表的final_prompt字段Drizzle 表定义与 MySQL DDL 中的final_prompt TEXT均可验证见 final-prompt-structure.test.mjs作为角色的权威形象描述持久化配套读取工具同文件中的read_characters工具负责向 Agent 提供角色资料name / role / description / appearance / styling / final_promptAgent 先读后写形成完整闭环。流水线中的调用链从懒生成到生图优先角色最终提示词并非创建角色时立即生成而是在真正需要时由 final-prompt.ts 的ensureCharacterFinalPrompt懒加载生成export async function ensureCharacterFinalPrompt(char, episodeId, force false, opts?) { if (char.finalPrompt !force) return char.finalPrompt // 已有则直接复用 // 缺失时调用 prompt_generator Agent 创作并保存 await runPromptAgent(episodeId, char.dramaId, 为角色「${char.name}」(character_id${char.id}) 生成三视图最终提示词并调用 save_character_final_prompt 保存。, opts) const [fresh] await db.select().from(schema.characters).where(eq(schema.characters.id, char.id)) return fresh?.finalPrompt || }调用链全景如下extractorAgent 从剧本提取角色并填充appearance/styling生图前characters.ts 路由调用ensureCharacterFinalPrompt若角色已有final_prompt直接复用否则以character_id为上下文唤起prompt_generatorAgentAgent 先通过read_characters读取角色资料按本文 SKILL 规范创作三视图提示词再调用save_character_final_prompt保存风格词由工具自动前置注入生图时const prompt finalPrompt || characterImagePrompt(char, stylePrompt)——存储的最终提示词优先仅在 Agent 生成失败返回空串时才回退到本地的机械拼接函数用户手动编辑角色描述字段时路由会把final_prompt置空updates.finalPrompt null下次生图时自动重新生成保证提示词永远与最新资料同步。技能注入机制SKILL.md 如何到达 Agent本文规范之所以能约束 Agent 行为靠的是 skills.ts 的技能注入机制Agent 启动时每个 Agent 拥有独立 WorkspaceskillWorkspaces其中prompt_generator的 workspace 通过前缀匹配挂载prompt-generator/character-prompt等四个技能目录scanSkillPaths()递归扫描backend/workspace/skills/下所有含SKILL.md的目录设置页新建的子技能无需重启即可被发现动态 resolverloadAgentSkills把技能全文以## Skill: path段落格式拼接到 Agent 的 instructions 中与基础 prompt 文件prompt_generator.md和语言指令块共同构成完整指令技能目录支持多语言变体character-prompt/下同时存在SKILL.en.md、SKILL.ja.md、SKILL.ko.md当会话语言指令为 zh 之外的目标语言时readLocalizedSkill优先读取SKILL.lang.md缺失时回退中文基础版见 skills.ts 中readLocalizedSkill/loadAgentSkills的实现。同时prompt_generator.md以及 agents/index.ts 中的默认指令明确了 Agent 的工作流调用read_characters读取资产信息 → 按对应资产的技能规范角色三视图 / 场景固定视角 / 道具白底单品创作最终提示词 → 调用保存工具逐个保存并强调“必须实际调用保存工具不要只在回复中给出提示词”。测试验证与可维护性仓库用结构测试锁定了这套规范的落地形态见 final-prompt-structure.test.mjs验证characters/scenes表存在final_prompt TEXT字段Drizzle 定义 MySQL DDL backfill验证保存工具存在save_character_final_prompt、调用getDramaStylePrompt并执行set({ finalPrompt, updatedAt: now() })落库验证技能文件本身包含“正脸特写”“正面、90 度侧面、背面”“三个视图的脸、发型和服装完全一致”等必备要素验证生图服务优先使用存储的最终提示词且finalPrompt缺失时由 Agent 生成、失败时回退本地拼接。这意味着任何人修改角色三视图规范时都能通过测试确认其核心要素与调用链未被破坏——规范不仅是文档更是被测试守护的产品约束。总结一张参考图锚定全剧形象角色三视图最终提示词规范的价值在于把“角色一致性”这一 AI 生成的老大难问题拆解成了可执行的工程约束构图固定、描述有序、风格注入统一、存储与复用闭环、测试守护。写作角色提示词时只需记住三个要点把辨识度最高的特征写在最前面把性格翻译成神态与体态把“一致性”显式写进提示词本身。配合save_character_final_prompt的风格自动前置注入与ensureCharacterFinalPrompt的懒生成机制火宝短剧得以用一张中性、清晰、可复用的参考图为全剧所有角色图片与视频生成锚定统一的形象基线。赞分享AI 应用人工智能媒体生成音视频AI Agent后端前端【免费下载链接】huobao-drama 火宝短剧 - 基于AI的一站式短剧生成平台 《一句话生成完整短剧从剧本到成片全自动化》 Huobao Drama - An AI-Powered End-to-End Short Drama Generator One Sentence to Complete Drama: Fully Automated from Script to Final Video项目地址https://gitcode.com/gh_mirrors/hu/huobao-drama点击查看免费下载相关推荐火宝短剧Huobao Drama角色最终提示词规范正脸特写 三视图形象锚点全解火宝短剧Huobao Drama角色最终提示词规范正脸特写 三视图形象锚点全解 本篇技术指南围绕火宝短剧Huobao Drama提示词生成 AgeAI 应用人工智能媒体生成音视频AI Agent后端前端火宝短剧角色最终提示词规范三视图形象锚点的设计、写作与保存机制火宝短剧角色最终提示词规范三视图形象锚点的设计、写作与保存机制 火宝短剧Huobao Drama在一句话生成完整短剧的自动化管线中将角色外观的稳定性AI 应用人工智能媒体生成音视频AI Agent后端前端火宝短剧提示词生成 Agent 全解析从角色三视图到分镜视频提示词的自动化工程火宝短剧提示词生成 Agent 全解析从角色三视图到分镜视频提示词的自动化工程 本文以火宝短剧huobao drama开源仓库中的提示词生成 AgentAI 应用人工智能媒体生成音视频AI Agent后端前端上一篇如何用 Scrapling 自适应抓取替代 AI 内容提取服务并对比成本下一篇超强搜索功能GitHub_Trending/ui/ui全文搜索与过滤创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考