Tóm tắt nhanh:
- FreeLLMAPI là một proxy mã nguồn mở gộp 11 nhà cung cấp LLM miễn phí (Google, Groq, Cerebras, SambaNova, NVIDIA, Mistral, OpenRouter, GitHub Models, Cohere, Cloudflare, Z.ai) thành một endpoint OpenAI-compatible duy nhất.
- Cộng dồn các free tier mang lại khoảng 1.3 tỷ token mỗi tháng dung lượng inference miễn phí, đủ cho hầu hết nhu cầu prototyping và thử nghiệm cá nhân.
- Router thông minh tự chọn model còn hạn mức, failover khi gặp 429/5xx, hỗ trợ sticky session 30 phút để tránh hallucination giữa cuộc hội thoại.
- Bảo mật cao: khóa API được mã hoá AES-256-GCM trước khi lưu vào SQLite, client chỉ dùng một bearer token
freellmapi-duy nhất.- Cài đặt nhẹ với Node.js 20+, chạy được trên cả Raspberry Pi 4 với chỉ 40MB RSS, kèm dashboard React để quản trị key, xem analytics và playground.
Mỗi phòng thí nghiệm AI lớn ngày nay đều có một free tier vài triệu token mỗi tháng. Đứng riêng thì mỗi cái chỉ là đồ chơi, nhưng gộp lại bạn có một hệ thống inference miễn phí đủ mạnh cho hầu hết các dự án thử nghiệm. FreeLLMAPI chính là công cụ giúp bạn làm điều đó mà không phải tự quản lý 11 SDK và 11 rate limit khác nhau.

FreeLLMAPI là gì
FreeLLMAPI là một dự án mã nguồn mở của tashfeenahmed, được host công khai trên GitHub tại tashfeenahmed/freellmapi. Mục tiêu của nó rất rõ ràng: biến mớ free tier rời rạc của hàng chục nhà cung cấp LLM thành một interface duy nhất, tương thích hoàn toàn với SDK OpenAI chính thức.
Khi bạn trỏ base_url của OpenAI client về local server của FreeLLMAPI, mọi request sẽ được:
- Định tuyến tự động tới nhà cung cấp tốt nhất còn hạn mức
- Fallback sang provider khác nếu gặp lỗi 429, 5xx hoặc timeout
- Tracking chi tiết RPM, RPD, TPM, TPD theo từng key
- Stream hoặc non-stream tuỳ ý, đầy đủ chuẩn Server-Sent Events
Danh sách nhà cung cấp được hỗ trợ
FreeLLMAPI hiện tích hợp 11 platform với hàng chục model khác nhau:
- Google: Gemini 2.5 Flash, các bản preview 3.x
- Groq: Llama 3.3, Llama 4, GPT-OSS, Qwen3
- Cerebras: Qwen3 235B (tốc độ cực cao)
- SambaNova: DeepSeek V3.x, Llama 4, Gemma 3
- Mistral: Large 3, Medium 3.5, Codestral, Devstral
- OpenRouter: 19 model free tier
- GitHub Models: GPT-4.1, GPT-4o
- Cloudflare Workers AI: Kimi K2, GLM-4.7, GPT-OSS, Granite 4
- Cohere: Command R+, Command-A (bản trial)
- Z.ai (Zhipu): GLM-4.5, GLM-4.7 Flash
- NVIDIA NIM: tắt mặc định do điều khoản trial only
Các tính năng nổi bật
Tương thích hoàn toàn với hệ sinh thái OpenAI
FreeLLMAPI cài đặt endpoint POST /v1/chat/completions và GET /v1/models theo đúng đặc tả OpenAI. Bất kỳ client nào dùng được OpenAI API (LangChain, LlamaIndex, Continue, Cline, Cherry-Studio…) chỉ cần đổi base_url là chạy ngay, không sửa code.
Router thông minh với failover tự động
Đây là phần “linh hồn” của dự án. Mỗi request đi vào sẽ được router:
- Chọn model có priority cao nhất, đang có key healthy và còn dưới mọi rate cap
- Decrypt key tạm thời trong memory, gọi provider SDK
- Nếu gặp 429 hoặc 5xx, đưa key vào cooldown ngắn và retry với model tiếp theo trong fallback chain (tối đa 20 lần)
Mọi response đều có header X-Routed-Via: <platform>/<model> để bạn biết provider nào đã thực sự phục vụ request, kèm X-Fallback-Attempts: N nếu có chuyển provider.
Sticky session và tool calling
Cuộc hội thoại nhiều lượt sẽ được “ghim” vào cùng một model trong 30 phút để tránh việc nhảy provider giữa chừng làm chất lượng đầu ra biến thiên. Tool calling chuẩn OpenAI cũng được pass-through đầy đủ, bao gồm cả phần dịch sang format functionDeclarations của Gemini và dịch ngược lại.
Mã hoá khóa và xác thực thống nhất
Mọi API key của các provider gốc đều được mã hoá AES-256-GCM trước khi ghi vào SQLite. Client của bạn chỉ thấy một bearer token thống nhất dạng freellmapi-..., không bao giờ tiếp xúc trực tiếp với key của các provider bên dưới.

