第 13 章 文生图入门:让 AI 为你作画
🎨 本章特色:从零开始理解"文生图"技术,学会安装和使用 zhz-image-gen 技能(Skill)生成单张图片,再用 zhz-picture-story-book 技能创作完整连环画,实战环节带你做出《狼来了》三页故事绘本。
本章目录:
| 节 | 内容 | 你将学到 |
|---|---|---|
| 1 | 文生图技术概述 | 什么是文生图、扩散模型原理、发展历程、主流模型概览 |
| 2 | 图像基础知识与提示词技巧 | 像素与分辨率、位图与矢量图、PNG 等格式、颜色定义、提示词黄金公式 |
| 3 | zhz-image-gen 技能 | 安装配置、命令行参数、模型选择、单张图片生成 |
| 4 | zhz-picture-story-book 技能 | 连环画工作流、画风选择、角色一致性、PDF 输出 |
| 5 | 实战:《狼来了》连环画 | 从故事构思到三页绘本的完整创作过程 |
| 6 | 总结与进阶 | 核心知识回顾、课后练习 |
1. 文生图技术概述
1.1 什么是文生图?
文生图(Text-to-Image),就是用文字告诉 AI 你想要什么画面,AI 从零开始"画"出来。
举个例子,你输入一句话:
"黄昏时分,永定河卢沟桥畔,几只白鹭掠过水面,远处的西山被晚霞染成金色,中国水墨画风格"
几秒钟后,屏幕上出现一张从未存在过的画,构图、色彩、光影全部由 AI 完成。它不是从素材库里搜一张现成的图,而是真的从噪声中生成一张全新的图片。
用更专业的说法:文生图是一个条件生成任务,以你的文字描述为"条件",生成符合条件的图像像素。
1.2 扩散模型:从噪声到画面
目前主流的文生图模型都基于一种叫扩散模型(Diffusion Model) 的技术。它的核心思想出人意料地简单,可以拆解为三个关键步骤:
- 正向扩散(加噪):这是一个固定的数学过程。拿一张清晰照片,按预设规则一步步注入高斯噪声,直到它彻底变成纯随机的“雪花屏”。这一步不需要训练,仅仅是为了制造“题目”。
- 反向学习(训练):让神经网络反复观察“加噪过程”,学会预测每一步被加入的噪声是什么。通过千万次练习,网络掌握了从噪声中还原图像的规律。
- 条件生成(推理):从一团纯噪声出发,利用训练好的网络一步步“减去”预测出的噪声。此时,你的文字提示词会被编码为向量,在每一步去噪时引导减噪的方向,确保生成的画面符合描述。
简短总结:
- 正向过程:一个预先定义好的加噪过程,把清晰图片逐步变成纯噪声。
- 训练阶段:训练神经网络学会逆向的去噪过程。
- 生成阶段:从纯噪声出发,用训练好的网络逐步去噪,生成图像。

