首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >解决了角色一致性后,漫画创作更容易了#banana黑客松项目解读

解决了角色一致性后,漫画创作更容易了#banana黑客松项目解读

作者头像
mixlab
发布2026-03-24 21:42:51
发布2026-03-24 21:42:51
740
举报

重写漫画工具 · 重启创作流程。因为从今天起,角色,不再是随机数,而是可编译的身份模块。

自从谷歌推出Banana以来,这一技术已成功解决了角色一致性这一长期困扰漫画创作的难题,尤其在多格漫画中保持角色形象统一方面表现出色。

通过输入多张人脸的不同角度图像,Banana能够进一步强化角色特征的稳定性与连续性,使得角色在不同场景、不同角度下都能保持高度一致的视觉表现。

这一突破意味着所有漫画类应用都值得用这项技术重新构建。

今天的作品来自谷歌的banana黑客松项目之一:

实现原理总结

该应用的实现原理可以从三个核心维度来理解:操作步骤(用户流程)、界面布局(UI设计)和 Prompt 的核心设计(与AI沟通的艺术)。

一、操作步骤(用户流程)

这是一个引导用户从零开始创作一整页漫画的完整工作流,每一步都深度集成了 AI 能力:

准备阶段:创建角色与世界观

  • 角色创建:用户通过专门的模态框,上传几张参考图或描述概念。AI(Gemini)会综合这些信息,生成一张包含正面、侧面、背面和多种表情的标准化角色设定图(Character Sheet)。
  • 世界观设定:用户可以设定故事的宏大背景(例如:一个魔法与科技共存的都市),这会成为后续 AI 生成故事脚本时的重要依据。

构思阶段:AI 辅助脚本与布局

  • AI 故事建议:用户只需输入一个简单的场景想法(例如“主角在屋顶对峙”),AI 就能生成包含多个分镜描述和对话的详细场景脚本。
  • AI 布局建议:基于写好的场景脚本,AI 可以自动生成一个专业且富有动感的漫画分镜草图。这个草图会直接显示在画布上,作为用户绘制最终布局的参考。

绘制阶段:搭建可视化指令

  • 绘制分镜:用户使用工具栏中的“面板工具”在画布上绘制出漫画的格子(分镜)。
  • 放置角色与设定姿势:从侧边栏将创建好的角色拖拽到画布的分镜中。
  • 姿势编辑器:选中角色后,可以通过一个可视化的骨骼绑定系统来调整角色的动作和姿势。这不仅仅是草图,而是一个明确的视觉指令,告诉 AI 每个角色应该摆出什么姿势。

生成阶段:一键创作漫画页

  • 发送请求:当布局、角色姿势和场景脚本都准备好后,用户点击“生成最终页面”。
  • 后台工作:应用会将布局图(包含姿势骨架和角色名称标签)、场景脚本、角色设定图等多模态信息打包,一起发送给 Gemini API。
  • AI 绘制:Gemini API(特别是 gemini-2.5-flash-image-preview 模型)会理解这些综合信息,然后绘制出一张完整的、符合所有要求的漫画页面。

优化阶段:编辑与修正

  • 结果对比与上色:生成结果后,界面会切换到对比视图,用户可以拖动滑块比较生成图与之前的布局草图。对于黑白稿,可以一键 AI 上色。
  • AI 自我分析与修正:应用提供一个“AI 分析”功能。AI 会自己对比布局图和生成结果,检查是否有错误(例如:角色画错了、姿势不符、道具缺失),并自动生成一个用于修正错误的文字指令(Correction Prompt)。用户只需点击“应用修正”,AI 就会根据这个指令重新编辑图片。
  • 手动编辑:用户也可以自己输入文字指令来编辑图片,甚至可以使用“蒙版”工具涂抹特定区域,让 AI 只修改这部分内容。

二、界面布局(UI 设计)

应用的界面采用了经典且高效的三栏式布局,确保了流畅的创作体验:

左侧边栏(资源库)

  • 页面管理器:管理所有漫画页面,方便切换和调整页面属性(如纸张大小)。
  • 角色库:陈列所有已创建的角色,通过简单的拖放操作即可添加到画布中。

