Skip to content

Midjourney 图生文 API 接口文档

接口说明

本接口用于图像描述生成,支持上传图像并返回对应的文字描述。适用于图像理解、内容标注等场景。

接口地址

POST https://www.dmxapi.cn/mj/submit/describe

请求参数

参数名类型必选说明
botTypestringMID_JOURNEY(默认)或 NIJI_JOURNEY
base64string图像的base64编码数据,格式示例:data:image/png;base64,xxx
notifyHookinteger回调通知设置
statestring状态参数,用于控制生成质量

请求示例

python
import base64  # 导入 base64 库

# --- 新增代码:读取并编码图片 ---
# 1. 定义你的图片文件路径
# 注意:在Windows路径中,单个反斜杠 \ 是转义字符,所以需要写成 \\ 或者在字符串前加 r
image_path = "c:\\nezha1.png"
# 或者写作: image_path = r"c:\nezha1.png"

try:
    # 2. 以二进制模式(rb)读取图片文件
    with open(image_path, "rb") as image_file:
        # 3. 读取文件内容并进行Base64编码
        base64_bytes = base64.b64encode(image_file.read())

    # 4. 将编码后的bytes转换为utf-8字符串
    base64_string = base64_bytes.decode("utf-8")

    # 5. 构造成API需要的 "data:image/png;base64,..." 格式
    formatted_base64 = f"data:image/png;base64,{base64_string}"

except FileNotFoundError:
    print(f"错误:文件未找到,请确认路径 '{image_path}' 是否正确。")
    # 如果文件不存在,则退出程序
    exit()
except Exception as e:
    print(f"读取或编码文件时发生错误: {e}")
    exit()
# --- 新增代码结束 ---


# API配置
url = "https://www.dmxapi.cn/mj/submit/describe"
API_KEY = "sk-*********************************"  #  填上你的 DMXAPI 令牌

# 请求参数
# 将之前硬编码的 "xxx" 替换为我们刚刚生成的 formatted_base64 变量
payload = json.dumps(
    {
        "botType": "MID_JOURNEY",  # 指定机器人类型
        "base64": formatted_base64,  # 图像base64数据
        "notifyHook": "",  # 回调通知设置
        "state": "",  # 状态参数
    }
)

# 请求头设置
headers = {
    "Authorization": f"Bearer {API_KEY}",  # 认证头,使用Bearer token
    "Content-Type": "application/json",  # 指定JSON格式
}

# 发送POST请求
print("正在发送请求到API...")
response = requests.request("POST", url, headers=headers, data=payload)

# 输出响应结果
print("API响应结果:")
print(response.text)

响应说明

json
{
    "code": 1,
    "description": "提交成功",
    "properties": {},
    "result": 1756141991905216  # 去第二步任务查询API,获得结果
}

注意事项

  1. 请确保使用有效的API密钥
  2. base64参数需要提供完整的data URI格式
  3. 图像格式支持常见的png、jpg等格式
  4. 建议对敏感信息进行加密处理

一个 Key 用全球大模型