当你输入“永定河畔的白鹭”时,这段文字会被编码成向量,然后在每一步去噪时引导图像生成的方向。就像一位画师在浓雾中,根据你说的话一步步摸索着画出画面。
💡 不需要理解数学公式,你只需要记住一件事:描述得越准确,出来的图越好。这就是"提示词工程"的意义。
1.3 关键概念速查
| 概念 | 一句话解释 | 生活类比 |
|---|---|---|
| 扩散模型 | 从噪声中逐步"雕刻"出图像 | 雕塑家从大理石中凿去多余部分 |
| 提示词(Prompt) | 你写给 AI 的画面描述 | 给画师的创作指示 |
| 负面提示词 | 告诉 AI "不要什么" | "不要画太暗""不要文字水印" |
| CFG Scale | 文字引导的严格程度 | 越高越"听话",但太高会过饱和和色彩失真等 |
| 采样步数 | 去噪迭代次数 | 步数越多越精细,但更慢 |
| 宽高比 | 图片的长宽比例 | 16:9 宽屏、3:4 竖版、1:1 正方形 |
1.4 文生图发展简史
文生图不是突然冒出来的,它经历了清晰的演进:
| 时间 | 里程碑 | 意义 |
|---|---|---|
| 2021 | DALL·E(OpenAI) | 首次展示"文字生成图片",震惊业界 |
| 2022 | Stable Diffusion 开源 | 免费可本地运行,社区大爆发 |
| 2023 | Midjourney v5、DALL·E 3 | 照片级真实感,与 ChatGPT 集成 |
| 2024 | FLUX、Stable Diffusion 3 | 开源模型质量追平商业模型 |
| 2025 | 通义万相 2.0 | 国产模型崛起,中文理解最优 |
| 2026 | 通义万相 2.7/3.0、FLUX 2 | 视频生成、3D 生成全面铺开 |
🔑 对中国用户来说最重要的变化:阿里的通义万相系列模型已经能直接理解中文提示词,不再需要先把中文翻译成英文。这正是本章后续实战选择它的原因。
1.5 主流文生图模型一览
| 模型 | 开发者 | 中文支持 | 适合场景 | 价格 |
|---|---|---|---|---|
| 通义万相 3.0 | 阿里巴巴 | ⭐⭐⭐⭐⭐ | 中文场景首选 | API 按量计费 |
| FLUX | Black Forest Labs | ⭐⭐⭐ | 本地部署、高质量通用 | 免费(自部署) |
| DALL·E 3 | OpenAI | ⭐⭐⭐ | ChatGPT 对话式生图 | ChatGPT Plus 包含 |
| Midjourney | Midjourney | ⭐⭐ | 艺术插画 | $10/月起 |
| Stable Diffusion 3 | Stability AI | ⭐⭐ | 本地部署、深度定制 | 免费(自部署) |
💡 本章选择通义万相:中文提示词直接用、API 稳定、价格合理、OpenClaw 集成最成熟。
2. 图像基础与提示词技巧
在使用文生图工具之前,我们先补几节"美术课"的基础知识。这些概念在日常使用电脑、手机时也会用到,理解了它们,你就能更好地控制 AI 生成的图片质量和用途。
2.1 像素与分辨率
像素(Pixel) 是数字图像的最小单位。你可以把一张数字图片想象成一幅巨大的十字绣:每一针就是一个像素,每个像素有自己的颜色。成千上万个像素排列在一起,就组成了一张完整的画面。
分辨率 就是一张图片的像素总数,通常用"宽 × 高"来表示。例如:
| 分辨率 | 像素总数 | 常见用途 |
|---|---|---|
| 512 × 512 | 约 26 万像素 | AI 生图的草稿尺寸 |
| 1024 × 1024 | 约 105 万像素 | AI 生图的常用尺寸,文章配图 |
| 1920 × 1080 | 约 207 万像素 | 全高清屏幕(1080p) |
| 3840 × 2160 | 约 830 万像素 | 4K 超高清屏幕 |
💡 像素越多,画面越精细,但文件也越大。AI 文生图通常生成 1024×1024 的图片,对于屏幕浏览已经足够清晰。如果需要印刷,可能需要用分辨率工具放大。
2.2 位图与矢量图
数字图片分为两大类:位图和矢量图。它们有本质区别。
位图(Bitmap / Raster Image)
位图就是由一个个像素点组成的图片。你用手机拍的照片、AI 生成的图片、屏幕截图,都是位图。
位图的特点:
- 放大后会变模糊,出现"马赛克"(像素方块)
- 文件保存的是每个像素的颜色信息
- 适合表现复杂的光影、色彩渐变、照片质感
矢量图(Vector Image)
矢量图不是由像素组成,而是由数学公式描述的几何图形(点、线、曲线、多边形)组成。
矢量图的特点:
- 无限放大不失真,无论放到多大都清晰锐利
- 文件保存的是"画一个半径 50 的红色圆"这类指令
- 适合 Logo、图标、字体、简单插画
| 对比项 | 位图 | 矢量图 |
|---|---|---|
| 组成 | 像素点阵列,每个像素存储固定颜色值 | 路径、锚点、曲线的数学公式描述的几何图形 |
| 放大效果 | 失真、模糊、出现马赛克 | 始终清晰锐利 |
| 擅长表现 | 照片、复杂光影、渐变 | Logo、图标、字体、几何图形 |
| 常见格式 | PNG、JPG、BMP | SVG、AI、EPS |
| AI 文生图 | ✅ 主流模型生成的都是位图 | ❌ 不直接生成矢量图 |
💡 本章涉及的图片都是位图。如果你想把 AI 生成的图用作 Logo,可以用专门的工具将位图转换为矢量图(这个过程叫"矢量化"或"描摹")。
2.3 常见图片格式
AI 生成的图片通常保存为 PNG 格式,但你可能还会遇到其他格式。了解它们的区别,能帮你选对格式。
| 格式 | 全称 | 特点 | 适用场景 |
|---|---|---|---|
| PNG | Portable Network Graphics | ✅ 无损压缩 ✅ 支持透明背景 ❌ 文件较大 |
AI 生图首选、需要透明底、无损保存,适合需要反复编辑的场景 |
| JPG/JPEG | Joint Photographic Experts Group | ✅ 文件小,压缩率高 ❌ 有损压缩,细节丢失 ❌ 不支持透明 |
照片分享、网页加载优化 |
| BMP | Bitmap | ✅ 完全不压缩,无损失 ❌ 文件极大 |
很少使用,特殊场景 |
| SVG | Scalable Vector Graphics | ✅ 矢量图,无限放大 ✅ 文件小(简单图形) |
Logo、图标、网页动画 |
| WebP | Web Picture | ✅ 比 JPG 小 25%-35% ✅ 支持透明和动画 |
现代网页图片 |
💡 简单记忆:
- AI 生成的图片 → 用 PNG(画质最好)
- 发朋友圈/微信 → 用 JPG(文件小,传输快)
- 做网站/Logo → 用 SVG(清晰且小)
2.4 PNG 格式详解
因为 AI 文生图主要输出 PNG 格式,我们多说几句。
PNG 有两个重要优势:
优势一:无损压缩
PNG 使用无损压缩算法,保存和读取后的像素完全一致,不会丢失任何画面细节。相比之下,JPG 每次保存都会损失一些细节(就像反复复印文件,越复印越模糊)。
优势二:支持透明背景(Alpha 通道)
PNG 的每个像素除了 RGB 三种颜色,还有一个额外的 Alpha 通道,用来表示"这个像素有多透明"。
| Alpha 值 | 含义 |
|---|---|
| 255(FF) | 完全不透明 |
| 128(80) | 半透明 |
| 0(00) | 完全透明(看不见) |
这意味着 PNG 可以做出"没有背景"的图片,比如一个单独的角色形象,背景是透明的,可以叠加到任何底图上。这在连环画制作和海报设计中非常有用。
RGBA 表示法是一种在 RGB(红、绿、蓝)色彩模型基础上增加 Alpha(透明度)通道的颜色表示方法。
有了 Alpha 通道,颜色就用四个分量表示:RGBA(红, 绿, 蓝, 透明度)。例如:
RGBA(255, 0, 0, 255)= 纯红色,完全不透明RGBA(255, 0, 0, 128)= 纯红色,半透明RGBA(0, 0, 0, 0)= 完全透明(看不见)
2.5 RGB 色彩模型
计算机屏幕上的所有颜色,都由三种光混合而成:红(Red)、绿(Green)、蓝(Blue)。这就是 RGB 色彩模型。
R = Red(红)、G = Green(绿)、B = Blue(蓝),是加色法(光)的三原色,用于屏幕、显示器、投影等等。
每种颜色的强度范围是 0 到 255:
| 颜色 | RGB 值 | 说明 |
|---|---|---|
| 纯黑 | (0, 0, 0) | 三种光都没有,屏幕就是黑的 |
| 纯白 | (255, 255, 255) | 三种光全部拉满 |
| 纯红 | (255, 0, 0) | 只有红光,最亮 |
| 纯绿 | (0, 255, 0) | 只有绿光,标准纯绿 |
| 纯蓝 | (0, 0, 255) | 只有蓝光 |
| 纯黄色 | (255, 255, 0) | 红光 + 绿光混合 |
| 纯紫色 | (128, 0, 128) | 红光 + 蓝光各半 |
💡 生活中的类比:RGB 就像调色盘上的三管颜料。红色管和绿色管挤在一起,就变成黄色。三管都挤满,就是白色。
2.6 十六进制颜色码
在设计和编程中,人们更习惯用十六进制(Hex)来写颜色。格式是:
#RRGGBB
其中:
#是固定前缀,表示"这是一个颜色码"RR是红色分量(两位十六进制数)GG是绿色分量BB是蓝色分量
十六进制和十进制的对应关系:
| 十进制 | 十六进制 | 说明 |
|---|---|---|
| 0 | 00 |
最暗(没有这个颜色) |
| 128 | 80 |
中间值 |
| 255 | FF |
最亮(这个颜色拉满) |
网页设计常见颜色的十六进制写法:
| 颜色 | RGB | 十六进制 | 视觉效果 |
|---|---|---|---|
| 黑色 | (0, 0, 0) | #000000 |
⬛ |
| 白色 | (255, 255, 255) | #FFFFFF |
⬜ |
| 红色 | (255, 0, 0) | #FF0000 |
🟥 |
| 绿色 | (0, 128, 0) | #008000 |
🟩 |
| 蓝色 | (33, 150, 243) | #2196F3 |
🟦 |
| 黄色 | (255, 235, 59) | #FFEB3B |
🟨 |
| 橙色 | (255, 152, 0) | #FF9800 |
🟧 |
| 紫色 | (156, 39, 176) | #9C27B0 |
🟪 |
| 棕色 | (141, 110, 99) | #8D6E63 |
🟫 |
2.7 理解 #2196F3 这个蓝色
以 #2196F3 为例,拆解一下:
# 21 96 F3
│ │ │
│ │ └─ 蓝色分量:F3(十进制 243),很强
│ └──── 绿色分量:96(十进制 150),中等
└─────── 红色分量:21(十进制 33),很弱
红色很弱、绿色中等、蓝色很强,混合出来就是一种明亮清澈的天蓝色。这是 Google Material Design 中的"Blue 500",在很多 UI 设计中用作主色调。
2.8 为什么文生图需要颜色代码?
在文生图的提示词和角色定义中,颜色代码有两个重要作用:
作用一:精确指定颜色
"蓝色"这个词太模糊了。天蓝、藏蓝、宝蓝、灰蓝,差别很大。写成 #2196F3(天蓝)还是 #1A237E(深藏蓝),AI 就知道你要哪种。
作用二:保持角色一致性
在连环画创作中,同一个角色在不同页面需要穿同样颜色的衣服。如果只写"蓝色 T 恤",AI 每次生成的蓝色可能都不一样。写 蓝色 T 恤(#2196F3),就能显著提高跨页面颜色一致性。
2.9 提示词黄金公式
不管是单张图片还是连环画,写好提示词都是最重要的能力。好的提示词遵循这个公式:
主体 + 环境 + 动作 + 光线/色彩 + 风格
✅ 好的提示词:
一只灰鹤站在永定河浅滩上,低头啄食,
秋日傍晚的柔和光线,天空呈橙红色渐变(#FF7043),
水彩画风格,柔和笔触
❌ 不好的提示词:
一只鸟在河边
差距在哪?好提示词有:具体鸟种(灰鹤)、精确地点(永定河浅滩)、动作(低头啄食)、光线描述(秋日傍晚、橙红色渐变)、风格指定(水彩画、柔和笔触)。
💡 记住:AI 画师很"听话",但也很"较真"。你说得越具体,它画得越准确。
2.10 图像基础知识小结
| 概念 | 核心要点 |
|---|---|
| 像素 | 数字图片的最小单位,一个有颜色的小方块 |
| 分辨率 | 图片的宽×高像素数,越高越清晰 |
| 位图 | 由像素组成,放大模糊,AI 生成的都是位图 |
| 矢量图 | 由数学公式描述,无限放大不失真 |
| PNG | 无损压缩 + 透明背景,AI 生图首选格式 |
| Alpha 通道 | 控制像素透明度,0=全透明,255=不透明 |
3. zhz-image-gen:一句话生成单张图片
zhz-image-gen 是一个专门为中文用户设计的 OpenClaw 文生图技能。它封装了通义万相(DashScope)API,让你用一行命令就能生成高质量图片。
3.1 技能是什么?
在 OpenClaw 中,技能(Skill) 就是一个预装好的"能力包"。安装技能后,你不需要自己写 API 调用代码,只需要按技能规定的方式使用它,就像安装了一个 App 一样。
zhz-image-gen 这个技能做了这些事:
- 封装了通义万相的 API 调用逻辑
- 支持 6 种模型可选
- 支持多种宽高比和画质
- 命令行一行搞定
3.2 安装技能
在 OpenClaw 中安装技能非常简单:
# 在 OpenClaw web页面对话框中输入
/clawhub install zhz-image-gen
或者在终端中输入 clawhub install zhz-image-gen
安装完成后,技能文件会存放在:
~/.openclaw/workspace/skills/zhz-image-gen/
目录结构如下:
zhz-image-gen/
├── SKILL.md # 技能说明文档
└── scripts/
└── main.py # 核心生成脚本
3.3 安装依赖
这个技能依赖 Python 环境和两个库:
pip install requests pyyaml
建议使用 Python 3.12 及以上;如果 pip 安装慢,可更换为国内镜像源。
pip install requests pyyaml -i https://pypi.tuna.tsinghua.edu.cn/simple
3.4 配置 API Key
通义万相 API 需要一个密钥。获取方式:
- 访问 阿里云 DashScope 控制台
- 注册/登录阿里云账号
- 在"API Key 管理"中创建一个 Key
然后在 OpenClaw 中配置:
# 设置环境变量(推荐)
# 在 OpenClaw 的 secrets 中保存
DASHSCOPE_API_KEY=sk-xxxxxxxxxxxxxxxx
3.5 基本用法
最简单的用法,一句话生成一张图:
python ~/.openclaw/workspace/skills/zhz-image-gen/scripts/main.py \
--prompt "一只可爱的泰迪狗趴在窗台上晒太阳" \
--image dog.png
就这么简单。十几秒后,dog.png 就出现在你面前。
3.6 命令行参数详解
| 参数 | 说明 | 示例 |
|---|---|---|
--prompt, -p |
提示词文本 | --prompt "永定河夕照" |
--promptfiles |
从文件读取提示词 | --promptfiles prompt.txt |
--image |
输出图片路径(必需) | --image output.png |
--model, -m |
模型选择 | --model qwen-image-3.0-pro |
--ar |
宽高比 | --ar 16:9 |
--size |
指定像素尺寸 | --size 1024x1024 |
--quality |
画质:normal 或 2k |
--quality 2k |
--ref |
参考图片(仅 wan2.7 系列) | --ref style.jpg |
3.7 选择模型
技能支持 6 种模型,按需求选择:
| 模型 | 特点 | 推荐场景 |
|---|---|---|
| qwen-image-3.0-pro | 🔹 最新、质量最高 | 正式作品、高质量插图 |
| qwen-image-3.0 | 速度快、质量好 | 日常使用、快速试图 |
| qwen-image-2.0-pro | 支持自定义尺寸 | 需要精确像素尺寸时 |
| qwen-image-2.0 | 速度快、支持自定义尺寸 | 批量生成、草稿 |
| wan2.7-image-pro | 支持参考图、最高 4K | 风格迁移、高质量 |
| wan2.7-image | 支持参考图 | 参考已有图片的风格 |
💡 新手建议:默认使用 qwen-image-3.0-pro,它在大多数场景下效果最好。
3.8 实用示例
生成横版风景图(石景山永定河):
python scripts/main.py \
--prompt "秋天傍晚,石景山永定河畔,河水倒映着西山红叶,
河岸边芦苇摇曳,几只野鸭在水面嬉戏,暖色调" \
--image yongding-river-autumn.png \
--ar 16:9 \
--quality 2k
生成竖版海报图:
python scripts/main.py \
--prompt "一杯热牛乳燕麦片放在办公桌桌面上,旁边有几本书和一台笔记本电脑,
温暖的午后阳光透过窗帘洒进来" \
--image poster.png \
--ar 3:4
从文件读取长提示词:
# 先将详细描述写入文件
echo "西城天宁寺塔,晨雾中的千年古塔,
塔身砖雕在薄雾中若隐若现,
塔檐下几只麻雀栖息,
远处隐约可见现代楼宇的轮廓,
中国水墨画风格,留白,淡墨渲染" > prompt.txt
python scripts/main.py --promptfiles prompt.txt --image tianningsi.png
3.9 配置文件(可选)
如果你想固定一些默认设置,可以创建配置文件:
# ~/.zhz-skills/image-gen/config.yaml
default_model: qwen-image-3.0-pro
default_quality: 2k
default_aspect_ratio: "1:1"
有了这个配置,每次生成图片就不用重复写 --model 和 --quality 了。
4. zhz-picture-story-book:连环画生成器
单张图片很有意思,但如果想讲一个完整的故事呢?这就轮到 zhz-picture-story-book 出场了。
4.1 什么是连环画?
连环画是中国传统的叙事形式,每一页由两部分组成:
┌──────────────────────┐
│ │
│ 插图(80%) │ ← AI 生成的画面
│ │
├──────────────────────┤
│ 文字说明(20%) │ ← 叙述旁白
└──────────────────────┘
和漫画不同,连环画更注重单幅完整场景配合文字叙事。像是一位说书人,每翻一页,给你讲一段故事、配一幅画。
4.2 技能概览
zhz-picture-story-book 是一个完整的连环画生产流水线:
故事构思 → 角色设计 → 分镜规划 → AI 生图 → 图文合成 → 输出 PDF
它会自动完成以上所有步骤,你只需要提供故事内容。
⚠️ 注意:这个技能内部调用 zhz-image-gen 生成图片,所以需要先安装 zhz-image-gen。
4.3 安装技能
# 先确保已安装 zhz-image-gen
clawhub install zhz-image-gen
# 再安装连环画技能
clawhub install zhz-picture-story-book
4.4 安装依赖
pip install Pillow fpdf2
-
Pillow 是 Python 最常用的图像处理库(PIL 的维护分支),能打开、编辑、转换、保存各种格式的图片。使用Pillow将图片和文字拼接为一页。
-
fpdf2 是轻量级的 PDF 生成库(FPDF 的现代维护版),用代码直接"画"出一份 PDF。使用fpdf2将多个图片拼接为一个PDF文件。
zhz-picture-story-book用这两个库进行
4.5 画风与画面基调:决定画面的"气质"
创作连环画时,你需要做两个关键的视觉决策:画风(画面的技法风格)和画面基调(画面的整体氛围)。两者组合在一起,决定了整本连环画的"气质"。
画风(Art Style) 控制的是 AI 用什么"笔法"来画画。就像现实中的画师,有人擅长水墨,有人擅长油画,有人画写实,有人画极简。画风决定了画面的线条质感、色彩运用和整体美学风格。
画面基调(Tone) 控制的是画面的"情绪"和"气氛"。同样是水彩画,温暖的基调会让画面笼罩在柔和的金色光线下,而戏剧化的基调则会拉高对比度、加重阴影。画面基调主要影响色彩倾向、光影对比和整体氛围。
两者的关系:画风是"怎么画",画面基调是"什么感觉"。选对组合,事半功倍。
4.6 六种画风
| 画风 | 画面特征 | 适合题材 |
|---|---|---|
| ink-brush 🖌️ | 水墨晕染,毛笔笔触,黑白灰为主,偶有淡彩点缀 | 古典故事、民间传说 |
| watercolor 🎨 | 透明轻盈,色彩自然晕开,边缘柔和,有纸张纹理感 | 儿童故事、温馨题材 |
| realistic 📷 | 写实数字绘画,光影精确,细节丰富,接近照片质感 | 历史故事、纪实题材 |
| oil-painting 🖼️ | 厚重笔触,色彩浓郁,有明显的笔触肌理和层次感 | 史诗故事、艺术题材 |
| cartoon 🎭 | 造型简化夸张,线条清晰,色彩明快,表情生动 | 儿童故事、喜剧、日常轻松题材 |
| minimalist ✏️ | 极简线条,大量留白,色彩克制,用最少的元素表达最多的意思 | 寓言、哲理故事 |
4.7 五种画面基调
| 画面基调 | 色彩与光影效果 | 营造的氛围 |
|---|---|---|
| neutral | 均衡自然色调,不偏暖不偏冷,光线均匀 | 平和叙事,客观描述 |
| warm | 暖色调为主,柔和的金色光线,阴影柔和 | 温馨、怀旧、家庭、友情 |
| dramatic | 高对比度,浓重阴影,光源集中,明暗交界分明 | 紧张、冲突、转折、高潮 |
| nostalgic | 棕褐色调,略带褪色感,像老照片一样有颗粒感 | 回忆、历史、岁月流逝 |
| action | 色彩鲜艳饱和,光线明亮,动态感强 | 战斗、运动、冒险 |
💡 组合建议:《狼来了》这种寓言故事适合 watercolor(水彩)+ warm(温暖),画面柔和有亲和力。如果是《武松打虎》这种激烈故事,则适合 ink-brush(水墨)+ dramatic(戏剧化),更有张力。
4.8 工作流八步走
这个技能的工作流非常清晰:
| 步骤 | 内容 | 谁做 |
|---|---|---|
| 1 | 故事规划,拆分场景、确定页数 | AI |
| 2 | 确认,审阅故事板和画风 | 你 |
| 3 | 生成故事板,详细的场景描述和角色定义 | AI |
| 4 | 生成提示词,每页的图片生成指令 | AI |
| 5 | 生成插图,调用 zhz-image-gen 生图 | AI |
| 6 | 合成页面,图片 + 文字排版 | AI |
| 7 | 合并 PDF,所有页面合成一本书 | AI |
| 8 | 完成报告,交付成果 | AI |
你只需要在第 2 步确认一下故事板和画风,其余全自动。
4.9 输出文件结构
picture-story/{主题简称}/
├── storyboard.md # 故事大纲与分镜
├── characters.md # 角色视觉定义
├── prompts/ # 每页的图片提示词
│ ├── 01-page-xxx.md
│ └── 02-page-xxx.md
├── illustrations/ # AI 生成的原始插图
│ ├── 01-page-xxx.png
│ └── 02-page-xxx.png
├── pages/ # 最终合成页面(图+文)
│ ├── 01-page-xxx.png
│ └── 02-page-xxx.png
└── {主题简称}.pdf # 最终 PDF
4.10 角色一致性
连环画最大的挑战是角色一致性,同一个角色在不同页面得看起来是同一个人。
这个技能的解决方案:
1. 在 characters.md 中定义每个角色的精确视觉描述(包括颜色的十六进制值)
2. 每页的生成提示词都包含完整的角色特征
3. 跨所有页面使用一致的颜色代码
💡 小贴士:角色描述越详细,跨页面的一致性越好。比如不要只说"一个男孩",而要说"一个 10 岁男孩,短发,穿蓝色 T 恤(#2196F3),红色短裤(#F44336),白色运动鞋(#FFFFFF)"。有了这些精确的颜色代码,AI 在每个页面都会画出同样的衣服。
5. 实战:创作《狼来了》三页连环画
现在动手!我们要创作一个经典的《狼来了》故事连环画,三页,用水彩画风格讲述这个流传千年的寓言。
5.1 故事梗概
《狼来了》是伊索寓言中最著名的故事之一:
一个放羊娃每天在山坡上放羊,无聊之余两次大喊"狼来了"骗村民上山救他。村民气喘吁吁赶来,发现上当,愤愤离去。第三次,狼真的来了,放羊娃拼命呼救,却再也没人相信他。羊群被狼吃掉。
三页刚好能讲完这个故事:
- 第一页:放羊娃第一次撒谎
- 第二页:第二次撒谎,再次上当,村民不再信任
- 第三页:狼真的来了,无人来救
5.2 开始创作
在 OpenClaw 对话框中输入:
请用 zhz-picture-story-book 技能,帮我创作《狼来了》连环画。
要求:
- 3 页
- 水彩画风格(watercolor)
- 温暖画面基调(warm)
- 竖版(3:4)
- 中文
5.3 AI 会做什么
步骤 1:故事规划
AI 会自动拆分故事为三个场景,写入 storyboard.md:
---
title: "狼来了"
topic: "wolf-is-coming"
page_count: 3
art_style: "watercolor"
tone: "warm"
aspect_ratio: "3:4"
language: "zh"
---
# 狼来了 故事板
## 第 1 页:恶作剧
**场景**:放羊娃站在山坡上,手捂嘴巴大喊,远处村民匆忙跑上山来
**角色**:放羊娃、村民
**文字说明**:从前有个放羊娃,每天在山坡上看羊。他觉得太无聊了,
就朝山下大喊:"狼来了!狼来了!救命啊!"村民们放下手中的活,
气喘吁吁跑上山来,却发现一只狼也没有。放羊娃笑得前仰后合。
## 第 2 页:信任崩塌
**场景**:放羊娃再次大喊,山下的村民们摇头摆手,不再上山
**角色**:放羊娃、村民
**文字说明**:过了几天,放羊娃又喊:"狼来了!这次是真的!"
村民们互相看看,摇摇头说:"又骗人呢,别理他。"
没有一个人上山。放羊娃觉得更好玩了。
## 第 3 页:真正的狼
**场景**:一只大灰狼从树林里钻出来,羊群惊恐逃散,放羊娃吓得大哭
**角色**:放羊娃、狼、羊群
**文字说明**:又过了几天,一只真正的大灰狼从树林里窜了出来!
放羊娃吓得拼命喊:"狼来了!狼来了!这次是真的!"
可是山下的村民们听到了,只是笑笑说:"又骗人呢。"
没有人来救他。
步骤 2:确认
AI 会向你展示上面的故事板,询问:
📋 故事板已准备好:
- 画风:水彩画(watercolor)
- 画面基调:温暖(warm)
- 页数:3 页确认开始生成吗?
你回答"确认"即可继续。
步骤 3-4:角色定义和提示词
AI 会生成角色定义(characters.md)和每页的详细提示词文件。
角色定义示例:
# 角色定义 狼来了
## 放羊娃
- **角色**:主角
- **外貌**:10 岁左右的男孩,圆脸,大眼睛,皮肤晒得微黑
- **服装**:白色粗布短衫(#FAFAFA),棕色短裤(#8D6E63),
草帽(#D7CCC8),赤脚或穿草鞋
- **标志性特征**:头上歪戴的草帽,手里一根放羊的长竹竿
## 村民
- **角色**:配角
- **外貌**:三四个中年农夫,朴实的面容
- **服装**:灰色或土黄色的粗布衣裳(#9E9E9E / #A1887F)
- **标志性特征**:扛着锄头或扁担
## 大灰狼
- **角色**:反派
- **外貌**:体型壮硕的灰狼,灰褐色毛发(#5D4037),
黄色眼睛(#FFC107),尖牙外露
- **标志性特征**:尾巴蓬松,眼神凶狠
注意角色定义中每个颜色都标注了十六进制色值。白色粗布短衫是 #FAFAFA(不是纯白 #FFFFFF,而是略带暖意的米白),棕色短裤是 #8D6E63(深棕色),大灰狼的毛发是 #5D4037(深灰褐)。这些精确的颜色码确保了三页连环画中角色外观一致。
步骤 5:生成插图
AI 逐页调用 zhz-image-gen 生成三张插图。每页大约 15 到 30 秒。
步骤 6-7:合成与导出
AI 自动把图片和文字合成为最终页面,并合并为 PDF。
5.4 完成报告
连环画完成!
标题:狼来了 | 画风:watercolor | 画面基调:warm | 页数:3
位置:picture-story/wolf-is-coming/
✓ storyboard.md
✓ characters.md
✓ illustrations/(原始插图)
✓ pages/(最终页面含文字)
✓ prompts/(每页提示词)
✓ wolf-is-coming.pdf
打开 PDF,你会看到三页精美的水彩画连环画:每页上方是 AI 生成的场景插画,下方是清晰排版的中文叙述文字。
5.5 实际效果预期
| 页面 | 画面内容 | 文字内容 |
|---|---|---|
| 第 1 页 | 山坡上,放羊娃捂嘴偷笑,远处村民慌张跑上来 | 第一次撒谎的故事 |
| 第 2 页 | 放羊娃再次大喊,山下村民摇头不去 | 信任崩塌 |
| 第 3 页 | 大灰狼出现,羊群惊散,放羊娃大哭 | 真正的狼来了 |
5.6 换个画风试试
同样的故事,换个画风就是完全不同的味道:
请用 ink-brush 画风、dramatic 画面基调重新生成《狼来了》
水墨画风的《狼来了》会有一种中国传统民间故事的质感,而 dramatic 画面基调会让画面更有戏剧张力。
你也可以尝试:
| 画风 | 效果 |
|---|---|
minimalist + neutral |
极简哲理绘本 |
oil-painting + nostalgic |
西方经典寓言的油画质感 |
6. 总结与进阶
6.1 本章核心知识回顾
| 知识点 | 关键要点 |
|---|---|
| 扩散模型 | AI 从噪声中"去噪"生成图像,你的文字引导去噪方向 |
| RGB 与十六进制 | 颜色用 #RRGGBB 精确表示,如 #2196F3 是天蓝色 |
| 提示词黄金公式 | 主体 + 环境 + 动作 + 光线/色彩 + 风格 |
| zhz-image-gen | 一行命令生成单张图片,支持 6 种模型 |
| zhz-picture-story-book | 自动完成从故事到 PDF 的全流程 |
| 画风与画面基调 | 6 种画风 × 5 种画面基调 = 30 种组合 |
| 角色一致性 | 详细的角色定义 + 精确的颜色代码 |
6.2 课后练习与进阶
- 基础:用
zhz-image-gen生成 3 张不同风格的小猫图片(写实、水彩、水墨) - 进阶:用
zhz-picture-story-book创作一个你喜欢的故事连环画(3 到 5 页),注意在角色定义中使用精确的十六进制颜色码 - 挑战:用不同画风重新生成同一个故事,比较效果差异,选出你最满意的版本
掌握了本章的基础后,可以继续探索: 批量创作,结合 OpenClaw 的自动化能力,批量生成系列绘本。
本章完
本文为《OpenClaw 实战指南》系列第 13 篇。