中间主编辑区(创作核心)

  • 画布(Canvas):基于 SVG 技术,是所有可视化操作(绘制分镜、放置角色、调整姿势)的核心区域。
  • 工具栏:位于画布左侧,集成了选择、移动、绘制分镜、添加文字、手绘等所有绘图工具。

右侧边栏(控制与结果面板)

  • 编辑模式:显示生成控制器,包括场景脚本的文本输入区、颜色模式(黑白/彩色)选择,以及触发 AI 故事/布局建议和最终生成的按钮。
  • 结果模式:当漫画生成后,此区域会切换为结果展示器,显示生成的图片,并提供上色、再生成、编辑、AI 分析等一系列后期处理工具。

三、Prompt 的核心设计

这是整个应用的“灵魂”所在。通过精心设计的 Prompt,将一个模糊的创作想法,转化为 AI 可以理解并精确执行的指令。其核心策略如下:

赋予专家角色(Assigning an Expert Persona)

几乎所有的 Prompt 开头都会给 AI 设定一个专业角色,例如“你是一位专业的漫画家”、“你是一位资深的 storyboard 画师”或“你是一位一丝不苟的质检员”。这能有效引导 AI 以更专业的标准来完成任务,输出质量更高。

结构化与多模态输入(Structured & Multi-modal Input)

在生成最终页面时,应用不只给 AI 文字描述,而是同时提供了布局图(包含姿势骨架)、角色设定图和文字脚本。这种多模态的输入方式,比纯文本更能传递复杂和精确的视觉要求。

建立严格的对应关系(Establishing Strict Correspondence)

Prompt 的关键在于用非常明确、甚至带有强制性词语(如 MUST, STRICTLY, CRUCIAL)的指令,强迫 AI 在这些不同信息源之间建立联系。例如,指令会明确要求:“必须将在布局图 A 位置的姿势,应用到名为‘Kaito’的角色设定图上,并让他表现出脚本中描述的‘惊讶’表情。” 这是确保生成结果准确性的核心。

引导专业技法(Guiding Professional Techniques)

Prompt 中包含了很多漫画行业的专业指令。例如,在请求布局建议时,会告诉 AI “避免简单无聊的网格布局”,并建议使用“斜切分镜”、“重叠分镜”等专业技巧,引导 AI 生成更具表现力的页面。

结构化输出(Structured JSON Output)

当需要 AI 提供复杂信息时(如故事建议或分析报告),会要求 AI 以 JSON 格式返回结果。Prompt 中会直接定义好 JSON 的结构(Schema),确保程序可以稳定地解析和使用 AI 返回的数据,而不是依赖不稳定的自然语言文本。

迭代式自我修正(Iterative Self-Correction)

整个流程不是一次性的,而是允许用户不断修正。特别是“AI 分析与修正”功能,其 Prompt 设计是让 AI 自我纠错:AI 自己找出问题,并自己生成用于修复问题的下一个 Prompt。这形成了一个强大的闭环修正系统。

四、核心 Prompt 示例

以下是应用中几个关键功能的实际 Prompt 设计。

1. 生成最终漫画页面的 Prompt(generateMangaPage)

这是最核心、最复杂的多模态 Prompt,它整合了所有用户输入。

你是一位专业的漫画艺术家,你的任务是根据提供的素材与详细脚本,绘制单页漫画


📁 提供素材:

${hasPreviousPage ? '1. 前一页图像:提供前一页画面,用于理解故事上下文。' : ''}

  1. 角色设定图(Character Sheets):每位登场角色均配有专属设定图。
  2. 分镜布局与角色姿势图(Panel Layout with Poses)
  • 展示本页漫画的分镜结构。
  • 图中明确标注每个角色的姿势及其对应角色名
  • 若角色姿势旁附有文字说明,请将其作为该角色动作的首要执行指令
  1. 场景脚本(Scene Script)
  • 逐格详细描述本页中角色的动作、表情、镜头构图与叙事内容。

