必须通过discord机器人间接调用midjourney:先配置合规discord环境并获取用户id、频道id;再在dify中以custom tool模式集成,推荐自建node.js中转服务实现/prompt发送与图片url回传,严格遵守5秒调用间隔。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

要在Dify中构建一个能调用Midjourney生成图像的艺术作画应用,必须绕过Midjourney官方不开放直接API的限制,转而通过Discord机器人间接通信——因为Midjourney所有指令最终都运行在Discord服务器中,且仅接受/blend、/imagine等 slash 命令触发。
准备Midjourney可用的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”模式。
方法一:使用 Webhook + 自建中转服务(推荐)
部署一个轻量 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中定义图像生成工具函数
进入应用编辑页 → “Tools” 标签 → 点击“+ Add tool” → 选择 “HTTP Request” 类型。
第一步:填写工具名称为 “midjourney_imagine”;
第二步:URL 设置为你的自建中转服务地址,例如 https://your-domain.com/mj-trigger;
第三步:Method 选 POST,Headers 添加 Content-Type: application/json;
第四步:Body 使用 JSON 格式,固定字段 { "prompt": "{prompt}", "channel_id": "【必须填入实际Discord频道ID,不是服务器ID】", "user_id": "{user_id}" };
第五步:勾选 “Enable response parsing”,Response path 填 $.image_url,确保 Dify 能从返回 JSON 中准确提取图片链接。
保存后,在 Prompt 编辑区输入:“请根据用户描述生成一张高清艺术图。调用 midjourney_imagine 工具,prompt 字段填入用户原始描述,不要改写、不要添加‘artistic’‘masterpiece’等冗余词——Midjourney 自带风格权重机制,额外堆砌关键词反而导致构图失控。”
大量免费API接口:立即使用
涵盖生活服务API、金融科技API、企业工商API、等相关的API接口服务。免费API接口可安全、合规地连接上下游,为数据API应用能力赋能!











