AI 图像生成全攻略:Midjourney、Stable Diffusion 与 DALL·E 3 对比
从文生图到图生图,掌握主流 AI 绘图工具的核心技巧与商业应用
AI 图像生成是人工智能领域最直观、最令人震撼的应用之一。从一句话生成精美画作,从草图渲染出逼真照片,AI 绘画工具正在重新定义创意工作的边界。Midjourney 以艺术品质著称,Stable Diffusion 以开源灵活性见长,DALL·E 3 以语义理解领先。本文将全面对比这三大工具,并深入讲解核心技巧和商业应用。
三大工具概览
| 维度 | Midjourney V6 | Stable Diffusion | DALL·E 3 |
|---|---|---|---|
| 开发商 | Midjourney Inc. | Stability AI | OpenAI |
| 开源 | 否 | 是 | 否 |
| 使用方式 | Discord / 网页版 | 本地部署 / 云端 | ChatGPT / API |
| 模型版本 | V6 / V6.1 | SDXL / SD3 | DALL·E 3 |
| 最大分辨率 | 2048×2048 | 自定义(可达4K+) | 1792×1024 |
| 提示词理解 | 中等,需特定语法 | 依赖模型和标签 | 优秀,自然语言即可 |
| 图像质量 | 艺术感强,审美高 | 灵活可控,质量均衡 | 写实感强,语义准确 |
| 中文支持 | 有限 | 依赖模型 | 支持 |
| 价格 | $10/月起 | 免费(本地)/ 按量(云) | ChatGPT Plus / API |
| 适合场景 | 创意设计、艺术创作 | 商业批量生成、定制化 | 概念验证、内容创作 |
Midjourney V6 使用指南
Midjourney 以其独特的艺术审美成为设计师和艺术家的首选。V6 版本在写实度、文字渲染和细节表现上都有显著提升。
基础使用
Midjourney 目前支持 Discord 和网页版两种使用方式。
Discord 方式:
/imagine prompt: A serene Japanese garden in autumn,
red maple leaves, stone lantern, koi pond, soft morning light,
cinematic composition, 8K detail --ar 16:9 --style raw --v 6
网页版(alpha): 提供更直观的界面,支持图像混音、风格参考等高级功能。
核心参数详解
| 参数 | 说明 | 示例 |
|---|---|---|
--ar | 宽高比 | --ar 16:9、--ar 9:16、--ar 1:1 |
--v | 模型版本 | --v 6、--v 6.1 |
--style | 风格倾向 | --style raw(减少默认美化) |
--s | 风格化程度(0-1000) | --s 250(默认),--s 0(最写实) |
--chaos | 多样性(0-100) | --chaos 50(结果更多样) |
--stylize | 艺术化程度 | --stylize 600 |
--no | 负面提示 | --no people, text |
--seed | 随机种子 | --seed 12345(可复现) |
--c | 产生变化(0-100) | --c 50 |
--cref | 角色参考 | --cref [图片URL] |
--sref | 风格参考 | --sref [图片URL] |
提示词结构
Midjourney 的最佳实践是”主题 + 环境 + 光线 + 风格 + 参数”:
[主体描述], [环境/背景], [光线/氛围], [风格/艺术家], [技术参数]
示例:
A young woman in a white linen dress ← 主体
standing on a cliff overlooking the ocean at sunset ← 环境
golden hour lighting, warm tones ← 光线
photorealistic, shot on 35mm film, depth of field ← 风格
--ar 3:2 --style raw --v 6 ← 参数
进阶技巧
1. 角色一致性(Character Reference)
使用 --cref 可以在多张图片中保持角色外观一致:
第一张:
/imagine a girl with red hair, green eyes, freckles --cref --ar 2:3
后续图片(使用第一张作为参考):
/imagine the same girl in a coffee shop --cref [第一张URL] --cw 100
参数说明:
--cw 100: 参考面部+头发+服装
--cw 0: 仅参考面部
2. 风格一致性(Style Reference)
/imagine a city skyline --sref [风格参考图URL] --sw 1000
--sw 控制风格强度(0-1000),越高越接近参考风格
3. 图像混合(Blend)
将多张图片混合:
/blend [图片1URL] [图片2URL] [图片3URL] --ar 16:9
4. 区域重绘(Vary Region)
在生成图片后,选择局部区域重新生成:
1. 生成图片后点击 "Vary (Region)"
2. 框选需要修改的区域
3. 输入新的描述
4. AI 只重绘选中区域,保持其余不变
Midjourney 商用政策
| 订阅方案 | 月费 | 商用权 | 快速时长 |
|---|---|---|---|
| Basic | $10 | 有 | 3.3小时/月 |
| Standard | $30 | 有 | 15小时/月 |
| Pro | $60 | 有(隐身模式) | 30小时/月 |
| Mega | $120 | 有(隐身模式) | 60小时/月 |
所有付费方案都包含商用权,生成的图片版权归使用者所有(Midjourney 保留使用你的图片用于训练的权利,除非使用隐身模式)。
Stable Diffusion 深度指南
Stable Diffusion 是最灵活的开源 AI 绘图工具。你可以本地部署、自由微调、精确控制每一个生成参数。
本地部署
方案一:Stable Diffusion WebUI(Automatic1111)
# 前提:NVIDIA GPU(建议8GB+显存),Python 3.10+
# 1. 克隆仓库
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
cd stable-diffusion-webui
# 2. 运行安装脚本(会自动下载依赖)
./webui.sh # Linux/Mac
webui-user.bat # Windows
# 3. 浏览器访问 http://localhost:7860
方案二:ComfyUI(节点式编辑器,更灵活)
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI
pip install -r requirements.txt
python main.py
# 访问 http://localhost:8188
方案三:云端(无需GPU)
使用 Replicate / fal.ai / RunPod 等平台
按次计费,无需本地硬件投入
适合不需要频繁生成的用户
模型选择
| 模型类型 | 说明 | 适用场景 |
|---|---|---|
| SDXL Base | 基础模型,通用 | 通用生成 |
| SDXL Refiner | 精修模型 | 高质量精修 |
| SD3 | 最新一代 | 文字渲染、复杂场景 |
| 微调模型 | 基于基础模型微调 | 特定风格(写实/二次元/艺术) |
| LoRA | 轻量微调模型 | 特定人物/风格/概念 |
常用模型获取渠道:
- Civitai:最大的 SD 模型社区,海量免费模型
- Hugging Face:官方模型和学术模型
- Stability AI:官方发布渠道
LoRA 微调
LoRA(Low-Rank Adaptation)是一种轻量微调技术,可以在不修改基础模型的情况下,添加特定风格或概念。
# 使用 kohya-ss 训练 LoRA 的简化流程
# 1. 准备数据集(20-50张目标图片)
# 图片放在目录中,每张配一个文本描述文件
# dataset/
# image001.jpg
# image001.txt -> "a photo of [sks] person, professional headshot"
# image002.jpg
# image002.txt -> "[sks] person in casual wear, outdoor"
# 2. 配置训练参数
# 训练配置文件 lora_config.json
{
"base_model": "SDXL_base.safetensors",
"network_module": "networks.lora",
"network_dim": 32,
"network_alpha": 16,
"learning_rate": 0.0001,
"train_batch_size": 4,
"max_train_epochs": 10,
"resolution": 1024
}
# 3. 开始训练
python train_network.py --config lora_config.json
# 4. 使用训练好的 LoRA
# 在 WebUI 中将 LoRA 文件放入 models/Lora/
# 提示词中使用:<lora:my_model:0.8>
提示词示例:
a portrait of <lora:my_face:0.8> person in business attire,
office background, professional lighting, high quality
ControlNet:精确控制
ControlNet 是 Stable Diffusion 最重要的扩展之一,它允许你用参考图精确控制生成结果。
| ControlNet 类型 | 说明 | 适用场景 |
|---|---|---|
| Canny | 边缘检测 | 线稿转成品 |
| OpenPose | 人体姿态 | 控制人物姿势 |
| Depth | 深度图 | 控制空间层次 |
| Segment | 语义分割 | 区域着色控制 |
| Tile | 平铺 | 放大增强 |
| Scribble | 涂鸦 | 草图生成 |
| Lineart | 线稿 | 插画上色 |
使用示例:
# 使用 ControlNet 进行线稿上色
from diffusers import StableDiffusionControlNetPipeline, ControlNetModel
import torch
# 加载 ControlNet 模型
controlnet = ControlNetModel.from_pretrained(
"lllyasviel/sd-controlnet-lineart"
)
# 加载管道
pipe = StableDiffusionControlNetPipeline.from_pretrained(
"runwayml/stable-diffusion-v1-5",
controlnet=controlnet,
torch_dtype=torch.float16
).to("cuda")
# 生成
image = pipe(
prompt="a girl with blue hair, anime style, vibrant colors",
image=lineart_image, # 输入线稿图
num_inference_steps=30,
guidance_scale=7.5
).images[0]
提示词工程
Stable Diffusion 的提示词风格与 Midjourney 不同,更依赖权重和标签:
正向提示词(Positive Prompt):
(masterpiece, best quality:1.2), 1girl, solo, long black hair,
blue eyes, white summer dress, standing in flower field,
sunlight, bokeh, depth of field, ultra detailed, 8K
反向提示词(Negative Prompt):
(low quality, worst quality:1.4), deformed, blurry, bad anatomy,
extra fingers, watermark, text, signature
权重语法:
(关键词:1.5) # 增加50%权重
(关键词:0.5) # 降低50%权重
(关键词) # 默认增加10%权重
((关键词)) # 嵌套增加权重
[关键词] # 降低权重
DALL·E 3 使用指南
DALL·E 3 的最大优势是语义理解能力——你可以用自然语言描述复杂场景,它能准确理解并生成。
通过 ChatGPT 使用
用户:画一张图,一只橘猫坐在窗台上,窗外是雨天的城市夜景,
猫咪的表情若有所思,水彩画风格,暖色调。
DALL·E 3 直接生成符合描述的图片。
不需要特殊的提示词语法,自然描述即可。
通过 API 使用
from openai import OpenAI
client = OpenAI(api_key="your-api-key")
response = client.images.generate(
model="dall-e-3",
prompt="A futuristic city park in 2050, with floating gardens, "
"holographic birds, children playing with AI robots, "
"golden sunset, Studio Ghibli style",
size="1792x1024", # 或 1024x1024, 1024x1792
quality="hd", # hd 或 standard
n=1
)
image_url = response.data[0].url
# 下载图片
DALL·E 3 的特色
优势:
- 自然语言理解最强,不需要学习提示词语法
- 文字渲染能力好(可以在图中生成可读文字)
- 与 ChatGPT 集成,可以迭代修改
- 语义准确度高,复杂场景理解好
局限:
- 风格相对统一,艺术感不如 Midjourney
- 定制化程度低,无法微调
- 价格较高
图像编辑 API
# DALL·E 2 的图像编辑功能(DALL·E 3 暂不支持)
response = client.images.edit(
model="dall-e-2",
image=open("original.png", "rb"),
mask=open("mask.png", "rb"), # 白色区域为待编辑区域
prompt="replace the background with a beach at sunset",
size="1024x1024"
)
提示词工程通用技巧
1. 结构化提示词
通用提示词公式:
[质量描述] + [主体] + [动作/姿态] + [环境/背景] +
[光线/氛围] + [风格/艺术家] + [技术参数]
示例:
best quality, masterpiece, ← 质量
a young chef ← 主体
cooking in a modern kitchen ← 动作/环境
warm lighting, steam rising ← 光线/氛围
photorealistic, 50mm lens ← 风格/技术
2. 风格关键词库
摄影风格:
photorealistic, 8K UHD, DSLR, 35mm film, bokeh,
golden hour, studio lighting, macro photography
艺术风格:
oil painting, watercolor, impressionist, art nouveau,
ukiyo-e, pixel art, concept art, matte painting
艺术家风格(Midjourney/SD):
by Greg Rutkowski, by Studio Ghibli, by Wes Anderson,
by Zaha Hadid, by Banksy
渲染风格:
octane render, unreal engine, cinematic, volumetric lighting,
ray tracing, subsurface scattering
3. 避免常见错误
错误1:提示词过长且矛盾
"beautiful landscape with mountains and ocean and desert and forest"
→ AI 不知所措,结果混乱
正确:聚焦核心元素
"mountain landscape with a serene lake, autumn colors"
错误2:堆砌质量词
"best quality masterpiece amazing stunning incredible"
→ 边际效益递减
正确:适量质量词 + 具体描述
"masterpiece, detailed landscape photography"
错误3:忽视负面提示词(SD)
→ 生成结果常有缺陷
正确:合理使用负面提示词
"low quality, deformed, extra limbs, watermark, text"
版权与商用政策对比
| 平台 | 生成图片版权 | 商用许可 | 训练数据来源 |
|---|---|---|---|
| Midjourney | 归用户(付费版) | 付费版可商用 | 未公开 |
| Stable Diffusion | 归用户 | 可商用(注意模型许可) | LAION 等公开数据集 |
| DALL·E 3 | 归用户 | 可商用 | 未公开 |
注意事项:
- Stable Diffusion 模型本身的开源协议(如 SDXL 采用 CreativeML Open RAIL++-M)允许商用,但某些微调模型可能有限制
- 使用 LoRA 模型时需检查其许可协议(Civitai 上有明确的商用许可标注)
- AI 生成图片的版权归属在法律上仍有争议,建议在商业项目中明确标注”AI 生成”
- 避免生成包含真实人物面孔或注册商标的图片用于商业用途
商业应用场景
场景一:电商产品图
需求:为一款新香水生成产品宣传图
Midjourney 提示词:
product photography of a luxury perfume bottle on marble surface,
rose petals scattered, soft pink lighting, water reflection,
elegant, minimal, advertising style --ar 4:5 --style raw --v 6
SD + ControlNet 方案:
1. 拍摄产品基础照片
2. 用 Depth ControlNet 保持产品轮廓
3. 用提示词改变背景和氛围
4. 多次迭代选择最佳效果
场景二:内容配图
需求:为博客文章"AI改变教育"生成配图
DALL·E 3:
"An illustration of a student learning with an AI tutor hologram,
books and digital screens around, warm and inspiring atmosphere,
flat illustration style, blue and orange color scheme"
场景三:角色设计
需求:为游戏设计角色
Midjourney + 角色参考:
1. 第一张:生成角色基础设计
/imagine character design sheet, female warrior,
silver armor, red cape, fantasy game style --ar 2:3
2. 后续场景使用 --cref 保持一致性
/imagine the warrior in a forest battle scene
--cref [第一张URL] --cw 50 --ar 16:9
3. 不同表情和姿势
/imagine the warrior smiling, portrait
--cref [第一张URL] --cw 100 --ar 1:1
场景四:批量生成
# 使用 Stable Diffusion API 批量生成
# 场景:为100个产品生成不同风格的配图
import requests
import os
products = [
{"name": "手链", "style": "简约白色背景"},
{"name": "耳环", "style": "复古棕色背景"},
# ... 100个产品
]
for product in products:
prompt = f"product photography, {product['name']}, {product['style']}, high quality"
negative = "low quality, watermark, text"
response = requests.post("http://localhost:7860/sdapi/v1/txt2img", json={
"prompt": prompt,
"negative_prompt": negative,
"steps": 30,
"width": 1024,
"height": 1024,
"batch_size": 4 # 每次生成4张供选择
})
images = response.json()["images"]
for i, img in enumerate(images):
with open(f"output/{product['name']}_{i}.png", "wb") as f:
f.write(base64.b64decode(img))
总结
选择哪个工具取决于你的需求:
- 追求艺术品质:选 Midjourney,其审美和细节无人能及
- 需要精确控制和定制:选 Stable Diffusion,ControlNet 和 LoRA 提供无限可能
- 追求易用和语义准确:选 DALL·E 3,自然语言描述即可生成
实际工作中,很多专业创作者同时使用多个工具——用 Midjourney 生成灵感草图,用 Stable Diffusion 精修定制,用 DALL·E 3 处理需要精确语义理解的场景。
AI 绘画不会取代人类创意,但它正在大幅降低创意落地的门槛。掌握这些工具,你的想象力就是唯一的限制。
下一篇文章将探索更前沿的领域——AI 3D 建模,从 NeRF 到 3D Gaussian Splatting 的技术演进。