Provider 与 Channel
用 Group 内有序的 Provider 和内嵌 Channel 定义上游路由。
概念
- Provider(服务提供者) 属于一个 Group。它定义路由顺序、默认价格、健康策略和有序的变换链。
- Channel(通道) 是 Provider 唯一的上游端点。它保存上游类型、Base URL、凭据、模型映射和超时。
请求先选择 Provider,再在其中选择 Channel。选择规则参见路由与可靠性。

创建 Provider
- 在侧边栏打开服务提供者。
- 点击创建按钮并输入名称。
- 选择一个 Group,并配置内嵌 Channel。
- 确认 Provider 和 Channel 名称可以显示在公开页面中。
- 默认值不合适时,设置
channel_max_retries和channel_retry_interval_ms。 - 除非有明确理由,保持
circuit_breaker_enabled开启。
配置 Channel
- 打开 Provider 并选择 Channel。
- 选择上游类型:
responses、chat_completion、messages、gemini、openai_image、replicate、seedance或minimax_video。 - 填写上游 Base URL 和 API 密钥。
- 可选:设置
proxy_url,覆盖进程级上游代理。
之后编辑 Channel 时,API 密钥留空则保持原有密钥不变。
如果图片模型的上游要求使用 Images API,请将该模型的 API 类型覆盖设为 openai_image。带用户图片的请求使用 /v1/images/edits,包括流式请求。内嵌图片使用 multipart 上传。URL 或文件 ID 引用使用 JSON;请确认上游支持对应的引用类型。
会话缓存请求头
在 Channel 上设置自动会话亲和,即可在每个转发请求上发送稳定的会话标识。
该设置为 null 时,Monoize 对以下 Base URL 自动开启:
- Cloudflare Workers AI:
https://api.cloudflare.com/client/v4/accounts/{account_id}/ai(可选/v1) - OpenCode Zen 或 OpenCode Go:
https://opencode.ai/zen及其子路径
开启后,Monoize 用同一值发送这两个请求头:
x-session-affinityx-opencode-session
取值顺序:Channel 自定义请求头中的上述任一名称、客户端请求头(session_id、session-id、x-session-id、x-opencode-session 或 x-session-affinity)、请求体中的会话标识、prompt_cache_key,最后是会话头部的哈希。
OpenCode Go 用 x-opencode-session 将会话绑定到提示缓存。缺少该请求头的请求可能失败。
对 OpenCode Zen 或 OpenCode Go 的存活探测:当 Channel 自定义请求头未设置这两个名称时,发送字面值 mono-probe。
测试 Channel
打开 Channel,运行顺序测试或并发测试。
测试会发送一次短流式补全,输出上限为 16 个 token。仅 HTTP 2xx 不够。流必须到达协议终结事件。
对 Responses Channel,response.completed 算通过。没有 error 对象的 response.incomplete 也算通过。推理模型可能打满 16 token 上限并返回 incomplete。该结果仍表示 Channel 可达。
映射模型
内嵌 Channel 列出它服务的逻辑模型。模型映射包含:
redirect:真实的上游模型名。留空则按逻辑名原样发送。- 价格 Profile 模式:继承 Provider 默认值、覆盖默认值或设为未定价。
- 可选倍率覆盖。未设置时继承 Provider 倍率。
只有当 Channel 已启用且模型映射具有完整价格时,该模型才会路由到这个 Provider。
出现定价警告时仍可保存 Provider。检查每条警告中的逻辑模型和缺失 usage class。发送流量前添加缺失费率。
Provider 变换
Provider 可以持有一组有序的变换规则。它们在 Provider 选定之后、上游编码之前,作用于同步推理请求。视频任务不执行变换。参见变换。
批发 Provider
agent(代理)分组服务代理账户,不持有普通 Provider。
- 先创建一个
agent类别的 Group:可在服务提供者页把目录范围切换到agent后创建,也可在没有代理分组时直接在批发对话框内创建。 - 点击添加批发 Provider。
- 选择一个属于
standard、enterprise或private类别的现有 Provider 作为源。 - 系统一次性复制源 Channel 配置和模型映射。复制后彼此独立,源的变化不会同步。
- 每个模型的倍率默认等于源倍率。保存前可修改任意倍率,之后也可用普通 Provider 编辑器修改。
- 批发 Provider 复用源的 Billing Profile,用自己的倍率决定批发价格。
只有代理账户能看到代理分组、在其中创建 API key 并使用其倍率。代理账户的模型市场与其他类别遵循同一套规则。
分组
每个 Provider 只属于一个 Group。API 密钥只会路由到其允许 Group 中的 Provider。使用 Group 区分用户等级或环境。
创建或重命名 Group 时确认公开显示。公开模型广场和状态页会显示已确认的 Group、Provider 和 Channel 名称。
视频 Channel
选择 seedance 或 minimax_video。Seedance 的 Base URL 为 https://ark.cn-beijing.volces.com/api/v3。MiniMax 的 Base URL 为 https://api.minimax.io。
点击从上游获取,选择要导入的视频模型。Seedance 使用 /api/v3/models。MiniMax 中转站使用兼容 OpenAI 的 /v1/models 接口。此操作只读取模型列表,不生成视频。上游不提供模型列表时,手动添加模型映射。将 redirect 设为上游模型 ID。以 MiniMax-H3 开头的模型使用 v2,其余 MiniMax 模型使用 v1。视频 Channel 不执行补全文本探测或 URP transforms。
打开模型元数据 → 计费 Profile → 视频任务定价,点击添加视频费率。
- 输入 Billing Profile 名称。可选择现有名称,也可创建新 Profile。
- 输入上游模型 ID 或匹配模式。按需限制 Channel 协议。
- 选择 CNY 或 USD,填写每任务价格、优先级和启用状态。
- 保存费率。在 Provider 或模型映射中选择此 Profile。
价格最多支持 9 位小数,允许为 0。切换货币会清空价格,请重新输入对应货币金额。
时长和分辨率不改变此固定单价。最终价格另乘 Provider 或模型倍率。
创建时预留费用,成功后结算一次。确认失败或提交前取消时,退还一次。
结果未知时保留预留费用,等待管理员核查。不要通过新建任务来重试结果未知的提交。
使用带 Idempotency-Key 的 POST /v1/videos 创建任务,再轮询 GET /v1/videos/{id}。参见 API 接口。
截图中的价格仅为示例,不代表上游价格。

也可使用管理 API。使用管理员会话,通过 PUT /api/dashboard/billing-rates/{id} 创建 Billing Profile 的计量费率。以下示例为每个成功任务一元人民币,另乘 Provider 倍率:
{
"pricing_profile": "video-fixed",
"model_pattern": "*",
"rate_kind": "meter",
"usage_class": "video_generation",
"unit": "request",
"unit_price_nano": "1000000000",
"unit_price_currency": "CNY",
"enabled": true
}为 Provider 或模型映射选择该 Profile。不要设置上下文、服务等级和缓存 TTL。match_json 使用空对象。人民币费率需要汇率快照。缺少价格时不能提交任务。
任务执行期间保留原 Channel 的凭据和 Base URL。任务始终绑定原上游账户。修改模型映射或价格只影响新任务。
