想象一下,你脑海里有一个绝妙的创意:一只穿着宇航服的柯基犬在火星表面跳华尔兹,背景是绚丽的星云。如果是五年前,你需要找插画师沟通、修改、等待,可能还要因为“柯基腿画短了”这种细节反复拉扯。而现在?你只需要敲几下键盘,或者点几个按钮,几秒钟后,那个画面就静静地躺在屏幕上,甚至比你想象的还要惊艳。
这就是AI绘画带来的魔法。但对于很多新手来说,魔法往往伴随着“惊吓”。为什么我写的提示词像天书?为什么生成的图片手指变成了六根?为什么有时候画面直接崩坏成一团马赛克?别担心,这些不是因为你缺乏艺术天赋,而是因为你还没掌握与机器“对话”的正确方式。今天,我们就把这两大主流工具——Midjourney(MJ)和Stable Diffusion(SD)掰开揉碎了讲,让你从“小白”变成能精准操控画面的“指挥官”。
第一部分:Midjourney —— 审美在线的“直觉系”艺术家
如果说Stable Diffusion是乐高积木,需要你自己一块块拼搭逻辑,那么Midjourney就是一台全自动的高端咖啡机。你只需要放入豆子(提示词),按下按钮,它就能给你一杯口感极佳的咖啡。MJ的优势在于其极高的出图质量和对艺术风格的天然理解力,非常适合那些不想折腾复杂参数、追求“开箱即用”美感的内容创作者。
1. 核心逻辑:自然语言即指令
MJ的底层逻辑是基于大量的互联网图像数据训练而成的,它非常擅长理解人类的情感词汇和艺术流派术语。你不需要懂复杂的代码,你只需要像描述一个场景那样去描述它。
新手常见误区: 很多人喜欢写:“一只狗,在公园里,很可爱。” MJ可能会给你一张普通的、略显平庸的照片。
高手写法: “一只金毛寻回犬,在阳光斑驳的中央公园草地上奔跑,浅景深,8k分辨率,电影级灯光,温暖色调,由Annie Leibovitz拍摄的风格。”
你看,加入了摄影师名字、光线描述、景深效果,画面质感瞬间提升。MJ对“风格锚点”非常敏感。
2. 提示词(Prompt)的黄金公式
为了让你不再面对“画面崩坏”的困惑,我们总结出一个适用于MJ的万能公式:
[主体描述] + [环境/背景] + [艺术风格/媒介] + [光影/色彩] + [镜头/构图] + [质量参数]
让我们拆解这个公式,并结合代码般的逻辑来看:
- 主体描述:越具体越好。不要只说“女孩”,要说“一位戴着红色贝雷帽的法国少女,有着卷曲的红发”。
- 环境/背景:决定故事发生的地点。例如“维多利亚时代的图书馆”或“赛博朋克的东京街头”。
- 艺术风格:这是提升画面逼格的关键。你可以尝试:
Unreal Engine 5 render(虚幻引擎渲染感,适合3D风格)Oil painting(油画)Pencil sketch(铅笔素描)Studio Ghibli style(吉卜力风格)
- 光影/色彩:
Cinematic lighting(电影光效),Volumetric lighting(体积光),Pastel colors(粉彩),Neon glow(霓虹光)。 - 质量参数:MJ默认会优化画质,但你可以强制指定。
3. 实战演练:解决“提示词无效”
假设你想生成一张“未来感的城市交通图”,但之前的尝试总是得到一堆乱码或奇怪的形状。
错误的提示词:
Future city traffic, bad quality
修正后的提示词:
A futuristic aerial view of a bustling metropolis, flying cars leaving light trails, neon lights reflecting on wet asphalt, cyberpunk aesthetic, highly detailed, 8k, wide angle lens --ar 16:9 --v 6.0
参数解析:
--ar 16:9:这是关键!很多新手忽略比例设置,导致画面被裁切或变形。16:9适合壁纸和宽屏展示。--v 6.0:指定使用最新的V6版本,画质更稳定,文字识别能力更强。flying cars leaving light trails:通过动态描述引导AI理解“车流”的概念,避免静态堆积。
4. MJ的“救命”技巧:U与V的选择
在MJ对话框中,每次生成会给出4张图。
- U1-U4:Upscale(放大)。当你觉得某一张构图不错但细节不够时,点击U。
- V1-V4:Variation(变体)。当你想要类似构图但不同细节时,点击V。
进阶操作:局部重绘(Inpainting) 如果画面中的人物手指有问题,或者背景有个不该出现的垃圾桶,MJ现在支持通过上传图片并涂抹区域来重新生成。
- 上传原图。
- 使用画笔工具涂抹你想修改的区域。
- 输入新的提示词,例如“replace the trash can with a flower pot”。
- 点击生成。
这种方法比从头写提示词高效得多,也是解决“局部崩坏”的神器。
第二部分:Stable Diffusion —— 掌控一切的“硬核工程师”
如果说MJ是高级餐厅,那Stable Diffusion就是拥有顶级食材和设备的私人厨房。SD是开源的,这意味着你可以完全控制它的每一个环节。当然,这也意味着你需要学习一些“技术”。对于追求极致定制、需要生成特定角色一致性、或者希望免费无限次生成的创作者来说,SD是终极答案。
1. 环境搭建:你不需要成为程序员
很多人听到SD就头大,以为要安装Python、配置CUDA、敲命令行。其实,现在有很多一键启动包(如秋叶启动器、WebUI Forge等),让安装过程变得像解压ZIP文件一样简单。
关键组件:
- 基础大模型(Checkpoint):相当于SD的“大脑”。推荐SDXL或Flux模型,它们对提示词的理解力和画质远超老旧的SD1.5。
- VAE:负责解码颜色,让画面不发灰、不模糊。
- LoRA:轻量级的微调模型。比如你想生成特定动漫角色、特定画风(如“水彩风”、“皮克斯风”),挂载一个对应的LoRA即可,无需重新训练大模型。
2. 提示词工程:正向与负向的双重奏
在SD中,提示词分为两部分:正向提示词(Positive Prompt)和负向提示词(Negative Prompt)。
- 正向:你想要什么。
- 负向:你不想要什么。
为什么会有“画面崩坏”? 很多时候,AI不知道什么是“好”的,除非你告诉它什么是“坏”的。负向提示词是解决畸形、低质画面的第一道防线。
通用的负向提示词模板(建议保存备用):
(worst quality, low quality:1.4), (deformed, distorted, disfigured:1.3), poorly drawn, bad anatomy, wrong anatomy, extra limb, missing limb, floating limbs, (mutated hands and fingers:1.4), disconnected limbs, mutation, mutated, ugly, disgusting, blurry, amputation, text, watermark, signature
这段英文的意思是:低画质、变形、解剖结构错误、肢体缺失或多余、突变、丑陋、模糊、水印等。加上这些,AI会自动避开这些坑。
3. 解决“提示词无效”与“逻辑混乱”
SD对提示词的顺序和权重非常敏感。如果你发现AI忽略了你的某些描述,可以尝试以下技巧:
技巧一:括号加权法 在SD WebUI或ComfyUI中,使用括号可以增加权重的强调程度。
(apple:1.2)表示增加苹果的出现概率或重要性。((red apple))表示双重强调,通常权重为1.21左右。[apple]表示降低权重。
技巧二:分块描述
不要把所有东西堆在一个长句子里。用逗号分隔不同的概念块。
A cat, sitting on a mat, (sunny day:1.2), realistic photography, depth of field
技巧三:使用Embeddings(嵌入向量) 有些复杂的概念,如“赛博朋克”、“蒸汽波”,可以通过加载特定的Embedding文件来简化提示词。这就像是一个快捷指令,输入一个词,AI自动展开为一组复杂的风格参数。
4. 进阶工作流:ControlNet —— 给AI装上“骨架”
这是SD区别于MJ的最大杀手锏。ControlNet允许你通过输入参考图来控制生成的构图、姿态、边缘等。
场景举例: 你想要一个特定姿势的人,但AI生成的总是乱动。
- 找一张真人照片,或者你自己摆拍一张。
- 在ControlNet单元中,选择“OpenPose”或“Canny”预处理器。
- 上传参考图。
- 调整权重(Weight),通常0.8-1.0之间。
- 生成。
现在,无论你怎么换衣服、换背景,人物的姿势都会严格锁定在参考图上。这对于商业设计、角色设定至关重要。
5. 代码示例:理解底层逻辑
虽然SD主要靠界面操作,但了解一点背后的逻辑有助于你调试。SD的核心扩散过程可以用简化的伪代码理解:
# 伪代码展示扩散模型的基本推理过程
def generate_image(prompt, negative_prompt, steps, cfg_scale):
# 1. 初始化随机噪声张量 (Latent Noise)
latent = torch.randn((1, 4, 64, 64))
# 2. 文本编码 (Text Encoding)
# 将提示词转换为向量嵌入
text_embeds = clip_model.encode(prompt)
neg_text_embeds = clip_model.encode(negative_prompt)
# 3. 迭代去噪 (Denoising Loop)
for i in range(steps):
# 预测噪声
noise_pred = unet_model(latent, t=i, context=text_embeds)
# 应用CFG Scale (Classifier-Free Guidance)
# CFG越高,越忠实于提示词,但可能过饱和
noise_pred_uncond = unet_model(latent, t=i, context=neg_text_embeds)
noise_pred = noise_pred_uncond + cfg_scale * (noise_pred - noise_pred_uncond)
# 根据预测的噪声更新潜变量
latent = scheduler.step(noise_pred, i, latent).prev_sample
# 4. VAE解码 (Decoding)
# 将潜变量转换回像素图像
image = vae_model.decode(latent)
return image
这段代码展示了为什么cfg_scale(引导系数)如此重要。它决定了AI在多大程度上听从你的提示词,而不是依赖它自己的“常识”。如果cfg_scale太高(如20+),画面可能会过曝、对比度过强、出现伪影;如果太低(如5-7),AI可能会忽略你的部分描述,生成更“自由”但也更不可控的结果。通常建议在7-12之间寻找平衡点。
第三部分:常见问题排查与急救指南
无论是MJ还是SD,遇到问题时,不要慌张。以下是针对高频问题的解决方案。
问题1:手指畸形、肢体缺失
原因:AI对复杂人体结构的理解依然有限,尤其是手部关节。
解决方案:
- MJ:使用
--no hands(如果不想要手)或者在提示词中强调perfect hands, detailed fingers。如果生成失败,使用“变体”功能多试几次,或者使用Inpainting修复。 - SD:
- 加强负向提示词中的
extra digit, fewer digits, bad hands。 - 使用ControlNet的OpenPose,确保手部姿势在参考图中是合理的。
- 启用ADetailer插件(Automatic Different Detailer)。这是一个后处理插件,它会自动检测面部和手部,并进行局部高清重绘。这是SD用户的必备神器,能显著提升细节质量。
- 加强负向提示词中的
问题2:画面模糊、分辨率低
原因:生成时的采样步数不足,或者后期没有进行超分辨率处理。
解决方案:
- MJ:生成后务必点击U进行放大。如果需要更高倍率,可以使用MJ内置的高清放大功能,或者将图片导出后使用Topaz Gigapixel等AI工具二次放大。
- SD:
- 增加Sampling Steps(采样步数)。对于DPM++ 2M Karras等采样器,20-30步通常足够,超过50步收益递减。
- 使用Hires. fix(高清修复)。在SD WebUI中,开启Hires. fix,设置缩放因子为1.5或2,选择高分辨率算法(如R-ESRGAN 4x+),这能在不改变构图的情况下大幅提升细节。
问题3:提示词完全无效,生成随机图像
原因:模型版本不匹配,或者提示词权重分配极端错误。
解决方案:
- 检查你是否使用了与当前模型匹配的提示词。例如,SDXL模型对自然语言的兼容性更好,而SD1.5可能需要更精确的标签式提示词(如
1girl, solo, blue_eyes)。 - 如果是SD,尝试重置CFG Scale到7.5,采样器到DPM++ 2M Karras,看看是否恢复稳定。
- 如果是MJ,确保没有使用已被弃用的旧版命令,并检查网络连接是否稳定(MJ有时因服务器拥堵导致生成异常)。
第四部分:如何像专家一样思考?
掌握了工具只是第一步,真正的瓶颈在于创意。AI不会凭空产生创意,它只是你创意的放大器。
- 建立灵感库:平时多收集喜欢的图片、摄影作品、电影截图。当你在MJ或SD中卡壳时,上传一张参考图作为垫图(Image Prompt),让AI基于这张图的色调、构图进行再创作。
- 迭代思维:不要指望一次生成完美作品。
- 第一轮:确定大致构图和风格。
- 第二轮:细化主体特征,调整光影。
- 第三轮:局部重绘,修复瑕疵,增强细节。
- 跨界融合:尝试将不相关的元素组合。例如,“巴洛克风格的水下世界”、“蒸汽朋克风格的森林小屋”。这种反差感往往能激发出意想不到的杰作。
结语:从使用者到创造者
AI绘画不是要取代画家,而是要赋予每个人画家的能力。Midjourney让你轻松获得惊艳的视觉冲击,Stable Diffusion让你拥有对细节的绝对掌控权。两者并不冲突,高手往往是混合使用:用MJ探索灵感和构图,用SD进行精细控制和后期处理。
记住,每一次“崩坏”都是学习的机会,每一个“无效”的提示词都在帮你更清晰地定义你想要的画面。不要害怕犯错,大胆地去试错。当你看着屏幕上的图像逐渐从混沌变得清晰,从平庸变得非凡时,你会发现,你不仅仅是在画画,你是在构建一个全新的视觉宇宙。
现在,打开你的浏览器或启动你的SD界面,写下第一个提示词吧。世界正等着看你眼中的模样。
