Midjourney 在近几个月中显著提升了强大的编辑能力,为创作者提供了对图像各个方面前所未有的掌控。其中一种特别灵活的工作流是上传自定义遮罩图像以指导局部修改——允许你仅更改图片的特定区域,而保持其余部分不变。本文将介绍从准备、上传到在 Midjourney 中利用遮罩进行局部编辑的端到端流程,涵盖网页端 Editor ,Discord 内以及 Midjourney API。在此过程中,我们还将重点介绍最新功能与最佳实践,确保你的遮罩工作流尽可能顺畅、精确。
Midjourney 提供哪些用于遮罩引导编辑的工具?
Midjourney 提供两种主要的图像编辑界面:midjourney.com 上的网页端 Editor 和 Discord 中的 Vary Region 工具。两者都可以实现遮罩引导的局部修改——但在工作流与功能上有所差异。
什么是网页端 Editor?
Midjourney Editor 是一个专用的网页界面,用于对 Midjourney 生成的图像以及你自己的上传文件进行精细调整。主要编辑工具包括:
- Erase/Restore brushes:用于涂抹需要重新生成或保留的区域
- Smart Select:通过正负选择点进行 AI 辅助的遮罩选择
- Layers:支持对多张图像进行非破坏性合成
- Retexture:在保留结构的同时对整图进行风格转换
- Pan 和 Zoom:用于重新构图与缩放画布
Discord 中的 Vary Region 是什么?
在 Discord 内,Vary Region 提供更精简的、频道内的编辑体验。图像放大后,点击“Vary (Region)”按钮会打开一个简单的遮罩编辑器,你可以:
- 在目标区域上绘制自由手绘或矩形遮罩
- 可选地在启用 Remix Mode 时修改提示词,以优化生成内容
- 将编辑直接提交给 Midjourney 机器人,收到仅改变所选区域的新网格
如何准备用于局部修改的遮罩图像?
在上传遮罩到 Midjourney 之前,你需要制作一个合适的遮罩文件——通常是黑白或带透明通道的 PNG,可清晰界定需要修改的区域。
哪些图像格式与规格最合适?
- PNG(带 alpha 透明度)是理想选择,因为它能保留清晰的边缘与遮罩的精度。
- 确保遮罩与原图的纵横比与分辨率一致(例如 1024×1024、1536×1024)。
- 使用纯黑(RGB 0, 0, 0)表示“保留区域”,白色(RGB 255, 255, 255)表示“修改区域”。如果 Editor 的上传支持 alpha 通道,透明区域也可作为保留区。
可用哪些工具来制作遮罩?
- Adobe Photoshop / Affinity Photo:使用选择工具与填充命令生成高对比度遮罩图层,然后导出为 PNG。
- GIMP / Krita:免费的替代方案,支持画笔、选择与图层 alpha 控制。
- 在线编辑器(Photopea、Pixlr):适合进行简单遮罩任务的快速浏览器方案。
如何在 Midjourney 网页端 Editor 上传遮罩图像进行局部修改?
Editor 的 Layers 面板可以轻松将外部遮罩图像与原始图像一起导入。
如何进入完整 Editor?
- 访问 midjourney.com 并登录。
- 点击顶部导航中的 Edit 标签(铅笔图标)进入高级 Editor。
- 在“Using Your Own Images”中选择 Upload from Device 或 Paste URL 上传你的原始图像。
如何将遮罩添加为图层?
- 在 Editor 侧边栏打开 Layers 面板。
- 点击 Add 并上传已准备好的遮罩 PNG。
- 使用 Move/Resize 工具将遮罩图层与原图完美对齐。
- 选中遮罩图层(会以勾选标识高亮)——这会告知 Editor 随后工具将作用于该图层。
如何应用遮罩来引导修改?
- 在遮罩图层处于激活状态时,选择 Erase 画笔(或如需 AI 辅助可用 Smart Select)从该图层移除被遮罩的区域。
- 遮罩图层上被擦除(透明)的区域现在定义了一个“窗口”,Midjourney 将通过该窗口在底图上重新生成内容。
- 在底部的 Imagine 栏输入你希望在遮罩区域内呈现的内容提示词。
- 点击 Submit Edit。Midjourney 将生成四个仅替换遮罩区域的变体,其余图像保持不变。
- 使用 Upscale 或 Download 导出最终结果;你也可以导出带透明的 Transparent PNG 以便进一步合成。
如何在 Discord 上传遮罩图像进行局部修改?
虽然 Editor 擅长基于图层的上传,你也可以通过 Discord 的 Vary Region 工作流来进行遮罩引导编辑——方法是托管原图和遮罩图,并使用 Mask + Imagine 提示词。
如何在 Discord 上托管图像?
- 在与 Midjourney 机器人的私聊(或私人服务器频道)中,点击 + 图标或拖拽上传你的原始图像。
- 按 Enter 上传;图像出现在聊天后,右键选择 Copy Image Address(移动端为 Copy Media Link)以获取 URL。
- 对你的遮罩 PNG 重复上述操作以获取其 URL。
如何使用遮罩 URL 进行提示?
- 输入
/imagine,粘贴原始图像 URL,随后加入描述性文本和任意参数。 - 在提示中追加你的遮罩图像 URL——最好紧跟在基图 URL 后,用空格分隔。例如:
/imagine https://cdn.discordapp.com/…/original.png https://cdn.discordapp.com/…/mask.png red roses blooming in the masked area --v 7
- 这会让 Midjourney 将第二张图像视为遮罩参考,只在遮罩为白色的区域生成新内容。
- 根据需要调整参数,如
--v(版本)、--ar(纵横比)和--q(质量);然后发送命令。
如何用 Vary Region 进一步微调遮罩编辑?
提交并重复,直到遮罩区域符合你的预期。
在初始网格生成后,点击 U# 放大你最喜欢的变体。
点击 Vary (Region),并在仍需调整的区域上绘制更精确的选择。
启用 Discord 设置中的 Remix Mode 后,你可以在编辑器中微调提示词,以优化重新生成区域的效果。
如何使用 Midjourney API 局部修改带遮罩的图像
Midjourney 的 API(包括官方网页编辑器以及诸如 CometAPI 等第三方封装)提供“inpainting”或“vary‑region”端点,允许你提供:
- 输入图像
- 二值遮罩(白色 = 需要重新生成的区域;黑色 = 保留区域)
- 文本提示词,描述你希望在遮罩区域呈现的内容
尽管 Midjourney 本身没有公开官方 API,第三方接口如 CometAPI 提供了等效能力。
获取你的 CometAPI API 密钥:在 CometAPI 注册,并在仪表盘获取你的 CometAPI-KEY。
# Example header for PiAPI inpainting
X-API-Key: YOUR_CometAPI_API_KEY
Authorization: Bot YOUR_DISCORD_BOT_TOKEN
设置请求模式
许多服务支持类似 Midjourney Discord 分级的模式:
- fast:≤ 90 秒出结果(模拟官方 Fast 模式)
- relax:≤ 10 分钟出结果(模拟官方 Relax 模式)
- turbo:≤ 60 秒出结果(付费的“turbo”档)
{
"mode": "fast",
"prompt": "a serene lakeside at sunset --v 7"
}
要通过 API 对现有 Midjourney 图像进行局部修改(inpaint),你可以使用 CometAPI 的 Midjourney 封装,它提供专用的 /inpaint 端点。以下是分步指南:
1. 生成或获取你的基图
你可以:
调用 Imagine 端点,从文本创建新图像:
POST https://api.cometapi.com/mj/submit/imagineHeaders: CometAPI-API-KEY: your_key
Body (JSON): { "prompt": "a sleek sports car on a mountain road", "mode": "fast" }
你将获得一个 jobId,可用于获取生成的图像。
或者,如果你已经有之前调用得到的 jobId(例如放大或变体),可直接跳至第 3 步。
2. 获取并下载完成的图像
POST https://api.cometapi.com/mj/task/{id}/fetch
Headers:
TT-API-KEY: your_key
Body (JSON):
{
"jobId": "afa774a3-1aee-5aba-4510-14818d6875e4"
}
响应包含 cdnImage(URL)或 discordImage,你可以下载。
3. 创建你的遮罩
- 制作一张黑白遮罩图(尺寸与原图完全一致)。
- 白色 (255,255,255) 标记需重绘区域。
- 黑色 (0,0,0) 标记保持不变的像素。
- 将该遮罩导出为 PNG,然后对其原始字节进行 Base64 编码,且不附加
data:image/...前缀。
# example of reading and encoding a local mask.png
import base64
with open("mask.png", "rb") as f:
mask_b64 = base64.b64encode(f.read()).decode()
4. 调用编辑端点
发送你的原始 jobId、Base64 遮罩,以及(可选)用于遮罩区域的新提示词:
POST https://api.cometapi.com/mj/submit/edits
Headers:
CometAPI-API-KEY: your_key
Body (JSON):
{
"jobId": "afa774a3-1aee-5aba-4510-14818d6875e4",
"mask": "<your_mask_base64_string>",
"prompt": "replace the car’s wheels with futuristic glowing rims",
"timeout": 300
}
– mask:Base64 编码的 PNG 遮罩(白色 = 重绘)
– prompt:用于该区域生成内容的文本指引
5. 获取你的重绘结果
与之前相同,轮询 /fetch 或使用你的 webhook,在作业完成后获取新的 jobId 与图像 URL。
示例:Python 代码片段
import requests, base64
API_KEY = "YOUR_CometAPI_KEY"
HEADERS = {"CometAPI-KEY": API_KEY}
# 1. Imagine (或若已拥有 jobId 则跳过)
resp = requests.post(
"https://api.cometapi.com/mj/submit/imagine",
headers=HEADERS,
json={"prompt":"a serene lake at sunset","mode":"fast"}
)
job_id = resp.json()
# ... 等待图像生成,fetch 并下载 ...
# 2. 准备遮罩
with open("mask.png", "rb") as f:
mask_b64 = base64.b64encode(f.read()).decode()
# 3. Inpaint
inpaint_resp = requests.post(
"https://api.cometapi.com/mj/submit/edits",
headers=HEADERS,
json={
"jobId": job_id,
"mask": mask_b64,
"prompt": "replace the sky with dramatic storm clouds"
}
)
new_job = inpaint_resp.json()
# 4. 获取结果
fetch_resp = requests.post(
"https://api.cometapi.com/mj/task/{id}/fetch",
headers=HEADERS,
json={"jobId": new_job}
)
print(fetch_resp.json())
按照此流程,你可以通过提供自己的遮罩与引导文本,精准地定位并修改任何现有 Midjourney 图像的部分区域。
你可以参考 CometAPI 的 API 文档进行编辑。
提示与注意事项
- 遮罩精度:锯齿或半透明边缘可能产生渗漏;尽量使用纯黑/白。
- 选择范围大小:过小 → 模型可能出现不一致的“幻觉”;过大 → 会丢失图像上下文。
- 提示词:保持简洁,聚焦遮罩区域(Midjourney 会与周边内容进行融合)。
- Webhook 回调:如需实时更新,在
data中提供hookUrl,作业完成后你的服务器将接收 JSON。
如何优化遮罩编辑的提示词?
- 简洁而具描述性:将提示词聚焦在遮罩区域的内容(例如“金色机械鸟栖在树枝上”,而非泛泛的颜色变化)。
- 语境一致性:提及与未编辑部分相匹配的光照、风格或材质,以保持整体统一感。
- 谨慎使用 Remix:如果只需颜色或纹理微调,避免在 Remix Mode 中重写整个提示词——这可能意外影响未遮罩区域。
入门
CometAPI 提供访问 500+ AI 模型的能力,包括开源与专用的多模态模型(聊天、图像、代码等)。其主要优势是简化传统复杂的 AI 集成流程。
CometAPI 的价格远低于官方价格,助你集成 Midjourney API,注册并登录后即可在你的账户中试用!欢迎注册体验 CometAPI。CometAPI 按量付费。
**重要前置条件:**在使用 MidJourney V7 前,你需要在 CometAPI today – sign up 免费注册并开始使用。请访问文档。开始使用 MidJourney V7 非常简单——只需在提示词末尾添加 --v 7 参数。这个简单命令会让 CometAPI 使用最新的 V7 模型进行生成。
结论
在 Midjourney 中使用遮罩引导的局部修改为创作解锁了全新的控制维度——无论是替换照片中的对象、为绘画加入奇幻元素,还是在合成作品中精细调整细节。通过掌握精准遮罩的制作流程,将其作为图层上传到网页端 Editor 或在 Discord 托管,并利用 Midjourney 的重绘与分层工具,你都能以手术般的精度获得专业级结果。拥抱最新的 Editor 增强功能——图层、智能选择与焕新的界面——并将这些最佳实践融入你的创作过程,推动 AI 艺术的可能性边界。
