图片压缩API

免费体验

通过 API 对图片进行压缩,可按质量、目标大小或尺寸调整输出。适用于批量压缩、电商图片、站点资源优化等场景。支持图片 URL、本地文件上传,以及异步、同步两种调用方式。

接口返回的链接有效期为 1 小时,请及时下载存储。

鉴权

每个 API 请求都必须在请求头中携带你的 API Key。请按当前文档中的请求方式和参数说明,将其作为 X-API-KEY 请求头传入。

X-API-KEY: YOUR_API_KEY

创建图片压缩任务

POST /api/tasks/visual/imgcompress

请求参数

image_url string 可选

源图像 URL。如果存在此参数,则其他图像源参数必须为空。

二选一必填
image_file file 可选

源图像文件(二进制)。如果此参数存在,则其他图像源参数必须为空。

图片上传要求请参看使用规范与限制#7

sync integer 可选

是否等待结果就绪并立即返回。0 表示异步返回 task_id,稍后可通过 task_id 获取结果;1 表示同步等待结果并立即返回。结果最多保留 1 小时。

format string 可选

输出格式,支持 jpg、png、webp。如果原图为 jpg、png、webp,则默认使用原图格式;否则服务会推荐输出格式。

return_type integer 可选

结果返回形式。1 表示返回图片下载 URL;2 表示返回 base64 字符串。默认值为 1。

quality integer 可选

图片压缩质量,范围 1-100。如果存在此参数,则 kbyte 必须为空。

二选一可选
kbyte integer 可选

目标压缩图片大小,单位 KB,范围 0-51200。如果存在此参数,则 quality 必须为空。PNG 输出格式不支持指定文件大小压缩。

width integer 可选

输出图片宽度,范围 0-8000。如果未传 height,则按比例计算高度。

height integer 可选

输出图片高度,范围 0-8000。如果未传 width,则按比例计算宽度。

返回参数

status number

HTTP 响应状态码。200 表示请求成功,非 200 表示请求失败,详见 状态码说明

message string

接口返回消息。成功时通常为 success。

data.task_id string

异步图片压缩任务 ID。创建任务成功后返回,用于后续查询压缩结果。

status number

HTTP 响应状态码。200 表示请求成功,非 200 表示请求失败,详见 状态码说明

message string

接口返回消息。成功时通常为 success。

data.task_id string

图片压缩任务 ID。

data.created_at string

任务创建时间戳。

data.processed_at string

任务开始被处理的时间戳。

data.completed_at string

任务完成的时间戳。

data.image string

压缩结果图片的下载 URL 或 base64 数据,链接有效期为 1 小时。

data.progress number

任务处理进度。100 表示处理完成。

data.state number

任务状态码。1 表示处理成功,大于 1 表示处理中,小于 0 表示失败;-7 表示无效图片文件,详见 状态码说明

查询图片压缩结果

异步请求建议每 1 秒 轮询一次结果,本接口最大轮询时长为 120 秒;累计轮询超过该时长仍未返回结果,即可视为超时失败。

GET /api/tasks/visual/imgcompress/{task_id}

路径参数

task_id string 必填

图片压缩任务 ID。创建异步图片压缩任务后返回,用于查询任务处理结果。

返回参数

status number

HTTP 响应状态码。200 表示请求成功,非 200 表示请求失败,详见 状态码说明

message string

接口返回消息。成功时通常为 success。

data.task_id string

图片压缩任务 ID。任务失败时,可携带该参数联系商务或技术支持。

data.created_at string

任务创建时间戳。

data.processed_at string

任务开始被处理的时间戳。

data.completed_at string

任务完成的时间戳。

data.image string

压缩结果图片的下载 URL 或 base64 数据,链接有效期为 1 小时。

data.progress number

任务处理进度。100 表示处理完成。

data.state number

任务状态码。1 表示处理成功,大于 1 表示处理中,小于 0 表示失败;-7 表示无效图片文件,详见 状态码说明

使用规范与限制

  1. 接口返回的结果图片链接有效期为 1 小时,请及时下载并存储。

  2. HTTP status 为 200 表示 HTTP 请求成功,并非图片压缩成功,任务结果请结合 data.state 判断,详见 状态码说明

  3. 使用 URL 作为参数传递时,请遵守 URL 编码规范,避免参数解析混乱。

  4. image_url 与 image_file 必须二选一;如果传入其中一个参数,其他图像源参数必须为空。

  5. quality 与 kbyte 不能同时传入;如果使用 kbyte 指定目标大小,PNG 输出格式不支持指定文件大小压缩。

  6. 每次成功调用,最长边小于等于 4096px 消耗 1 算粒;最长边大于 4096px 且小于等于 8000px 消耗 2 算粒。

  7. 上传图片需符合以下格式、分辨率和大小限制。

    格式分辨率大小
    jpg, jpeg, bmp, png, webp, tiff, bitmap, gif, lzw, raw, rgb最大 8000x8000最大20MB