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

如何将Base64格式图片传入Roboflow Infer API端点?请求返回400错误码的解决咨询

如何将Base64格式图片传入Roboflow Infer API端点?请求返回400错误码的解决咨询

我明白你现在碰到的问题——按照文档用POST请求传Base64图片到Roboflow API,结果返回400错误,确实挺闹心的。我来帮你梳理几个常见的排查方向和解决办法:

  • 先检查Base64字符串的格式是否正确
    很多时候400错误是因为Base64带了多余的前缀,比如data:image/jpeg;base64,这类标识。Roboflow的API一般只需要纯Base64编码部分,你可以把这个前缀去掉再试试。比如原字符串是data:image/png;base64,iVBORw0KGgo...,就改成iVBORw0KGgo...。

  • 确认请求的数据结构和参数名是否正确
    你提到params是API key,要确保参数名是api_key(这是Roboflow API要求的固定参数名)。另外,直接把Base64字符串作为data参数传入可能会导致服务器解析失败,正确的做法是把Base64放到image字段里,用JSON格式发送请求:

    import requests
    
    roboflow_url = "你的完整API端点URL"
    params = {"api_key": "你的API密钥"}
    payload = {"image": base64_image}  # 将Base64包装在image字段中
    response = requests.post(roboflow_url, params=params, json=payload)
    
  • 验证API端点URL是否正确
    要确保你的roboflow_url是完整的合法地址,格式应该类似https://detect.roboflow.com/你的模型名称/版本号,别漏掉版本号或者拼写错模型名称。

  • 检查Base64编码是否有效
    你可以把Base64字符串解码回图片,确认编码过程没有出错。用这段代码试试:

    import base64
    
    with open("test_image.jpg", "wb") as f:
        f.write(base64.b64decode(base64_image))
    

    如果解码后的图片打不开,说明你在编码图片时出了问题,需要重新生成正确的Base64字符串。

  • 查看错误响应的详细信息
    400错误通常会附带具体的错误提示,你可以打印响应内容来定位问题:

    print(response.json())  # 或者print(response.text)
    

    比如可能会提示“invalid image format”“missing api key”之类的明确信息,跟着提示调整就好。

备注:内容来源于stack exchange,提问作者george bibu

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 07:35:30