文档

对话之外,还有六种

六个能力,一个能力一个别名,同一把 key、同一个 base_url。它们和对话模型分开列,是因为共用一条规则:别名只会在当前模型被上游下线时才换成别的,超时不会换,也永远不会静默换。

embedding

auto/embed

1024 维向量。只有一个候选,故意的

rerank

auto/rerank

把检索结果的顺序修回来的那一步

tts

auto/tts

语音合成,以及为什么它返回地址而不是字节

asr

auto/asr

转写,不用先把文件传到什么地方

image

auto/image

文生图,并且告诉你这张是谁画的

video

auto/video

文生视频,异步,约两分钟,三种状态

都在同一份清单里

往 /v1/models 发一个 GET,这六个别名连同对话模型一起列出来。那个接口不需要 key。

curl https://tokenexchage.com/v1/models

为什么别名不换模型

大多数路由层把「模型挂了」当成「请求挂了」,换下一个候选重试。对话场景这样没坏处——换个模型照样答,而且你看得出来答的人变了。

这六个能力不一样,每一种「静默换掉」都会造成不可见的损坏:

向量换模型 = 换坐标系,索引直接废掉
重排序换模型 = 同一个查询返回另一种排序
语音合成换模型 = 音色变了,一期节目听到一半换人
语音识别换模型 = 标点和断句变了,文本读着有点不对
文生图换模型 = 画风变了,一套图里混进异类
文生视频换模型 = 换了一条片子

所以只有一种情况会往下走:当前模型在上游被下线了(404 / 410)。那时不换就等于什么都没有。其余失败一律如实报错,并告诉你是哪个模型失败的。

英文文档

同一批内容的英文版在 freemodel.online/docs,接口两边一致,base_url 各自指向本站。