You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MidJourney /imagine命令调用报错INTERACTION_APPLICATION_COMMAND_INVALID_VERSION求助

解决MidJourney /imagine命令版本过期问题

之前运行正常的MidJourney /imagine调用代码突然失效,报错信息如下:

{"code": 50035, "errors": {"data": {"_errors": [{"code": "INTERACTION_APPLICATION_COMMAND_INVALID_VERSION", "message": "Dieser Befehl ist veraltet, bitte versuche es in einigen Minuten erneut."}]}}, "message": "Invalid Form Body"}

这是因为代码里硬编码的version值已过期,以下是两种解决方法:

方法一:手动获取最新version值

  • 打开Discord网页版,进入MidJourney所在服务器
  • 按F12打开开发者工具,切换到「Network」标签
  • 手动发送一次/imagine命令,在Network列表中找到POST类型的interactions请求
  • 查看该请求的Payload数据,提取data.version和application_command.version对应的字符串,替换代码中旧的版本号(原代码里的1077969938624553050)

方法二:自动获取最新version值(推荐)

通过Discord API自动获取MidJourney机器人的/imagine命令最新版本,避免手动更新的麻烦,代码示例:

import requests

def get_latest_imagine_version():
    headers = {'authorization': Globals.SALAI_TOKEN}
    # 调用API获取服务器内MidJourney的所有命令
    api_url = f"https://discord.com/api/v9/guilds/{Globals.SERVER_ID}/applications/936929561302675456/commands"
    resp = requests.get(api_url, headers=headers)
    if resp.status_code == 200:
        for cmd in resp.json():
            if cmd['name'] == 'imagine':
                return cmd['version']
    return None

# 使用示例:获取最新版本后替换payload中的对应字段
latest_version = get_latest_imagine_version()
if latest_version:
    payload["data"]["version"] = latest_version
    payload["data"]["application_command"]["version"] = latest_version

额外注意事项

  • 若替换version后仍报错,检查session_id是否过期,同样可以从开发者工具的interactions请求中提取最新值
  • 确保SALAI_TOKEN、SERVER_ID、CHANNEL_ID均为有效且未过期的参数
  • 这种调用方式依赖Discord未公开的交互接口,后续可能还会变动,建议持续关注相关代码仓库的更新

内容的提问来源于stack exchange,提问作者leoconsti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 03:35:15