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

使用requests.post调用MAX图像字幕生成API返回400错误排查

问题分析与解决方法

错误原因拆解

  1. 直接用data参数的问题
    API要求接收文件上传(multipart/form-data格式),而requests的data参数仅用于传递普通表单键值对,不会处理文件的二进制内容,因此服务器无法识别到上传的图像文件,返回参数缺失错误。

  2. 用files参数仍报错的问题
    大概率是files参数格式不正确:比如未指定带后缀的文件名,或未设置对应content-type,导致服务器无法识别文件类型;也可能是文件路径有误,实际读取的不是有效的JPEG/PNG文件。

正确的Python调用写法

按照multipart/form-data的规范构造请求,示例代码如下:

import requests

# 替换为你的图像文件实际路径
image_path = "example.jpg"

# 正确构造files参数:键名需与API要求一致(此处为"image"),值为包含文件名、文件对象、内容类型的元组
files = {
    "image": (
        "example.jpg",  # 必须带后缀,让服务器识别文件类型
        open(image_path, "rb"),
        "image/jpeg"  # PNG文件则改为"image/png"
    )
}

response = requests.post("http://localhost:8090/model/predict", files=files)
print(response.json())

额外注意事项

  • 确认图像文件确实是JPEG或PNG格式,避免文件损坏或格式不符。
  • 若不想手动指定content-type,可省略该参数,requests会根据文件名后缀自动推断,但显式指定更稳妥。
  • 确保文件路径正确,open()函数能正常读取到文件内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 08:07:05