文档
对话之外,还有六种
六个能力,一个能力一个别名,同一把 key、同一个 base_url。它们和对话模型分开列,是因为共用一条规则:别名只会在当前模型被上游下线时才换成别的,超时不会换,也永远不会静默换。
embedding
auto/embed
1024 维向量。只有一个候选,故意的
rerankauto/rerank
把检索结果的顺序修回来的那一步
ttsauto/tts
语音合成,以及为什么它返回地址而不是字节
asrauto/asr
转写,不用先把文件传到什么地方
imageauto/image
文生图,并且告诉你这张是谁画的
videoauto/video
文生视频,异步,约两分钟,三种状态
都在同一份清单里
往 /v1/models 发一个 GET,这六个别名连同对话模型一起列出来。那个接口不需要 key。
curl https://tokenexchage.com/v1/models
为什么别名不换模型
大多数路由层把「模型挂了」当成「请求挂了」,换下一个候选重试。对话场景这样没坏处——换个模型照样答,而且你看得出来答的人变了。
这六个能力不一样,每一种「静默换掉」都会造成不可见的损坏:
| 向量 | 换模型 = 换坐标系,索引直接废掉 |
| 重排序 | 换模型 = 同一个查询返回另一种排序 |
| 语音合成 | 换模型 = 音色变了,一期节目听到一半换人 |
| 语音识别 | 换模型 = 标点和断句变了,文本读着有点不对 |
| 文生图 | 换模型 = 画风变了,一套图里混进异类 |
| 文生视频 | 换模型 = 换了一条片子 |
所以只有一种情况会往下走:当前模型在上游被下线了(404 / 410)。那时不换就等于什么都没有。其余失败一律如实报错,并告诉你是哪个模型失败的。
英文文档
同一批内容的英文版在 freemodel.online/docs,接口两边一致,base_url 各自指向本站。