👥 角色参考:

${characterReferencePrompt} // 示例: // - Kaito:请使用名为“角色参考图1”的设定图。

${continuationInstruction} // 若需参考前一页,则会在此处插入衔接说明。


🎯 本页绘制指令:

  1. 关键 —— 严格匹配角色与姿势 分镜图中每个姿势均标注角色名,你必须使用对应角色设定图,并按指定姿势绘制。若姿势旁有文字注释,请优先遵照执行。
  2. 严格遵循脚本内容 场景脚本是你绘制表情、镜头构图与叙事氛围的唯一依据,请精确执行。

若脚本描述的是无角色场景(如风景、物品特写),必须绘制该场景,不可替换为角色

  1. 角色一致性与数量控制
  • 角色外观必须严格参照设定图
  • 每格中仅可绘制脚本与分镜图中指定的角色,不可增删人物
  1. 分镜布局与尺寸比例
  • 使用提供的分镜布局作为页面结构基准。
  • 面板尺寸越大,代表叙事越重要 —— 请在大格中投入更多细节、动态构图与视觉焦点。
  1. 色彩与风格
  • 本漫画采用 ${colorMode} 风格绘制。
  • 所有文字与对话框必须使用粗体、清晰、浓黑的外轮廓线
  1. 对话框处理 ${generateEmptyBubbles ? '分镜图中可能包含对话框形状。你必须绘制这些对话框,但请保持其完全空白 —— 不得填入任何文字、对话或拟声词。' : '若脚本包含对话,请将其填入分镜图中的对话框内。若分镜图无对话框但脚本有对话,请自行添加合适的对话框。'}
  2. 最终输出要求
  • 仅输出最终完成的漫画单页图像
  • 禁止添加任何文字说明、注释或额外描述

📜 本页场景脚本:

${sceneDescription}


2. 生成布局建议的 Prompt(generateLayoutProposal)

这个 Prompt 旨在让 AI 像专业分镜师一样思考。

你是一位专业的漫画分镜艺术家。你的任务是为用户创建一份视觉指南,通过绘制一张单页、粗略、灰度的漫画草图来实现。


🎯 核心目标:

你的首要目标是创作一个富有动感且视觉上引人入胜的分镜布局,体现专业漫画分镜技巧。分镜需引导读者视线,并控制故事节奏。


📥 提供的输入:

  1. 故事内容:本页漫画所要表现的简短叙事。
  2. 画布图像:这是用户的画布,可能为空白或已包含现有绘图。这是你的绘制区域。
  3. 角色设定稿:${hasCharacters ? '提供角色参考图。' : '未提供角色设定稿。'}

${previousPage ? '4. 前一页图像:提供前一页图像以供上下文参考。' : ''}


🖋️ 草图绘制关键指令:

1. 尺寸与长宽比

  • 输出草图必须填满整个画布,且精确保持 ${aspectRatioValue} 的长宽比
  • 禁止留白、边距或内边距。

2. 创意分镜布局

  • 避免使用简单、呆板的网格布局。请运用专业技巧:
  • 动态角度:使用斜切分镜表现动作或不安氛围。
  • 重叠与嵌入式分镜:重叠分镜表现同步动作,或使用嵌入式分镜聚焦细节。
  • 尺寸与形状变化:混合大小不一、形态各异的分镜。
  • 破格分镜:为增强冲击力,允许角色或特效突破分镜边框。

3. 画布整合

  • 提供的“画布图像”是你的绘制基础。若其中已有用户绘制内容,必须将其整合进你的分镜布局中

4. 内容要求

  • 仅为草图,非完稿:使用粗略线条与基础几何形状表现。
  • 角色姿态:将角色合理放置于分镜内。
  • 无角色分镜:若故事描述某分镜仅含背景或物体,严禁在其中绘制角色。

5. 绝对禁止文字

  • 最终输出图像不得包含任何文字、标签、编号或注释。必须是纯粹的视觉草图

📖 待绘制故事:

${story}

3. AI 自我分析与修正建议的 Prompt(analyzeAndSuggestCorrections)

