客户开发人员接入手册 · Developer API Reference / 正式服务
一个标准接口,
接入持续扩展的模型。
万川智流提供普通 HTTPS API。本页主要提供给客户的开发人员、技术服务商和系统集成人员,用于把万川智流接入网站后端、电商系统、Dify、n8n、机器人或自研软件。平台管理员也可用它核对对外接口承诺;客户只需保管一个专属 API Key,通过 model 字段切换已授权模型。
API BASE URLhttps://api.wanchuanapi.com
五分钟完成第一次调用
先登录客户控制台创建专属 API Key,再复制固定接口地址和已授权模型 ID。不要把正式 Key 放在浏览器前端、截图或聊天中。
客户接入路径1. 登录控制台账号审核通过后进入个人或企业工作区。
2. 创建 API Key完整密钥仅显示一次,请立即安全保存。
3. 查询模型目录调用 /v1/models 获取当前账号真正可用的模型。
4. 发起并核对请求完成后在控制台核对 Token、费用和账本。
API Base URLhttps://api.wanchuanapi.com/v1
模型目录接口https://api.wanchuanapi.com/v1/models
接口目录
除健康检查外,所有业务接口都需要携带当前租户的 API Key。模型目录会按租户权限返回,不会暴露上游密钥、进价或内部节点。
GET/healthz公开服务健康状态
GET/v1/models查询当前客户实际可调用的模型与公开售价
POST/v1/chat/completionsOpenAI Chat Completions 风格接口
POST/v1/responses统一 Responses 接口
GET/v1/balance余额、冻结额度与平台积分
GET/v1/usage请求级 Token、模型与客户成交费用
GET/v1/ledger当前账号的公开资金变动记录
四步接入
1申请试用、个人或企业账号
2等待平台管理员审核
3登录控制台创建专属 API Key
4先查询模型目录,再从服务端发起请求
Chat CompletionscURL
curl "https://api.wanchuanapi.com/v1/chat/completions" \
-H "Authorization: Bearer $WANCHUAN_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order-copy-20260807-001" \
-d '{
"model": "YOUR_MODEL_ID",
"messages": [{"role":"user","content":"生成一条商品卖点"}],
"max_tokens": 256
}'
可以接到哪些应用:手把手连接教程
先完成统一准备,再按应用操作。万川使用 OpenAI 兼容文本接口和独立媒体接口。应用名称和菜单会随版本变化,但需要填写的四项始终相同。
万川提供自己的 API 连接节点与配置包
本页列出的 Base URL 和已开放下载包都以“客户应用 → 万川 API”为目标,不会把万川 Key 交给应用官网或上游厂商节点。支持自定义 Base URL 的文本客户端直接使用万川配置;当前部署也已开放 ComfyUI 与 n8n 万川图片生视频和视频生视频连接包。
1 · 万川 Base URLhttps://api.wanchuanapi.com/v1。最终请求 Host 必须属于万川;具体字段以各应用教程为准,不能一律机械填写同一个值。
2 · API Key从万川客户控制台创建,只保存在应用凭据库或环境变量;不要放入截图、公开工作流或前端源码。
3 · 精确模型 ID示例客户逻辑模型为 bytedance/seedance-2.5-high-speed;仍须先调用 GET https://api.wanchuanapi.com/v1/models 或媒体目录,只复制当前账号返回的 ID,不要填上游请求 ID。
4 · 接口类型聊天走 /chat/completions;向量走 /embeddings;图片与视频生视频都先走万川 /media/inputs,再走 /media/jobs。
5 · 成功核对发送最小请求后,在客户控制台核对同一模型的请求、Token、费用或生成记录。
输入素材生命周期:平台不设置单张图片独立字节上限;图片和视频共同占用每账户 10 GiB 输入配额,视频单文件上限为 500 MiB。输入达到 ready 后会一直保留,直到显式调用 DELETE /v1/media/inputs/{input_id};仍被活动媒体任务引用时不能删除。只有私有对象清理确认且记录进入 deleted 后,相应配额才释放。所选上游模型仍可能有更小限制。
curl https://api.wanchuanapi.com/v1/models \
-H "Authorization: Bearer YOUR_API_KEY"
curl https://api.wanchuanapi.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"YOUR_EXACT_MODEL_ID","messages":[{"role":"user","content":"你好"}]}'
| 看到的现象 | 含义 | 处理方法 |
|---|
GET /v1/models 有结果 | Key、账号和模型目录已经连通。 | 从结果复制精确模型 ID,再配置应用。 |
GET /v1/models 返回空数组 | Key 有效,但当前账号没有最终生效的模型。 | 联系站内客服检查账号模型权限;刷新客户端不会新增模型。 |
401 / invalid_api_key | Key 缺失、错误、已撤销或轮换。 | Header 必须为 Authorization: Bearer YOUR_API_KEY,不要多引号或空格。 |
403 | 账号、模型或调用策略不允许。 | 确认该模型出现在当前 Key 的 /v1/models 结果中。 |
404 | 常见于重复填写 /v1、模型 ID 错误或接口类型错误。 | 检查应用最终请求 URL,避免 /v1/v1;媒体模型不要发到 Chat 接口。 |
| 错误信息显示其他厂商域名 | 该节点绕过万川,正在直连厂商。 | 改用支持自定义 Base URL 的 OpenAI Compatible 节点或通用 HTTP 节点。 |
| 应用报错且控制台无记录 | 请求通常还未到达万川。 | 先用上面的 cURL 验证,再检查应用节点、代理、DNS 和防火墙。 |
Cherry Studio
直接接入- 打开“模型服务”,新增 OpenAI Compatible,不要选择只能官方登录的提供商。
- API Host / API 地址填 Origin
https://api.wanchuanapi.com,不要追加 /v1;API Key 填客户专属 Key。 - 手动添加
GET /v1/models 返回的精确模型 ID。 - 保存后检查连接测试或网络日志:模型目录最终路径必须是
/v1/models,聊天最终路径必须是 /v1/chat/completions;若缺少 /v1 或出现 /v1/v1,停止使用并先确认客户端版本的 URL 拼接规则。
Chatbox
直接接入- 打开“模型提供方”,新增自定义 OpenAI-compatible Provider。
- API Host / Base URL 填
https://api.wanchuanapi.com/v1,API Path 填 /chat/completions。 - 填客户专属 Key,并手动添加
GET /v1/models 返回的精确模型 ID。 - 保存后确认最终请求必须是
https://api.wanchuanapi.com/v1/chat/completions,再到控制台核对请求记录。
OpenWebUI / LibreChat
万川配置包- 下载万川客户端配置包,按对应应用模板新增名为“万川 API”的 Provider。
- Base URL 填
https://api.wanchuanapi.com/v1;Key 只保存在服务器端配置。 - 刷新模型目录;若应用不自动加载,就手动添加精确模型 ID。
- 重启或保存连接后发起最小对话,确认实际 Host 与控制台记录都属于万川。
LobeChat
重定向内置 OpenAI- 下载万川客户端配置包并使用其中的 LobeChat 模板。
- 模板把
OPENAI_PROXY_URL 指向 https://api.wanchuanapi.com/v1,Key 只通过服务端环境变量注入。 - 按模型白名单只开放当前账号返回的精确模型 ID。
- 这会把 LobeChat 的内置 OpenAI 槽位重定向到万川,不是新增独立 Provider;界面和内部 Provider ID 仍可能显示 OpenAI。发起最小对话后仍须确认实际 Host 与控制台记录属于万川。
Dify
直接接入- 进入“设置 → 模型供应商”,选择支持自定义地址的 OpenAI Compatible 提供商。
- 填写
https://api.wanchuanapi.com/v1 和专属 Key。 - 点“添加模型”,粘贴精确 ID;聊天模型选 LLM,向量模型选 Embedding。
- 在应用编排页选择该模型并运行一次;两边账本会分别记录。
n8n
万川媒体工作流- 下载图片生视频工作流或下载视频生视频工作流,导入后先保持未激活;需要主动释放配额时另行下载显式删除输入工作流。
- 在 n8n 凭据库新建 Bearer Header Auth;下载文件不含 Key。
- 图片工作流上传 PNG/JPEG/WebP,平台不设置单张图片独立字节上限;图片与视频共同占用每账户 10 GiB 输入配额。视频工作流要求预先转为 H.264 MP4,视频单文件上限为 500 MiB、时长 1–30 秒、最大 3840×2160,所选上游模型仍可能有更小的能力限制。大视频须使用 n8n filesystem 或企业 external binary 模式,避免 Code 节点全量载入内存。两种素材都直接上传万川
/v1/media/inputs,再用返回的不透明输入 ID 创建并轮询任务。 - 输入达到
ready 后一直保留到显式调用 DELETE /v1/media/inputs/{input_id};仍被活动媒体任务引用时不能删除。 - 示例客户逻辑模型为
bytedance/seedance-2.5-high-speed;仍须以 GET https://api.wanchuanapi.com/v1/media/models 返回为准,不要填上游请求 ID。
ComfyUI
万川图片/视频生视频节点安装后显示“万川 API|图片生视频”“万川 API|视频生视频”和“万川 API|手动删除媒体输入(仅用户触发)”。三个节点都只连接万川媒体接口,不连接 ComfyUI 官网或 ByteDance 官方节点;只有厂商 Key 输入框、不能修改请求地址的节点仍会绕过万川。
- 下载 ComfyUI 万川节点包,解压到
ComfyUI/custom_nodes,并确认最终路径为 ComfyUI/custom_nodes/comfyui-wanchuan/__init__.py 后重启。 - 把 Key 注入 ComfyUI 进程环境变量
WANCHUAN_API_KEY;节点没有 Key 输入框,工作流 JSON 不保存 Key。 - 图片生视频连接官方
Load Image;视频生视频连接官方 Load Video 的 VIDEO 输出,节点在本地转为 H.264 MP4 后直传万川 /v1/media/inputs。 - 生成节点会在旧的三个结果之后追加万川 input ID;只有用户连接该 ID、明确确认并运行删除节点时才会删除。若上传后任务创建、轮询或下载失败,错误信息会列出仍保留的 input ID,便于之后手动清理。
- 示例客户逻辑模型为
bytedance/seedance-2.5-high-speed;仍须以 GET https://api.wanchuanapi.com/v1/media/models 返回为准并确认对应媒体能力,不要填上游请求 ID。
POST https://api.wanchuanapi.com/v1/media/jobs
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{"model":"bytedance/seedance-2.5-high-speed","prompt":"保持商品外观,镜头缓慢环绕","parameters":{"input_asset_ids":["INPUT_ASSET_ID"],"duration":5,"resolution":"480p","aspect_ratio":"16:9","provider_processing_acknowledged":true}}
GET https://api.wanchuanapi.com/v1/media/jobs/JOB_ID
Authorization: Bearer YOUR_API_KEY
Flowise / Langflow / FastGPT / 机器人平台
按版本判断- 查找 OpenAI Compatible、Custom OpenAI 或 Base URL 设置。
- 能同时自定义 URL、Authorization Header 和 Model 时直接填写统一信息。
- 没有这些字段时改用 HTTP/API 工具;不能自定义 Header 的平台不能安全直连。
- Key 必须保存在平台的凭据库,不要写入公开模板。
Python / Node.js / Java / Go
直接接入- 把 Key 放在服务端环境变量或密钥管理器,不要写死在代码中。
- OpenAI SDK 的
base_url 设为 https://api.wanchuanapi.com/v1。 - 先列出模型,再按 Chat、Embedding 或 Media 接口调用。
- 生产环境配置超时、幂等键、有限重试和脱敏日志;401/403 不应自动重试。
Claude Code / Codex CLI / 官方专用客户端
条件兼容- 确认当前版本明确支持第三方 Base URL 和 OpenAI 兼容协议。
- 只接受官方登录或厂商原生协议时,不能用万川 Key 替换。
- 不要修改 hosts、注入证书或使用来源不明的代理强行接管流量。
ChatGPT GPT Action / 应用连接器
单独配置- 它是通过公开 REST 接口执行指定动作,不是把万川设置成 ChatGPT 的底层模型。
- 使用公开 OpenAPI 文档声明需要的端点,并按连接器要求保存认证。
- 只开放业务所需的最小接口,不在提示词或共享 GPT 中写入长期 Key。
判断原则:万川连接的最终 API Host 必须属于万川。能自定义请求地址的文本客户端使用万川配置包;ComfyUI 与 n8n 使用上方万川节点/工作流;只有官方登录或单一厂商 Key 输入框的节点会绕过万川,不能使用。前端不能直接保存正式 Key,网页、移动 App 和小程序应由自己的服务端代发请求。
Python 示例
兼容 OpenAI 客户端的应用,只需替换 Base URL、API Key 和模型名。先调用 /v1/models 获取当前账号可用模型。
OpenAI Python SDK compatible服务端运行
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["WANCHUAN_API_KEY"],
base_url="https://api.wanchuanapi.com/v1",
)
result = client.chat.completions.create(
model="YOUR_MODEL_ID",
messages=[{"role": "user", "content": "生成一条商品卖点"}],
max_tokens=256,
)
print(result.choices[0].message.content)
个人版一枚 Key;企业版多 Key 统一结算
客户无需为每个模型重新开发接口。平台只允许调用当前账号目录中已发布的逻辑模型,并按所选模型的当前公开售价计费。
先查询GET /v1/models 返回模型 ID、可用状态、能力、上下文限制和当前 CNY 售价。
再调用把返回的模型 ID 放入请求的 model 字段。模型不同,售价和能力随之切换。
Key 不变个人版一枚 Key 可调用账号获准的全部模型;企业版多枚 Key 仍归入同一余额、用量与账本。
用量可追溯控制台显示所用模型、请求/响应 Token、客户成交费用、余额和公开价格版本。
人工充值与站内客服
个人客户提交充值金额和支付宝/微信偏好,管理员回传订单专属收款码;到账核对通过前不会增加余额。企业客户可通过站内工单联系商务、合同和对公核款。
GET/v1/payment-methods查询人工收款渠道
POST/v1/payment-orders提交金额与付款方式绑定的充值申请
GET/v1/support/tickets查询当前租户客服对话
POST/v1/support/tickets发起企业接入、API、账单或技术工单
账号实际可用能力
请先使用当前账号的 API Key 调用 GET /v1/models。返回结果就是该账号可以直接调用的模型、能力、上下文上限和当前公开价格;未返回的模型不可调用。
一枚 Key 调用账号内全部已授权模型RPM / TPM / 并发 / 费用四重保护真实 Token 用量与请求级账单
平台不会向客户端返回上游密钥、采购成本、内部节点或实际路由拓扑。模型不可用时会明确返回错误,不会静默替换成另一种模型。
按账号类型管理 API Key
个人版维护 1 个活动 Key;企业版可维护最多 10 个命名 Key,全部归入同一企业余额、用量与账本。完整密钥只在创建时显示一次;之后只显示名称、前缀、权限、到期时间和最后使用时间。
个人版更简单一枚 Key 即可调用全部已授权模型;需要更换时先撤销或轮换,不产生多个余额账户。
企业版最小权限按应用勾选 inference、models、usage、balance、media 或 support,并可设置 IP 白名单和到期时间。
独立撤销、统一结算企业单个 Key 泄露只撤销该 Key,不影响同账户其他应用;所有 Key 仍使用同一企业账本。不要把 Key 放进浏览器 JavaScript、客户端安装包、截图或聊天。
向量嵌入接口
使用客户控制台中已授权的精确向量模型 ID。首批文本向量接口固定返回 1024 维向量,并按照供应商回传 Token 用量结算。
精确模型选择
每个可用模型都在 GET /v1/models 中以自己的品牌、版本和精确 model ID 单独出现。切换模型只需修改请求中的 model,API Key 与接口地址保持不变。
模型身份透明不会用统一名称掩盖实际模型,也不会把一种模型冒充成另一种模型。
逐模型公开价格每个模型分别展示当前输入与输出售价,请求按该模型调用时绑定的价格快照结算。
同模型故障切换只有经过兼容性验证的同一精确模型节点才能用于故障切换;不会跨不同模型静默重试。
客户界面只展示公开售价、实际 Token 用量与账单,不展示采购成本、上游密钥或内部路由拓扑。
状态与机器可读文档
公开状态页不显示上游密钥、成本、预算或内部节点。OpenAPI 文档可导入兼容工具,但仍应先以客户控制台中的模型目录和权限为准。
GET/status公开服务状态与已发布事件
GET/openapi.jsonOpenAPI 3.1 机器可读接口说明
客户账号、会话、钱包、账本、用量、幂等记录与请求恢复事件均已写入 PostgreSQL;可用模型、额度与并发以当前账号方案为准。人工核款与服务级别以页面公示及双方约定为准。