OctaFuse Gateway 2.14.0 新增了多平台图片与语音接入:使用 OpenAI 接口的客户端,可以通过转换路由调用 MiniMax、Seedream 和 Gemini 的相应能力,也能传入厂商特有参数。
这次还补上了按路由组设置用户折扣和价格预览。后台配置改为逐项保存,修改用户资料时也不再写回旧的消费数据。
01|图像与语音接入扩展
客户端支持 OpenAI 接口,上游却要求另一种协议时,可以在 OctaFuse 中配置转换路由,由网关转换请求和响应。2.14.0 新增和扩展的接入如下:
| 上游 | 本次接入变化 | 客户端调用方式 |
|---|---|---|
| MiniMax | 新增文件转写、语音合成和图片生成适配器 | 使用 OpenAI 转写、语音合成或生图接口,也可调用 MiniMax 原生入口 |
| Seedream | 新增火山方舟与 BytePlus 共用的专用生图适配器 | 使用 OpenAI 生图接口,或调用新增的原生生图入口 |
| Gemini 图片模型 | 补齐原生图片请求处理,新增 OpenAI 生图转换 | 使用 OpenAI 生图接口,或沿用 Gemini 原生入口;上游支持 Gemini API 和 Vertex AI |
| 百炼 | 补充原生语音合成、异步文件转写与任务查询,完善多模态分流和 Qwen-TTS-Realtime 会话透传 | 按所需能力配置原生路由,原有 OpenAI 转换路由仍可使用 |
接入时,先配置供应商端点,再导入模型、建立路由。编辑器会按供应商协议和模型名筛选适配器;调用指南列出客户端入口、字段转换、计费方式、限制和 SDK 示例。
各适配器的支持范围不同:
- Gemini :OpenAI 生图转换支持参考图和尺寸映射,但只支持单张、非流式、
b64_json响应,不支持/v1/images/edits。需要流式或 Gemini 原始响应时,使用原生入口。 - Seedream :OpenAI 转换返回非流式 JSON,原生入口支持 JSON 和 SSE。支持组图的型号可用
n请求多张,5.0 Pro / Flash 则只能为1。 - MiniMax:文件转写不支持流式,单文件上限为 25MB;同步语音合成支持非流式和 SSE。
MiniMax 转写按时长、语音合成按上游返回的字符用量计费,MiniMax 和 Seedream 生图按成功张数计费。Gemini 图片请求按文本、图片等用量分项计费;没有返回有效图片、客户端取消或网关超时的 Gemini 生图请求,不扣 Gateway 用户额度。MiniMax 返回业务错误时,即使 HTTP 状态成功,也按失败处理。
厂商特有参数也能传入
图片比例、分辨率、语音情绪等参数往往不在 OpenAI 标准字段里。2.14.0 允许 OpenAI 图像生成、图像编辑、语音合成和转写请求携带额外字段,按上游原生结构合并到请求体。
例如,调用 MiniMax 语音合成路由时,用 OpenAI SDK 的 extra_body 设置情绪、音高和语言:
python
client.audio.speech.create(
model="minimax-speech-2.8-hd",
input="你好,欢迎使用 OctaFuse。",
voice="male-qn-qingse",
extra_body={
"voice_setting": {"emotion": "happy", "pitch": 2},
"language_boost": "Chinese",
},
)
model 填 Gateway 中已配置的模型 ID,voice 填 MiniMax 音色 ID。额外字段需符合对应厂商的格式;路由池包含多种协议时,要确认每个候选上游都能接受这些字段。
额外字段总量不能超过 32KB,模型名以及适配器用于计费和解析响应的关键字段不能被覆盖。路由默认值和强制覆盖仍按原有规则生效;百炼语音合成的 input.* 参数仍需写在路由请求参数中。
配好后直接验证结果
调试台(Playground)和模拟器(Simulator)支持调用新增的原生入口,编辑 Gemini 生图请求、预览图片,以及播放 MiniMax 非流式响应中的音频。生图样例按模型选择最低分辨率档位,避免使用不支持的尺寸。
MiniMax 原生语音合成设置 stream: false 后,返回的音频可直接播放或下载。
调试台只验证所选上游,不扣 Gateway 用户额度,但仍可能产生供应商调用费用。要检查鉴权、选路和实际扣费,使用模拟器或真实客户端。
02|用户分组折扣
日常使用和限时活动共用一个模型时,可能需要给同一用户不同的价格。此前用户倍率只按模型设置;2.14.0 可以进一步区分路由组。
在用户详情的"额度与计费"中,为模型添加分组倍率即可:
| 配置范围 | 用户倍率 |
|---|---|
default 分组 |
0.8 |
campaign 分组 |
0.5 |
其他分组(* 兜底) |
0.9 |
按表中配置,campaign 使用 0.5,default 使用 0.8,其余分组使用 0.9。既没有匹配的分组,也没有 * 兜底时,沿用原路由计费。
用户倍率仍与路由有效倍率组合,不直接等于最终折扣。路由倍率为 0.6、用户倍率为 0.5 时,"相乘"模式得到 0.3,"取较小值"模式得到 0.5。只调整用户费用,供应成本不变。
分组倍率适用于文本、图片、音频扣费和模型列表的折扣展示。原有数字倍率继续对全部分组生效,无需改写。
图中默认倍率为 ×1,default 分组单独设置为 ×0.4。
保存后,在用户详情的"模型列表"中查看该用户可见的模型,核对各分组的目录、路由和合成倍率。
图中目录倍率为 ×2,default 和 free 分组分别展示路由与合成倍率。
预览只读取已保存的配置,不发起模型调用,也不消耗用户 RPM。默认显示 default、free 分组的文本模型,可按类型、分组和模型筛选,每次最多返回 40 个。门户也可通过只读接口 GET /api/admin/users/:id/models 获取结果。
03|后台配置升级
管理员编辑资料期间,用户可能仍在调用模型。此前保存整份表单可能把页面加载时的旧消费值写回去,覆盖新增消费。2.14.0 只提交修改过的字段,调整邮箱、限流或倍率不会影响最新用量。
用户详情分为"概览""额度与计费""模型列表""活动记录"。修改额度重置周期或时间,不再自动清零本周期已消费额度;需要修正消费值时,须单独修改对应字段。离开未保存的页面时会提示确认。
网关配置页按卡片独立保存。例如调整业务时区时,其他卡片中的草稿不会一起提交。卡片会标记未保存的修改,也可单独撤销。
04|其他更新
| 场景 | 本次变化 |
|---|---|
| 供应商预设 | 新增按量付费的"千问 AI 平台"和 MiniMax 国际站,更新千问 Token Plan 地址;按各平台能力补充 Responses、Anthropic、图像和音频端点,修正 LongCat Chat 地址。 |
| 端点配置 | 仅支持部分 OpenAI 能力的模板改为列出具体端点,不再用 Base 推导未确认支持的接口;百炼端点说明补充了 Base 与套餐专用端点的区别。 |
| 新增模型预设 | 新增 Claude Haiku 5.5、Gemini Nano Banana 2.1,以及 MiniMax ASR 1.0、Speech 2.8 HD / Turbo、Image 01 / 01 Live,补齐对应模态和计价配置。 |
| 价格与计价修正 | 修正 Claude Sonnet 5.5 缓存读取价格、Seedream 5.0 Pro 分辨率价格档位和 Grok Imagine Image 2.0 计价;OpenAI 生图未传 size 时,可用扩展字段 resolution 选择计价档位。 |
| 参数排查 | 多模态请求日志补充额外字段和被恢复的受保护字段记录,便于确认参数最终如何处理;data URL 内容会脱敏。 |
| 供应商卡片 | 未配置密钥或待确认的卡片不再显示"点击前往";导入和编辑弹窗仍可打开对应平台。 |
预设导入不会覆盖已有的同 ID 模型,也不会改写既有供应商端点。新地址和修正价格需核对上游后手动更新。
升级到 2.14.0
从 2.13.0 升级没有新增数据库结构迁移或必填配置。先备份数据库,再统一更新 Proxy、Admin 和 migrate 镜像;更早版本仍需按顺序执行未应用的迁移。所有 Proxy 升级后,再启用新协议或分组倍率。
升级时检查以下配置:
- 新多模态路由 :MiniMax 图像与音频需配置
minimax.base,Seedream 专用适配器需配置volcengine.base,Gemini 图片转换需有效的 Gemini 端点,再导入模型并配置路由。已有 OpenAI 透传 Seedream 路由可以继续使用,无需强制切换;新增协议不代表视频、音乐等能力也已支持。 - 百炼生图尺寸 :
dashscope-image-qwen和dashscope-image-wan不再自动将1024x1024改成1024*1024,而是原样传给上游。依赖旧转换的客户端或路由参数需要调整,按对应型号要求使用1K、2K或宽*高等取值。 - 存量端点与价格:已导入的数据不会自动更新。如果供应商仍通过 Base 声明了实际不支持的接口,应改为具体端点。Anthropic 和 Google 的 CNY 预设是 USD × 7 的换算占位价,不是独立人民币刊例。
- 外部系统读取倍率 :原有数字配置保持兼容。使用新分组配置后,直接读写
charged_cost_factors的业务系统需兼容对象值;解析计价审计时,需允许新增的user_charged_factor_route_group分组键。
本次升级无需执行 scripts/db/migrate-image-billing-modes.mjs。如需使用,该脚本会修改多个指定模型的计价配置和价格,应先备份并检查 --dry-run;它不用于更新 Sonnet 缓存价格。
升级后,分别测试转换路由和原生路由,核对图片或语音用量与扣费,再检查分组折扣、兜底结果和配置保存。MiniMax 原生转写仍整段缓冲,不实时下发 SSE;无法读取时长时按文件估算计费。
完整变更与升级说明见 GitHub Release v2.14.0 和 更新记录。
如果 OctaFuse 对你的项目有帮助,欢迎在 GitHub 上点一个 Star,也欢迎反馈多模态接入、分组折扣和后台配置中遇到的问题。