必须通过discord机器人间接调用midjourney,因其中央api未开放;需配置合规discord环境、启用开发者模式、获取用户id与频道id,并在dify中以custom tool方式集成webhook或第三方工具实现图像生成。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在Dify中构建一个能听懂人话、自动调用Midjourney生成图像的AI绘画助手,你必须绕过Midjourney不开放直接API的限制,通过Discord机器人间接通信——因为所有/imagine指令最终都运行在Discord服务器中,且仅接受slash命令触发。
准备合规的Discord环境
注册并登录 Discord 账号,加入官方 Midjourney 服务器(或你被邀请加入的付费订阅服务器),确保账号已升级为 Pro 或标准订阅用户,【免费试用期结束后未续费将无法触发任何图像生成】。
在 Discord 客户端中打开开发者模式:设置 → 高级 → 开启“开发者模式”。右键点击你的用户头像 → “复制用户ID”,保存该ID备用。
找到 Midjourney Bot 所在的频道(通常是 #newbies 或自建的专用图文频道),确认你能正常发送 /imagine prompt: a cyberpunk cat → 等待 bot 返回四张图及 U1/U2/U3/U4/V1/V2 按钮。这一步验证了环境有效性,不可跳过。
配置Dify应用接入Discord机器人
进入 Dify 控制台 → 创建新应用 → 选择“Text Generation”类型 → 在“Model Configuration”中不选用 LLM 模型,而是切换为“Custom Tool”模式。
集成Midjourney的两种可行路径
方法一:使用 Webhook + 自建 Node.js 中转服务(推荐)
部署一个轻量 Node.js 服务监听 HTTP POST 请求,接收 Dify 发来的 prompt,自动构造 Discord API 请求(需 bot token、channel ID、user ID),向指定频道发送 /imagine 命令;服务持续轮询该频道最新消息,提取 bot 返回的图片 URL 并回传给 Dify。【Discord 对 bot 的发信频率有限制,两次 /imagine 至少间隔 5 秒,否则请求会被静默丢弃】。
方法二:利用第三方自动化工具(如 Zapier 或 Make)
在 Zapier 中新建 Zap:Trigger 设为 “Webhook by Zapier → Catch raw hook”,Action 设为 “Discord → Send channel message”,填写 channel ID 和 message 内容为 /imagine {{input.prompt}};再追加一个 Delay 步骤(30 秒),接着用第二个 Discord Action 获取最新消息附件链接。此方案无需写代码,但无法可靠捕获 Vary/Upscale 后的二次结果。
定义Dify中的图像生成工具
第一步:在 Dify 应用的“Tools”模块中点击“+ Add Tool” → 选择“Custom Tool”。
第二步:填写工具名称(如 “midjourney_imagine”)、描述(如 “Generate images via Midjourney Bot on Discord”)。
第三步:在 Schema 字段粘贴 JSON Schema,明确声明 input 字段为 string 类型且 required;output 字段定义为 object,含 url(string)、prompt(string)、job_id(string)等字段。
第四步:在 Endpoint URL 中填入你部署的 Node.js 中转服务地址(如 https://your-domain.com/api/midjourney),Method 选 POST。
第五步:启用该工具并保存。











