Monoize
变换

图像:压缩请求图片

在上游编码前,重新编码 user 图片和工具图片。

行为

此变换重新编码 user 消息中的内联图片和工具结果中的图片。它也处理函数工具参数 JSON 中的图片 data URL 和图片块。可用 max_edge_px 缩放这些图片。自定义工具的自由文本及其他 Base64 保持不变。

skip_if_smaller 开启时(默认),压缩没有减小体积的图片保留原始字节。

对于 JPEG、PNG 和 WebP 字节,此变换根据实际格式识别媒体类型。即使 skip_if_smaller 保留原始字节,它也会纠正不匹配的媒体类型。

如果图片带有 alpha 通道,且选定的输出格式为 jpg,此变换会保留原始字节、媒体类型和尺寸。即使所有像素均不透明,也适用此规则。此规则优先于 max_edge_px 和 skip_if_smaller,以保留透明信息和图像蒙版。请求不含蒙版时,支持 alpha 通道的格式仍按配置压缩。

如果编辑请求包含蒙版,此变换会跳过请求中的所有图片,包括工具图片。它会在查询缓存前保留图片与蒙版的字节、尺寸和对齐关系。

参考信息

属性值
类型 IDimage_compress_input
阶段request
范围Provider, API 密钥

适用场景

  • 客户端发送大照片或截图,上游请求触达大小限制。
  • 你希望限制图像分辨率以控制成本。

配置

选项类型必填默认值说明
output_formatstring否"original"original、jpg、jpegxl_lossless、jpegxl、webp_lossless、webp 或 png。
max_edge_pxinteger否—最大宽度或高度(像素)。省略则保留原始尺寸。
jpeg_qualityinteger否80JPEG 输出的质量,1-100。
jpegxl_qualityinteger否90有损 JPEG XL 输出的质量,1-99。
jpegxl_effortinteger否7JPEG XL 编码力度,1-10。数值越高压缩越慢。
webp_qualityinteger否80有损 WebP 输出的质量,1-100。
skip_if_smallerboolean否true压缩没有减小体积时保留原图。

示例规则

{
  "transform": "image_compress_input",
  "enabled": true,
  "phase": "request",
  "models": [
    "*"
  ],
  "config": {
    "output_format": "webp",
    "max_edge_px": 1568,
    "webp_quality": 80
  }
}

设置环境变量 MONOIZE_IMAGE_TRANSFORM_MAX_* 可以限制解码开销。参见配置。

本页目录