kimi-free-api:KIMI 免费 API 部署与功能完整指南
【免费下载链接】kimi-free-api🚀 KIMI AI 长文本大模型逆向API【特长:长文本解读整理】,支持高速流式输出、智能体对话、联网搜索、探索版、K1思考模型、长文档解读、图像解析、多轮对话,零配置部署,多路token支持,自动清理会话痕迹,仅供测试,如需商用请前往官方开放平台。项目地址: https://gitcode.com/GitHub_Trending/ki/kimi-free-api
你有没有遇到过这种时刻:想给小工具接上对话能力,商业 API 的计费页面却让你犹豫了半天?kimi-free-api 把 KIMI 网页版的长文本解读、联网搜索、多轮对话封装成一个免费接口,输出直接对齐 OpenAI 格式。跟着下文的命令,5 分钟就能跑通你的第一个对话请求。
⚡ 30 秒跑通第一条对话
服务跑在 Docker 里,一条命令拉起(机器需能访问外网,开放 8000 端口):
docker run -it -d --init --name kimi-free-api -p 8000:8000 -e TZ=Asia/Shanghai vinlic/kimi-free-api:latestrefresh_token 这样取:打开 kimi.moonshot.cn 随便发一条消息,F12 进入 Application > Local Storage 复制refresh_token的值;如果显示为数组,用.拼接后再用。
然后发一个最小请求(TOKEN 换成上面取到的值):
curl http://localhost:8000/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer TOKEN" \ -d '{ "model": "kimi", "messages": [{"role": "user", "content": "你是谁?"}], "stream": false }'预期返回一段 OpenAI 风格的 JSON,回复正文在choices[0].message.content里。刚才那条 docker 命令做的事说白了就是:拉取现成镜像、在容器里起服务、把 8000 端口映射出来,交付给你一个只认 OpenAI 协议的 HTTP 端点。
接口与 ChatGPT 格式完全兼容:已有客户端把 base_url 换成http://<你的地址>:8000/v1、api_key 填 refresh_token 就能接入,GET /v1/models也照常返回模型列表。compose、Render、Vercel、原生 PM2 等部署方式见 README。
能力全景:一张表看懂差异
| 维度 | kimi-free-api | 同类商业 API |
|---|---|---|
| 成本 | 免费,受免费账号额度约束 | 按 token 或调用量计费 |
| 部署 | 一条 docker 命令即可 | 企业申请与审批流程 |
| 多模态 | 长文档、图像、网页检索 | 多为纯文本对话 |
| 兼容格式 | OpenAI chat/completions | 各家专有协议 |
| 稳定性 | 依赖网页端接口,会波动 | 有 SLA 保障 |
模型名还支持几个变体:kimi-search(联网)、kimi-research(探索版)、kimi-k1(思考模型)、kimi-math(数学)、kimi-silent(不输出检索过程),按需切换。
多轮对话:传一个 id 接续上下文
解决"模型记不住上一句"的问题:首轮响应里带回的id就是会话句柄,第二轮起把它作为conversation_id传回即可(首轮不传)。
{ "model": "kimi", "conversation_id": "cnndivilnl96vah411dg", "messages": [{"role": "user", "content": "继续刚才的话题"}] }做客服机器人、学习陪聊这类需要记住前文的场景时用它。下图是实际效果,模型接住了关于鲁迅的连续追问。
联网搜索:一个参数开启实时信息
解决"模型不知道今天发生了什么"的问题:use_search置为 true 即触发联网检索,回答前会附带带链接的检索来源。
{ "model": "kimi", "use_search": true, "messages": [{"role": "user", "content": "现在深圳天气怎么样?"}] }做日报聚合、行情播报这类需要实时信息的工具时用它。下图展示了检索结果与最终回答的完整输出。
长文档解读:file 字段直接喂 PDF
解决"百页 PDF 读完要半天"的问题:在消息里放一个file内容块指向文件 URL(支持 base64),服务先上传解析再作答,单文件上限 100MB。
{ "model": "kimi", "use_search": false, "messages": [{ "role": "user", "content": [ {"type": "file", "file_url": {"url": "https://example.com/a.pdf"}}, {"type": "text", "text": "文档里说了什么?"} ] }] }合同初审、论文速读、标书梳理时用它,建议关掉联网搜索以免干扰解读。下图是对一份 PDF 的逐条解读结果。
图像解析:兼容 Vision 请求格式
解决"只想让模型看图说话"的问题:image_url格式与 gpt-4-vision 兼容,截图、图表、票据都能丢进去。
{ "model": "kimi", "messages": [{ "role": "user", "content": [ {"type": "image_url", "image_url": {"url": "https://example.com/a.png"}}, {"type": "text", "text": "图像描述了什么?"} ] }] }内容审核、票据识别、图表转文字这类视觉任务用它。下图是 NextChat 客户端通过接口解析标识图的实际画面。
智能体对话:model 填智能体 ID
解决"想要官方智能体专属能力"的问题:把浏览器地址栏尾部那串 20 位 ID 填进model字段,即可调用如"翻译通"这类官方智能体。
{ "model": "coo6l3pkqq4ri39f36bg", "messages": [{"role": "user", "content": "说到中国文化,不能不提到长城……"}] }想把翻译、润色、出题等固定职能沉淀成可复用的后端能力时用它。
技术架构速览:分层与请求流转
- 接口层
src/api/routes/:声明/v1/chat/completions、/v1/models、/token/check,负责参数校验与 token 切分。 - 业务层
src/api/controllers/:chat.ts 完成会话创建、文件上传、SSE 解析与 OpenAI 格式转换。 - 配置层
configs/dev/:service.yml 定端口(默认 8000),system.yml 定日志与临时目录。 - 支撑层
src/lib/提供 Koa 服务与请求/响应封装,src/daemon.ts在进程崩溃后延迟自动重启。
请求流转大致是:客户端 → /v1 路由校验 → 随机挑选 refresh_token → 刷新或复用 access_token → 上游 kimi → SSE 转 OpenAI 流 → 响应。
几个核心机制的设计动机:access_token 有效期只有 300 秒,服务端按 refresh_token 缓存并在过期时静默刷新,遇 401 会清缓存重试;多个 refresh_token 用逗号拼接后每次请求随机取一个,摊平单账号的限流压力。
每轮对话会新建一个临时会话,流结束后自动删除,所以你的 KIMI 账号列表不会多出"未命名会话";生成撞到长度上限时,服务凭 segment_id 自动续写并拼接出完整内容。
落地场景与进阶技巧
接入 OpenAI 兼容客户端
改两个参数:base_url 指向http://<你的地址>:8000/v1,api_key 填 refresh_token。LobeChat、NextChat、dify 等兼容客户端直接可用,界面上的文档/图像上传字段也走同一接口。
长文档批量摘要流水线
写个小脚本循环调用接口,把待处理 PDF 的 URL 逐个塞进file字段,use_search保持 false,响应里的choices[0].message.content落盘,就是一条无人值守的摘要流水线。
把智能体挂进自有机器人
用 20 位智能体 ID 作为 model,把翻译、润色等官方智能体包成内部服务,前端无需感知 KIMI 的存在。下图是一次翻译智能体调用的请求与响应。
进阶技巧:
- 流式体验:请求加
"stream": true;走 Nginx 反代时记得开proxy_buffering off;与chunked_transfer_encoding on;,否则输出会攒到结尾才吐。 - token 巡检:POST
/token/check可查 refresh_token 是否存活,返回{"live": true}即有效,频率控制在 10 分钟一次以内。 - 额度规划:免费账号约 3 小时 30 轮长文本问答,多账号逗号拼接后随机挑选,能明显摊平限流压力。
🔧 避坑与收尾
- 8000 端口被占、服务起不来→
netstat -tlnp | grep 8000找到占用者,或改用-p 8001:8000换映射端口,docker logs kimi-free-api看日志。 - 请求返回 401 或 token 无效→ 先 POST
/token/check确认存活;过期就回浏览器 F12 重新取 refresh_token。 - 流式输出卡住、末尾才出字→ 反代场景检查 Nginx 是否加了
proxy_buffering off;。 - 第二轮对话空响应→ 首轮不要传
conversation_id,从第二轮起才传上一轮响应里的id。 - 部署在海外区域超时→ 部分海外节点连不上 kimi,换更接近国内的网络区域部署。
安全上注意:
- refresh_token 等同账号凭证,放环境变量或配置里,别提交进代码库。
- 项目仅限研究自用,不要对外提供服务或商用,避免触发限流甚至封号。
- 文件与图片 URL 会被服务端下载(100MB 上限),别把不可信的外部地址直接透传出去。
- 定期巡检 token 存活并轮换失效项,日志里留意 401 与重试告警。
kimi-free-api 把 KIMI 的长文档、搜索与多轮能力变成一条 docker 命令加一个 OpenAI 端点。先把"30 秒跑通"里的两条命令跑起来,确认链路正常,再按需打开后面的功能。
【免费下载链接】kimi-free-api🚀 KIMI AI 长文本大模型逆向API【特长:长文本解读整理】,支持高速流式输出、智能体对话、联网搜索、探索版、K1思考模型、长文档解读、图像解析、多轮对话,零配置部署,多路token支持,自动清理会话痕迹,仅供测试,如需商用请前往官方开放平台。项目地址: https://gitcode.com/GitHub_Trending/ki/kimi-free-api
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考