FreeLLMAPI开源聚合16家AI免费额度,每月省62美元


程序员白嫖指南!16个AI平台免费额度一键聚合,每月怒省62刀

你会为AI订阅每月支付62美元吗?

大多数人每个月为ChatGPT Plus、Claude Pro和Gemini Advanced分别付费,总计62美元,却受限于三个独立的使用额度。现在有个开源项目FreeLLMAPI,把16个AI提供商的免费层聚合到一个接口背后,每月能调用大约17亿Token。你只需在自己的服务器上运行它,用任何OpenAI客户端库指向本地地址,路由器自动挑选最佳模型,遇到限流就无缝切换到下一个提供商。

免费额度被切分成碎片

每个AI平台都在赠送免费额度:Google Gemini送一些,Groq送一些,Cerebras送一些,SambaNova送一些,OpenRouter送一些,GitHub Models送一些,HuggingFace送一些,Cloudflare Workers AI送一些,Cohere送一些,NVIDIA NIM送一些,Mistral送一些,Z.ai也送一些。

单独看这些额度,每个平台每天也就几百次到几千次调用,对个人开发来说不太够用,但又比完全没有好。

问题是这些额度分散在不同的地方。你得记住每个平台的API格式,得分别处理每个平台的速率限制,还得单独维护每个平台的SDK版本。今天Google的配额用完了,你手动切到Groq。明天Groq超时了,你又切到Cerebras。这跟同时管理十几个不同牌子的充电宝差不多,每个都有电,但接口全不一样。

这种情况催生了一种独特的资源浪费现象。你手上明明有十几家平台赠送的免费额度,加总起来足够支撑大量的开发和测试工作,但你没办法把它们合并起来使用。每个平台就像一个有零钱但拒收其他银行信用卡的自动售货机,你兜里揣着十几张不同银行的卡,想吃东西的时候还得先找对机器。

统一接口把碎片拼成整块

FreeLLMAPI的核心思路简单粗暴。它把你本地服务器变成一个OpenAI兼容的代理端点,你只需要把一个OpenAI客户端库指向这个本地地址,然后用一种API key格式发送请求。这个代理背后连接着Google、Groq、Cerebras、NVIDIA、Mistral、OpenRouter、GitHub Models、Cohere、Cloudflare、HuggingFace、Zai、Ollama、Kilo、Pollinations、LLM7和OVH AI Endpoints这些提供商的免费层。

你的程序发出一条请求,指定model=auto,路由器就开始工作了。它会评估当前哪个模型质量最好、哪个提供商还有剩余配额、哪个服务响应正常,然后自动把请求发到最合适的那个。整个过程对你而言只有一个请求地址、一种调用方式、一套错误处理逻辑。

这意味着你手上那几十个分散的免费账号,在代码层面变成了一个统一的资源池。你不再需要关心今天该用Gemini还是Groq,不再需要为每个平台分别写重试逻辑,不再需要维护一大堆环境变量。十六个提供商的免费额度,通过一个接口暴露给你。

故障切换让你看不见错误

限流是免费额度最烦人的事情。你正跑着一个测试脚本,突然收到429错误,提示速率限制已达到。你手动切到另一个平台,继续跑,过一会儿又429了。这种打断不仅浪费时间,还打乱思路。

FreeLLMAPI的自动故障切换机制处理了这个问题。当你通过它调用Gemini 2.5 Flash,如果Google返回429或超时,请求会自动路由到Groq的某个模型。如果Groq也出问题,继续尝试Cerebras、OpenRouter、GitHub Models、HuggingFace、Cloudflare,直到某个提供商成功响应。整个过程在你这边就是一次普通请求,耗时稍微长一点,但你看不到任何错误。

这种容错能力背后是一套请求追踪机制。项目用SQLite记录每个API key的使用情况,包括每分钟请求数、每分钟Token数、每日请求数、每日Token数。路由器在分配请求时会参考这些数据,主动绕过那些已经接近免费额度上限的提供商,从源头上减少遇到限流的概率。

路由策略兼顾质量与稳定性

自动模型路由不是简单的轮询。当请求指定model=auto,路由器会按预设的优先级顺序评估可用模型。首先尝试质量最高的模型,比如Gemini 2.5 Flash或Llama 4,如果这些模型对应的提供商当前可用且配额充足,就直接使用。如果遇到问题,自动降级到次优选择。

这种策略对多轮对话场景做了特别处理。你和一个模型连续聊天时,如果每轮对话都重新评估路由,可能第一轮用Gemini回复,第二轮因为Gemini临时限流切到了Groq,第三轮又切到Cerebras。每个模型的回复风格、知识截止日期、上下文窗口大小都不同,来回切换会让对话体验很割裂。

Sticky session功能解决了这个问题。一旦某次请求被路由到某个模型,接下来的大约30分钟内,来自同一会话的后续请求会尽量保持在同一个模型上。既保留了自动故障切换的能力,又减少了上下文的风格突变。

部署流程简单到让人怀疑

运行FreeLLMAPI的步骤比你想象中简单。从GitHub克隆仓库,用Docker Compose启动,或者直接用Python运行。项目提供了预配置的docker-compose.yml文件,包含代理服务、Redis缓存和SQLite数据库的完整栈。你执行docker compose up -d,服务就在本地跑起来了。

然后打开浏览器访问内置的React管理后台,添加你注册的各种平台API key。界面会显示每个key的当前状态、剩余配额、优先级设置。你可以在后台配置模型路由的优先级顺序,哪些模型优先使用,哪些作为备选。

