图像

无损压缩图片

0次调用
2 积分/次

还在为图片体积和加载速度发愁吗?体验一下我们强大的无损压缩服务,它能在几乎不牺牲任何肉眼可感知的画质的前提下,将图片体积压缩到极致。

功能概述

你只需要上传一张常见的图片(如 PNG, JPG),选择一个压缩等级,就能获得一个体积小到惊人的压缩文件。这对于需要大量展示高清图片的网站、App 或小程序来说,是优化用户体验、节省带宽和存储成本的利器。

使用须知

图片越大或压缩等级越高,处理时间可能越长,请您耐心等待。

处理时间提醒 在访问量较高时,处理时间可能进一步延长。如果您的业务对返回时间比较敏感,建议预留充足的处理时间。

请求与响应格式

  • 请求必须使用 multipart/form-data 格式上传文件。
  • 成功响应将直接返回压缩后的文件二进制流 (image/*),并附带 Content-Disposition 头,建议客户端根据此头信息保存文件。

参数详解

level (压缩等级)

这是一个从 15 的整数,它决定了压缩的强度和策略,数字越小,压缩率越高。所有等级都经过精心调校,以在最大化压缩率的同时保证出色的视觉质量。

  • 1: 极限压缩 (推荐,体积最小,画质优异)
  • 2: 高效压缩
  • 3: 智能均衡 (默认选项)
  • 4: 画质优先
  • 5: 专业保真 (压缩率稍低,保留最多图像信息)

错误处理指南

  • 400 Bad Request: 通常因为没有上传文件,或者 level 参数不在 1-5 的范围内。
  • 500 Internal Server Error: 如果在压缩过程中服务器发生内部错误,会返回此状态码。

查询参数

level
integer可选

压缩强度 (1-5),默认为 3。数字越小,压缩率越高。

format
string可选

输出图片格式,可以是 'png' 或 'jpeg'。

请求体

file
file必填

支持PNG, JPG, JPEG等常见图片格式。文件大小不超过15MB。

响应

200 / 请求成功

压缩成功响应。响应是压缩后的图片二进制数据。返回格式会依据你选择的目标格式变化,默认是 PNG 图片数据。

image/*
图片响应说明
Response · Image/*
这是什么

接口返回的是图片的二进制数据流,而非 JSON 对象。客户端在接收到响应后,需要将其作为图片文件进行解析和处理。

前端展示方案

在浏览器环境中,最标准的做法是将响应体读取为 Blob 对象,并通过 URL.createObjectURL 生成一个临时的本地访问地址,最后将其赋值给 <img> 标签。为了避免内存泄漏,建议在图片加载完成后释放该 URL。

TYPESCRIPT
Node.js 服务端保存方案

如果是在 Node.js 环境中调用该接口,可以将响应转换为 ArrayBuffer,再转为 Buffer 并写入本地文件系统。

TYPESCRIPT

400 / 错误的请求

请求无效。可能是未上传文件、文件格式不受支持或参数错误。

JSON

500 / 服务器内部错误

服务器内部错误。压缩过程中发生错误。

JSON