Midjourney 图生文 API 接口文档
接口说明
本接口用于图像描述生成,支持上传图像并返回对应的文字描述。适用于图像理解、内容标注等场景。
接口地址
POST https://www.dmxapi.cn/mj/submit/describe
请求参数
参数名 | 类型 | 必选 | 说明 |
---|---|---|---|
botType | string | 是 | MID_JOURNEY (默认)或 NIJI_JOURNEY |
base64 | string | 否 | 图像的base64编码数据,格式示例:data:image/png;base64,xxx |
notifyHook | integer | 否 | 回调通知设置 |
state | string | 否 | 状态参数,用于控制生成质量 |
请求示例
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,获得结果
}
注意事项
- 请确保使用有效的API密钥
- base64参数需要提供完整的data URI格式
- 图像格式支持常见的png、jpg等格式
- 建议对敏感信息进行加密处理