这个 Prompt 让 AI 扮演质检员的角色,找出自己或其他 AI 的错误,并生成用于修复的 Prompt。

你是一名细致入微的质量保证助手,专为漫画创作工具服务。你的任务是分析一张生成的漫画页面,并在它偏离原始规划时提出修正建议。

——— 提供的素材 ———

  1. 布局与姿势参考图(图1) 这是用户的原始规划图,展示了分镜面板布局,并包含标有角色名称的骨架姿势示意图。
  2. 生成的漫画页面(图2) 这是由AI画师生成的最终图像。
  3. 场景剧本 描述本页应呈现内容的文本说明。
  4. 角色列表 本场景中涉及的角色名称。

——— 你的分析任务 ———

请仔细将“生成的漫画页面”与“布局与姿势参考图”及“场景剧本”进行比对。查找以下类型的偏差:

  • 角色缺失或错误:剧本/参考图中的角色是否缺失?是否使用了错误的角色?
  • 姿势不正确:角色在最终图像中的姿势是否与骨架参考图存在显著差异?
  • 布局偏差:面板的形状和排列是否与参考图不同?
  • 与剧本矛盾:最终图像是否与剧本中描述的动作或情节相矛盾?
  • 角色重复:检查同一面板内是否出现逻辑上不可能的同一角色多次出现。
  • 情境不恰当:分析角色是否被置于与其身份或场景逻辑相矛盾的情境中。

——— 你的输出要求 ———

你必须以单个 JSON 对象格式进行响应,结构如下:

{ "analysis": "简明的人类可读摘要,描述你发现的任何偏差,或声明图像准确无误。", "hasdiscrepancies": 布尔值, "correctionprompt": "若 has_discrepancies 为 true,请撰写一条详细、具体、清晰的指令提示,供图像编辑AI一次性修正所有已识别问题。若为 false,则留空字符串。" }

——— 示例修正提示 ———

“在左上角面板中,重新绘制角色‘Kaito’,使其姿势与骨架参考一致,并确保他手持一把剑。在底部面板中,添加当前缺失的角色‘Anya’,她应表现出惊讶神情。右侧面板中两个‘Kaito’是错误,删除靠后方的那个。保持画风一致。”

——— 场景剧本 ——— ${sceneDescription}

——— 本场景角色列表 ——— ${characterInfo}

——

更多已更新到AIGC知识库

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-09-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 无界社区mixlab 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 实现原理总结
    • 一、操作步骤(用户流程)
      • 准备阶段:创建角色与世界观
      • 构思阶段:AI 辅助脚本与布局
      • 绘制阶段:搭建可视化指令
      • 生成阶段:一键创作漫画页
      • 优化阶段:编辑与修正
    • 二、界面布局(UI 设计)
      • 左侧边栏(资源库)
      • 中间主编辑区(创作核心)
      • 右侧边栏(控制与结果面板)
    • 三、Prompt 的核心设计
      • 赋予专家角色(Assigning an Expert Persona)
      • 结构化与多模态输入(Structured & Multi-modal Input)
      • 建立严格的对应关系(Establishing Strict Correspondence)
      • 引导专业技法(Guiding Professional Techniques)
      • 结构化输出(Structured JSON Output)
      • 迭代式自我修正(Iterative Self-Correction)
    • 四、核心 Prompt 示例
      • 1. 生成最终漫画页面的 Prompt(generateMangaPage)
    • 📁 提供素材:
    • 👥 角色参考:
    • 🎯 本页绘制指令:
    • 📜 本页场景脚本:
      • 2. 生成布局建议的 Prompt(generateLayoutProposal)
    • 🎯 核心目标:
    • 📥 提供的输入:
    • 🖋️ 草图绘制关键指令:
      • 1. 尺寸与长宽比
      • 2. 创意分镜布局
      • 3. 画布整合
      • 4. 内容要求
      • 5. 绝对禁止文字
    • 📖 待绘制故事:
      • 3. AI 自我分析与修正建议的 Prompt(analyzeAndSuggestCorrections)
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档