如何使用 Midjourney 对蒙版图像进行局部修改?3 种方法!

CometAPI
AnnaJul 16, 2025
如何使用 Midjourney 对蒙版图像进行局部修改?3 种方法!

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:在保留结构的同时对整图进行风格转换
  • PanZoom:用于重新构图与缩放画布

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?

  1. 访问 midjourney.com 并登录。
  2. 点击顶部导航中的 Edit 标签(铅笔图标)进入高级 Editor。
  3. 在“Using Your Own Images”中选择 Upload from DevicePaste URL 上传你的原始图像。

如何将遮罩添加为图层?

  1. 在 Editor 侧边栏打开 Layers 面板。
  2. 点击 Add 并上传已准备好的遮罩 PNG。
  3. 使用 Move/Resize 工具将遮罩图层与原图完美对齐。
  4. 选中遮罩图层(会以勾选标识高亮)——这会告知 Editor 随后工具将作用于该图层。

如何应用遮罩来引导修改?

  1. 在遮罩图层处于激活状态时,选择 Erase 画笔(或如需 AI 辅助可用 Smart Select)从该图层移除被遮罩的区域。
  2. 遮罩图层上被擦除(透明)的区域现在定义了一个“窗口”,Midjourney 将通过该窗口在底图上重新生成内容。
  3. 在底部的 Imagine 栏输入你希望在遮罩区域内呈现的内容提示词。
  4. 点击 Submit Edit。Midjourney 将生成四个仅替换遮罩区域的变体,其余图像保持不变。
  5. 使用 UpscaleDownload 导出最终结果;你也可以导出带透明的 Transparent PNG 以便进一步合成。

如何在 Discord 上传遮罩图像进行局部修改?

虽然 Editor 擅长基于图层的上传,你也可以通过 Discord 的 Vary Region 工作流来进行遮罩引导编辑——方法是托管原图和遮罩图,并使用 Mask + Imagine 提示词。

如何在 Discord 上托管图像?

  1. 在与 Midjourney 机器人的私聊(或私人服务器频道)中,点击 + 图标或拖拽上传你的原始图像。
  2. Enter 上传;图像出现在聊天后,右键选择 Copy Image Address(移动端为 Copy Media Link)以获取 URL。
  3. 对你的遮罩 PNG 重复上述操作以获取其 URL。

如何使用遮罩 URL 进行提示?

  1. 输入 /imagine,粘贴原始图像 URL,随后加入描述性文本和任意参数。
  2. 在提示中追加你的遮罩图像 URL——最好紧跟在基图 URL 后,用空格分隔。例如:
   /imagine https://cdn.discordapp.com/…/original.png https://cdn.discordapp.com/…/mask.png red roses blooming in the masked area --v 7
  1. 这会让 Midjourney 将第二张图像视为遮罩参考,只在遮罩为白色的区域生成新内容。
  2. 根据需要调整参数,如 --v(版本)、--ar(纵横比)和 --q(质量);然后发送命令。

如何用 Vary Region 进一步微调遮罩编辑?

提交并重复,直到遮罩区域符合你的预期。

在初始网格生成后,点击 U# 放大你最喜欢的变体。

点击 Vary (Region),并在仍需调整的区域上绘制更精确的选择。

启用 Discord 设置中的 Remix Mode 后,你可以在编辑器中微调提示词,以优化重新生成区域的效果。

如何使用 Midjourney API 局部修改带遮罩的图像

Midjourney 的 API(包括官方网页编辑器以及诸如 CometAPI 等第三方封装)提供“inpainting”或“vary‑region”端点,允许你提供:

  1. 输入图像
  2. 二值遮罩(白色 = 需要重新生成的区域;黑色 = 保留区域)
  3. 文本提示词,描述你希望在遮罩区域呈现的内容

尽管 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 艺术的可能性边界。

阅读更多

一个 API 中超 500 个模型

最高 20% 折扣