API Reference
图片压缩 API 参考
图片压缩端点的完整参考——基于质量和目标大小的两种压缩模式、参数说明和示例。
端点
POST /api/v1/images/compress所需权限: image
请求
输入来源
与图片转换相同:file、image_url 或 image_base64。
压缩模式
选择以下两种模式之一:
| 模式 | 参数 | 说明 |
|---|---|---|
| 质量模式 | quality (1–100) | 压缩到指定的质量等级 |
| 目标大小模式 | target_size_kb (≥1) | 近似压缩到指定的文件大小(KB) |
注意: 目标大小为尽力而为模式——响应会告知是否达到目标。
可选参数
| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
output_format | 字符串 | 检测输入格式 | jpeg、png、webp、avif。如果输入格式是支持的输出格式,则默认使用。 |
quality | 整数 (1–100) | 80 | 质量模式下的质量值 |
target_size_kb | 整数 (≥1) | — | 目标大小模式下的目标文件大小 |
width | 整数 (1–10000) | — | 输出宽度 |
height | 整数 (1–10000) | — | 输出高度 |
fit | 字符串 | inside | inside、cover、fill |
preserve_metadata | 布尔 | false | 保留安全的源文件元数据 |
响应
压缩元数据字段
| 字段 | 类型 | 说明 |
|---|---|---|
quality | 整数|null | 请求的质量值(质量模式) |
target_size_kb | 整数|null | 请求的目标大小(目标大小模式) |
target_reached | 布尔|null | 是否达到目标 |
quality_used | 整数|null | 实际使用的质量值 |
preserve_metadata | 布尔 | 是否保留了元数据 |
响应还包括与图片转换端点相同的 output、input、metrics 和 usage 字段。
代码示例
import requests
# 质量压缩
response = requests.post(
"https://image-to-text.org/api/v1/images/compress",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={
"image_url": "https://example.com/photo.png",
"output_format": "webp",
"quality": 75,
},
)
# 目标大小压缩
response = requests.post(
"https://image-to-text.org/api/v1/images/compress",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={
"image_url": "https://example.com/photo.png",
"output_format": "jpeg",
"target_size_kb": 200,
},
)
data = response.json()
print(f"节省大小: {data['data']['metrics']['bytes_saved']} 字节")
print(f"使用积分: {data['data']['usage']['credits']}")