API Reference

图片压缩 API 参考

图片压缩端点的完整参考——基于质量和目标大小的两种压缩模式、参数说明和示例。

端点

POST /api/v1/images/compress

所需权限: image

请求

输入来源

图片转换相同:fileimage_urlimage_base64

压缩模式

选择以下两种模式之一:

模式参数说明
质量模式quality (1–100)压缩到指定的质量等级
目标大小模式target_size_kb (≥1)近似压缩到指定的文件大小(KB)

注意: 目标大小为尽力而为模式——响应会告知是否达到目标。

可选参数

字段类型默认值说明
output_format字符串检测输入格式jpegpngwebpavif。如果输入格式是支持的输出格式,则默认使用。
quality整数 (1–100)80质量模式下的质量值
target_size_kb整数 (≥1)目标大小模式下的目标文件大小
width整数 (1–10000)输出宽度
height整数 (1–10000)输出高度
fit字符串insideinsidecoverfill
preserve_metadata布尔false保留安全的源文件元数据

响应

压缩元数据字段

字段类型说明
quality整数|null请求的质量值(质量模式)
target_size_kb整数|null请求的目标大小(目标大小模式)
target_reached布尔|null是否达到目标
quality_used整数|null实际使用的质量值
preserve_metadata布尔是否保留了元数据

响应还包括与图片转换端点相同的 outputinputmetricsusage 字段。

代码示例

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']}")