接入应用更简单。假设你原本用OpenAI的Python SDK调用GPT-4,代码大概是这样的:

python
from openai import OpenAI

client = OpenAI(
    api_key="your-openai-api-key",
    base_url="https://api.openai.com/v1"
)

response = client.chat.completions.create(
    model="gpt-4",
    messages=[{"role": "user", "content": "Hello"}]
)

改成指向本地FreeLLMAPI:

python
from openai import OpenAI

client = OpenAI(
    api_key="any-string-works-here",
    base_url="http://localhost:8080/v1"
)

response = client.chat.completions.create(
    model="auto",
    messages=[{"role": "user", "content": "Hello"}]
)

唯一的变化是base_url改成本地地址,api_key随便填什么字符串都行,model改成auto。你的应用不需要做其他任何调整。

LangChain、LlamaIndex、Continue、Cline、Roo Code、Open WebUI、Cherry Studio、AnythingLLM这些工具都支持自定义base_url,同样方式接入。你可以在VS Code里的AI编程助手、本地的聊天UI、自动化脚本中统一使用同一个网关,背后是十六个提供商的免费算力池。

安全和数据存储不偷懒

所有上游API key用AES-256-GCM加密后存进SQLite,只有实际发起请求时才在内存中解密。这意味着就算有人拿到了你的SQLite文件,也无法直接提取出各个平台的原始key。

内置的管理后台支持查看请求统计、配置模型优先级、在Playground里测试不同模型的效果。你可以在一个界面上看到十六个提供商的整体使用情况,而不是登录十几个不同的控制台慢慢翻。

技术细节和支撑范围

项目支持OpenAI API规范中的/v1/chat/completions和/v1/models两个端点。Chat Completions的完整参数基本都支持,包括temperature、top_p、max_tokens、presence_penalty、frequency_penalty、stop、logit_bias。工具调用功能也支持,你可以传入tools参数和tool_choice,响应中会包含tool_calls,MCP和function calling场景都能用。

流式输出正常工作,stream=true时服务端会按SSE格式返回增量内容,适合需要打字机效果的聊天界面。

目前已明确支持的模型包括Gemini 2.5 Flash、Gemini 3 Pro、Llama 4系列、GPT-OSS、Qwen3 235B、DeepSeek V3、GPT-4.1、GPT-4o、Mistral Large 3、Codestral、Command R+、DeepSeek V4 Flash。这些模型散布在不同提供商那里,有的由Google托管,有的在Groq上跑,有的通过OpenRouter接入。

项目当前不支持的功能也有明确说明。Embeddings、图像生成API、音频API、多模态视觉输入、/v1/completions端点、内容审核、n>1的多候选输出这些都不在支持范围内。项目定位很清晰,就是为Chat Completions这个单一场景做免费额度聚合。

适用场景和边界条件

这套方案适合哪些情况?你在本地开发一个AI应用,需要频繁调用模型进行测试,但又不想为每个测试请求付费。你在构建一个Agent系统,需要大量token来跑多轮推理,但预算有限。你维护一个MCP服务器或IDE插件,希望在不增加成本的情况下覆盖更多的使用场景。你单纯想把手上十几个平台的免费额度利用起来,避免浪费。

不适合哪些情况?生产环境需要99.9%可用性的服务,因为免费平台随时可能调整额度策略,某天早上醒来你发现Google的免费配额突然减半,路由器的备选池就跟着缩水。对模型能力有稳定预期的场景,因为高质量免费模型的额度耗尽后会自动降级到较弱模型,你的应用可能在某些时候用上性能差别很大的模型。需要多租户隔离和计费能力的共享服务平台,因为项目明确只服务单用户场景。

和同类项目对比:
LiteLLM更偏向企业级聚合和成本控制,支持几百种模型的生产部署。
OpenRouter是在线托管的模型聚合服务,不需要自己部署。
One API和New API侧重多渠道管理和商业接口聚合。

FreeLLMAPI的差异化价值在于聚焦免费额度这个特定资源类型,用自动故障切换和智能路由把零散的免费算力拼凑成可用的开发资源池。

成本数字算给你看

每个月ChatGPT Plus花22美元,Claude Pro花20美元,Gemini Advanced花20美元,合计62美元。这三个订阅各自有独立的使用额度,互不通用。你付了三份钱,换来三个独立的速率限制和三个需要分别维护的API接口。

FreeLLMAPI本身是MIT许可证的开源项目,自托管运行不产生软件授权费。上游十六个提供商的免费层不收费。你需要付出的只是自己注册各平台账号的时间,以及运行服务器的电费和网络费用。如果部署在本机开发环境,连额外的服务器费用都没有。

项目README估算每月能调用大约10亿到17亿Token,取决于你配置了哪些提供商以及各平台当时的免费额度政策。这个数字基于十六个提供商的免费层加总,如果只配置其中一部分,总额会相应减少。但即使只配置五六个主流平台,每月几亿Token也足够支撑相当活跃的个人开发活动。

你把每月省下来的62美元拿去干什么都行。买咖啡,买书,或者继续订阅其中一个服务用来做对照测试。至少你不再需要同时为三个独立但功能重叠的订阅付费了。

项目叫FreeLLMAPI,在GitHub上由tashfeenahmed维护,目前处于积极开发状态。记住一句话:免费额度分散是问题,统一聚合是答案。十六个零散的水龙头加起来,流量也能灌满一个池子。

把钱和精力花在应用逻辑上,而不是花在管理API钥匙串上。免费的东西从来不是问题,问题是你不知道怎么把它们串起来。