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

使用Azure认知服务读取GIF图像文本时返回Bad Request错误如何解决

报错原因

Azure认知服务的计算机视觉Read API原生不支持GIF格式的图像输入,官方指定支持的输入格式仅包含JPEG、PNG、BMP、PDF、TIFF五类。你直接传入GIF格式的图像链接调用接口时,接口会校验到格式不符合要求,直接返回*Operation returned an invalid status code 'Bad Request'*错误。

解决方案

你可以通过对GIF图像做格式转码后再调用API实现文本提取,具体操作步骤如下:

  • 第一步:获取GIF图像资源,提取需要识别文本的帧(动态GIF可提取全部分帧逐一识别,也可直接提取第一帧做静态识别)
  • 第二步:将提取出的帧转换为JPEG/PNG等API支持的格式,转码时注意满足API的图像限制要求:单张图像大小不超过20MB,像素尺寸在5050到1000010000区间内
  • 第三步:将转码后的图像(本地文件或可公网访问的静态URL)传入Read API调用,即可正常提取文本

参考修改后的代码示例:

from PIL import Image
import requests
from io import BytesIO

print("===== Read File - remote ======")
# 原GIF链接
read_image_url = "https://ci6.googleusercontent.com/proxy/5NB2CkeM22wqFhiQSmRlJVVinEp3o2nEbZQcy6_8CCKlKst_WW25N0PcsPaYiWAASXO52hufvUAEimUd3IreGowknEXy322x5oYG3lzkBGyctLI0M3eH_w-qHH9qPqtobjpGYooM7AvyNX2CCZtcnEgu8duKlee2GGaswg=s0-d-e1-ft#https://image.e.us.partycity.com/lib/fe301570756406747c1c72/m/10/93d08fa0-c760-4d8b-8e35-ddd5308ec311.gif"

# 下载GIF并转码为PNG格式
gif_resp = requests.get(read_image_url)
gif = Image.open(BytesIO(gif_resp.content))
first_frame = gif.convert("RGB")
png_buffer = BytesIO()
first_frame.save(png_buffer, format="PNG")
png_buffer.seek(0)

# 调用API传入转码后的文件流
read_response = computervision_client.read_in_stream(png_buffer, raw=True)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 06:06:02