Image Guard 参数生成器

生成要直接填进 sub2api 渠道的 base_url,功能参数会编码进路径里。

地址

这里只填代理地址和真实上游 base_url。图片接口路径由客户端请求和 sub2api 自己带过来,不在这里填。

sub2api 在 Docker 容器里时不要填 127.0.0.1,那会指向容器自己。生产按当前固定 Docker gateway 填 http://192.168.112.1:58173
原来 sub2api 渠道里真实上游怎么填能用,这里就照原样填;不需要为了 Image Guard 额外补 /v1。
不要手动补 /images/edits。生成结果里的 /ig/... 是给代理识别的渠道功能参数,真实上游不会收到这些参数。

size 检测和修正

这是一个整体功能:比例接近就直接拉回请求尺寸;比例差太大才重试上游,重试后仍不对就强行改尺寸。

只在返回图宽高比明显偏离请求 size 时触发;次数用完后仍会强行拉回请求尺寸。
例:请求 1520x640,上游给 1932x814 这种比例接近的图,直接拉回 1520x640;请求 1024x1024,上游给 1254x1254 也直接拉回。上游给正方形但请求是 7:3 这类比例差太大的情况,才按上面的次数重新请求上游。

URL 和 base64

这几个开关作用在不同方向:输入、发给上游、上游响应、返回客户端。

auto 表示客户端原本要 URL,就把 base64 data URL 放在 url 字段;否则返回 b64_json
  • 常规图片修正:建议这三项都开。代理能处理输入 URL、要求上游给 base64、并把响应里的 URL 清掉或转成 base64。
  • 只限制 quality:关闭 size 功能,并关闭这三项 URL/base64 开关。这样代理只改/拦截请求体里的 quality,不额外下载、检查或重编码图片。
  • 只想保留上游 URL:关闭“上游响应去除/转换 URL”。但上游只给 URL 时,代理无法对那张 URL-only 图片做 size 修正。

quality 策略

这是独立功能,只处理图片请求体里的 quality 字段,不影响 size、prompt、model。

  • 不处理:不生成 ig_quality_mode,请求里的 quality 原样交给上游。
  • deny + high:只拦截 quality=high,没传 quality 或传 medium/low/auto 都放行。
  • force + medium:不管用户传什么,都改成 quality=medium 后再发给上游。
  • only + medium:只允许 medium;没传会补 medium,传 high/low/auto 会返回 400。