Hướng dẫn cài đặt FreeLLMAPI
Yêu cầu trước khi cài: Node.js 20+ và npm.
Bước 1: Clone và cài dependencies
git clone https://github.com/tashfeenahmed/freellmapi.git
cd freellmapi
npm installBước 2: Sinh khóa mã hoá cho SQLite
cp .env.example .env
echo "ENCRYPTION_KEY=$(node -e "console.log(require('crypto').randomBytes(32).toString('hex'))")" >> .envKhóa 32-byte này được dùng để mã hoá toàn bộ API key lưu trong database.
Bước 3: Khởi chạy server và dashboard
Trong môi trường development:
npm run devLệnh này khởi chạy đồng thời server backend trên cổng 3001 và Vite dashboard UI trên cổng 5173, kèm theo HMR.
Cho production:
npm run build
node server/dist/index.jsLúc này cả server và dashboard sẽ cùng phục vụ trên cổng :3001.
Bước 4: Cấu hình qua dashboard
Mở trình duyệt và truy cập http://localhost:5173 (dev) hoặc http://localhost:3001 (prod). Trong dashboard, bạn thực hiện:
- Vào trang Keys, thêm API key cho từng provider mà bạn đã đăng ký free tier
- Vào Fallback Chain, kéo thả để sắp xếp thứ tự ưu tiên các model
- Copy unified API key (dạng
freellmapi-...) ở header trang Keys
Sử dụng FreeLLMAPI từ ứng dụng
Dưới đây là ví dụ gọi từ Python bằng SDK OpenAI chính thức:
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:3001/v1",
api_key="freellmapi-your-unified-key",
)
resp = client.chat.completions.create(
model="auto", # để router tự chọn, hoặc chỉ định "gemini-2.5-flash"
messages=[{"role": "user", "content": "Tóm tắt sự sụp đổ của đế chế La Mã trong một câu."}],
)
print(resp.choices[0].message.content)Hoặc đơn giản hơn bằng curl:
curl http://localhost:3001/v1/chat/completions \
-H "Authorization: Bearer freellmapi-your-unified-key" \
-H "Content-Type: application/json" \
-d '{
"model": "auto",
"messages": [{"role": "user", "content": "hi"}]
}'Streaming response bằng stream=True hoạt động giống hệt OpenAI gốc, bạn nhận từng delta token một cách bình thường.
Những giới hạn cần biết trước khi dùng
Trung thực mà nói, gộp free tier có những trade-off không thể tránh:
- Không có model frontier: Catalog miễn phí dừng lại ở Llama 3.3 70B, GLM-4.5, Qwen 3 Coder, Gemini 2.5 Pro. Đừng kỳ vọng GPT-5 hay Claude Opus class.
- Chất lượng giảm dần trong ngày: Các model mạnh nhất (Gemini 2.5 Pro, GPT-4o qua GitHub Models) có daily cap thấp. Khi hết hạn mức, router sẽ rớt xuống model nhỏ hơn cho đến khi reset vào nửa đêm UTC.
- Latency biến thiên: Cerebras và Groq nhanh khủng khiếp, các provider khác thì không. Bạn nhận được bất kỳ provider nào đang sẵn sàng.
- Free tier có thể thay đổi bất ngờ: Các provider thường siết hoặc bỏ free tier không báo trước.
- Không có SLA: Đúng nghĩa đen. Cần độ tin cậy thì dùng API trả phí.
- Single-user by design: Không có multi-tenant auth, không expose ra internet.
Chưa hỗ trợ trong phạm vi hiện tại: embeddings, image generation, audio, vision multimodal, legacy completions, moderation và n > 1.
Lưu ý về Terms of Service
Tác giả đã review ToS của từng provider (cập nhật tháng 5/2026) và đưa ra đánh giá khá thẳng thắn. Một số quy tắc giúp tránh rắc rối:
- Một tài khoản cho mỗi provider, không tạo nhiều tài khoản để né rate limit
- Không bán lại quyền truy cập hay chia sẻ endpoint cho người khác dùng
- Không dùng free tier như backend production trả tiền
- Cohere hiện cấm rõ ràng mục đích cá nhân, nên tránh
- NVIDIA NIM chỉ cho evaluation, dự án tắt mặc định để bảo vệ bạn
Triển khai trên Raspberry Pi
Một điểm thú vị: FreeLLMAPI chạy mượt trên Raspberry Pi 4 với PM2 và Nginx, chỉ tốn khoảng 40MB RSS lúc idle. Đây là phương án lý tưởng cho ai muốn có một LLM gateway luôn bật trong mạng nội bộ mà không tốn điện.
FreeLLMAPI là một dự án rất khéo léo về mặt kỹ sư phần mềm: giải quyết một vấn đề thực tế (mảnh ghép free tier rời rạc) bằng một kiến trúc rõ ràng, gọn nhẹ và minh bạch. Nếu bạn là indie developer, sinh viên, hoặc team nhỏ đang prototype ứng dụng AI mà không muốn đốt tiền vào API trả phí trước khi xác thực ý tưởng, đây là công cụ đáng để có trong arsenal.
Hãy ghé thăm trang chủ dự án trên GitHub để xem mã nguồn, tham gia đóng góp hoặc đơn giản là npm install và trải nghiệm hơn 1 tỷ token miễn phí mỗi tháng ngay trong chiều nay.








