FreeLLMAPI: 하나의 OpenAI 호환 엔드포인트 뒤에 있는 16개의 무료 LLM 계층

Google, Groq, Cerebras, Mistral, NVIDIA, OpenRouter 등 더 많은 무료 티어를 하나의 프록시로 통합합니다. ~월 17억 토큰. Docker 설치, Claude Code 통합, 도구 호출, 스트리밍, 폴백 체인.

  • 업데이트 2026-06-22

FreeLLMAPI: 하나의 OpenAI 호환 엔드포인트 뒤에 16개의 무료 LLM 계층 스택 #

요약 — FreeLLMAPI는 단일 /v1/chat/completions 엔드포인트 뒤에 16개 이상의 LLM 제공업체(Google Gemini, Groq, Cerebras, Mistral, NVIDIA, OpenRouter, GitHub Models, Cohere, Cloudflare, HuggingFace, Z.ai, Ollama Cloud, Kilo, Pollinations, LLM7, OVH)의 무료 계층을 집계합니다. 이를 합치면 대략 한 달에 17억 개의 토큰을 생성하는 작업 추론 용량을 얻을 수 있습니다. 하나의 명령으로 Docker를 통해 설치하고, 공급자 키를 추가하고, OpenAI 호환 클라이언트를 로컬 서버에 지정하세요.

FreeLLMAPI란 무엇입니까? #

이제 모든 주요 AI 연구실에서는 한 달에 몇 백만 개의 토큰, 하루에 몇 천 개의 요청을 무료로 제공합니다. 각 계층은 그 자체로 장난감입니다. 함께 쌓이면 작고 빠른 모델부터 합리적인 성능을 갖춘 모델까지 100개 이상의 모델에 걸쳐 작업 추론 용량이 최대 월당 17억 개 토큰에 달합니다.

문제는 이를 손으로 쌓는 것이 고통스럽다는 것입니다. SDK가 17개, 속도 제한이 17개, 요청이 실패할 수 있는 위치가 17개입니다. FreeLLMAPI는 이를 하나의 OpenAI 호환 엔드포인트로 축소합니다. OpenAI 클라이언트 라이브러리를 로컬 서버에 연결하면 키를 추가한 공급자 간에 투명하게 라우팅됩니다.

Tashfeen Ahmed가 구축한 FreeLLMAPI는 React 관리 대시보드가 ​​있는 자체 호스팅 Node.js 프록시(TypeScript/Express)입니다. 다음을 지원합니다:

  • OpenAI 채팅 완료 API(/v1/chat/completions)
  • Anthropic Messages API(/v1/messages) — Claude Code와 함께 작동
  • 응답 API(/v1/responses) — Codex CLI용
  • 이미지 생성(/v1/images/세대)
  • 텍스트 음성 변환(/v1/audio/speech)
  • 왕복 다단계 흐름을 통한 도구 호출
  • 가족 기반 라우팅 포함
  • 스트리밍 및 비스트리밍 응답
  • 429/5xx/시간 초과 시 자동 장애 조치
  • SQLite의 AES-256-GCM 암호화 키 저장소

GitHub: tashfeenahmed/freellmapi · 별 수: 11,381+ · 라이센스: MIT · 언어: TypeScript

지원되는 제공업체 #

FreeLLMAPI는 현재 100개 이상의 모델을 갖춘 16개의 무료 계층 공급자를 지원합니다.

공급자주요 모델비율 제한
구글 AIGemini 2.5 플래시, 3.x 미리보기~30RPM
그로크라마 3.3 70B, 라마 4, GPT-OSS, Qwen3~40RPM
대뇌Qwen3 235B빠른 추론
미스트랄대형 3, 중형 3.5, Codestral, Devstral~60RPM
오픈라우터21개 무료 계층 모델다양함
GitHub 모델GPT-4.1, GPT-4o~10,000개 토큰/일
Cloudflare 작업자 AI키미 K2, GLM-4.7, GPT-OSS, 화강암 4~40RPM
코히어명령 R+, 명령-A~15RPM
Z.ai(지푸)GLM-4.5, GLM-4.7 플래시다양함
엔비디아 NIM40RPM 무료(평가 전용 ToS)~40RPM
포옹얼굴라우터, DeepSeek V4, Kimi K2.6, Qwen3다양함
올라마 클라우드GLM-4.7, 키미 K2, gpt-oss, Qwen3다양함
킬로 게이트웨이:무료 노선익명 확인
수분GPT-OSS 20B익명 확인
LLM7GPT-OSS, 라마 3.1, GLM익명 확인
OVH AI 엔드포인트Qwen3.5 397B, GPT-OSS, 라마 3.3익명 확인
오픈코드 젠DeepSeek V4 플래시, 네모트론프로모션 기간

또한 사용자 정의 공급자 — 키 페이지에서 모든 OpenAI 호환 엔드포인트(llama.cpp, LM Studio, vLLM, 로컬 Ollama 또는 원격 게이트웨이)를 가리킵니다.

설치 #

원라이너(Docker) #

가장 빠른 경로는 모든 것을 설정하는 단일 명령입니다.

``배쉬 컬 -fsSL https://freellmapi.co/install.sh | 강타


그러면 `~/freellmapi`가 생성되고, 암호화 키가 생성되고, Docker 이미지가 당겨지고, 포트 3001에서 컨테이너가 시작됩니다. 다시 실행해도 안전합니다. `.env`와 암호화 키는 보존됩니다. 

### Docker Compose(수동) 

``배쉬 
자식 클론 https://github.com/tashfeenahmed/freellmapi.git 
CD 프리마피 

# 미사용 키 저장을 위한 암호화 키 생성 
ENCRYPTION_KEY="$(openssl rand -hex 32)" 
printf "ENCRYPTION_KEY=%s\nPORT=3001\n" "$ENCRYPTION_KEY" > .env 

도커 구성 -d 

http://localhost:3001을 열고 페이지에 공급자 키를 추가하고 폴백 체인 순서를 변경한 다음 페이지 헤더에서 통합 API 키를 가져옵니다.

지역 개발 #

``배쉬 자식 클론 https://github.com/tashfeenahmed/freellmapi.git CD 프리마피 npm 설치 cp .env.예제 .env ENCRYPTION_KEY="$(node -e ‘console.log(require(“crypto”).randomBytes(32).toString(“hex”))’)" printf “ENCRYPTION_KEY=%s\nPORT=3001\n” “$ENCRYPTION_KEY” > .env npm 실행 개발자


### 데스크톱 앱 

기본 `.dmg`(macOS) 및 `.exe`(Windows) 설치 프로그램은 [릴리스](https://github.com/tashfeenahmed/freellmapi/releases/latest)에서 사용할 수 있습니다. 데스크탑 앱은 실시간 요청 통계를 보여주는 유리 팝오버를 통해 시스템 트레이에서 전체 라우터와 대시보드를 실행합니다. 

## 라우터 작동 방식 

FreeLLMAPI의 라우터는 요청별로 결정을 내립니다. 

1. 정상적인 키를 갖고 있고 모든 속도 제한을 준수하는 가장 높은 우선순위의 모델을 선택합니다. 
2. 키(AES-256-GCM)를 해독하고 공급자 SDK를 호출합니다. 
3. 429/5xx/타임아웃 시 → 쿨다운 + 폴백 체인의 다음 모델 재시도(최대 20회 시도)

┌──────────────────┐ 베어러 프리엘마피-… ┌────────────────────────┐ │ OpenAI SDK / │ ──────────────────────▶ │ 익스프레스 프록시 (:3001) │ │ 컬 / 임의 │ ◀────────────────────── │ /v1/chat/completions │ │ OpenAI 클라이언트 │ 스트리밍 토큰 └────────────┬────────────┘ └──────────────────┘ │ ▼ ┌──────────────────────────────────────────────┐ │ 라우터 │ │ 1. 가장 우선순위가 높은 모델을 선택하세요 │ │ (a)에는 정상 키가 있고 │ │ (b)는 모든 속도 제한을 따릅니다. │ │ 2. 키를 해독하고 공급자 SDK를 호출합니다. │ │ 3. 429/5xx에서 → 쿨다운 + 다음 모델 재시도. │ └──────────────────────────────────────────────┘ │ ┌──────────────┬────────────┬─────────┴────────┬───────────┬──────────┐ ▼ ▼ ▼ ▼ ▼ ▼ Google Groq Cerebras OpenRouter HF …10개 더 보기


모든 응답에는 `X-Route-Via: <platform>/<model>` 헤더가 포함되어 있으므로 어떤 공급자가 실제로 각 호출을 처리했는지 확인할 수 있습니다. 공급자 간에 요청이 넘어간 경우 'X-Fallback-Attempts: N'도 표시됩니다. 

## 모든 클라이언트에서 FreeLLMAPI 사용 

### Python(OpenAI SDK) 

``파이썬 
openai 가져오기 OpenAI에서 

클라이언트 = OpenAI( 
base_url="http://localhost:3001/v1", 
api_key="freellmapi-your-unified-key", 
)

resp = client.chat.completions.create( 
model="auto", # 라우터가 선택하도록 합니다. 또는 예를 들어 지정하십시오. "gemini-2.5-플래시" 
message=[{"role": "user", "content": "로마의 멸망을 한 문장으로 요약합니다."}], 
) 
인쇄(resp.choices[0].message.content) 
print("라우팅 경로:", resp.headers.get("x-routed-via")) 

스트리밍 #

``파이썬 스트림 = client.chat.completions.create( 모델=“자동”, message=[{“role”: “user”, “content”: “SQLite에 대한 하이쿠를 스트리밍해 주세요.”}], 스트림=참, ) 스트림의 청크의 경우: print(chunk.choices[0].delta.content 또는 “”, end="", 플러시=True)


### 도구 호출 

``파이썬 
도구 = [{ 
"유형": "함수", 
"함수": { 
"이름": "get_weather", 
"description": "도시의 현재 날씨를 확인하세요.", 
"매개변수": { 
"유형": "객체", 
"속성": {"도시": {"유형": "문자열"}}, 
"필수": ["도시"], 
}, 
}, 
}] 

# 1. 모델이 도구 호출을 요청합니다. 
첫 번째 = client.chat.completions.create( 
모델="자동", 
message=[{"role": "user", "content": "카라치 날씨는 어때요?"}], 
도구=도구, 
tool_choice="필수", 
) 
전화 = first.choices[0].message.tool_calls[0] 

# 2. 도구를 실행하고 결과를 다시 피드백합니다. 
최종 = client.chat.completions.create( 
모델="자동", 
메시지=[ 
{"role": "user", "content": "카라치 날씨는 어때요?"}, 
첫 번째.선택[0].메시지, 
{"role": "tool", "tool_call_id": call.id, "content": '{"temp_c": 32, "cond": "sunny"}'}, 
], 
도구=도구, 
) 
인쇄(최종.선택[0].message.content) 

Gemini Google 검색 접지 #

``파이썬 resp = client.chat.completions.create( 모델=“gemini-2.5-플래시”, message=[{“role”: “user”, “content”: “이번 주말 F1 경주에서 누가 우승했나요?”}], tools=[{“type”: “function”, “function”: {“name”: “google_search”, “parameters”: {}}}], ) 인쇄(resp.choices[0].message.content)


### 비전/이미지 입력

``파이썬 
resp = client.chat.completions.create( 
모델="자동", 
메시지=[{ 
"역할": "사용자", 
"콘텐츠": [ 
{"type": "text", "text": "이 이미지에는 무엇이 있나요?"}, 
{"유형": "image_url", "image_url": {"url": "data:image/png;base64,<...>"}}, 
], 
}], 
) 
인쇄(resp.choices[0].message.content) 

클로드 코드 통합 #

FreeLLMAPI는 또한 Anthropic Messages API를 사용하므로 Claude Code 및 공식 Anthropic SDK를 무료 풀에 대해 실행할 수 있습니다.

``배쉬 ANTHROPIC_BASE_URL=http://localhost:3001 내보내기 ANTHROPIC_AUTH_TOKEN=freellmapi-your-unified-key 내보내기 클로드


> `ANTHROPIC_API_KEY`가 아닌 `ANTHROPIC_AUTH_TOKEN`(베어러 토큰으로 전송됨)을 사용합니다. — Claude Code는 `ANTHROPIC_API_KEY` 세트를 충돌하는 자사 자격 증명으로 처리하고 시작을 거부합니다. 

Claude 모델 이름은 **Keys → Anthropic** 탭의 무료 풀에 매핑됩니다. 각 제품군(`default`, `opus`, `sonnet`, `haiku`)은 `auto`(라우터가 무료 모델을 선택함) 또는 사용자가 고정한 모델로 라우팅됩니다. 스트리밍, 시스템 프롬프트, 도구 사용 및 이미지 입력은 모두 OpenAI 엔드포인트와 동일한 라우터를 통해 변환됩니다. 

## 임베딩 

`/v1/embeddings`는 의도적인 한 가지 차이점만 제외하고 OpenAI와 호환됩니다. **장애 조치는 모델을 넘지 않습니다.** 서로 다른 모델의 벡터는 호환되지 않는 공간에 있습니다. 제품군별 임베딩 경로: 

``파이썬 
resp = client.embeddings.create( 
모델="자동", 
input=["빠른 갈색 여우", "내 상자에 술병 50개를 담으세요"], 
) 
print(len(resp.data), "벡터", len(resp.data[0].embedding), "dims") 

사용 가능한 임베딩 패밀리:

가족희미하게공급자
gemini-embedding-0013072구글
텍스트 삽입-3-대형3072GitHub 모델
텍스트 삽입-3-작은1536GitHub 모델
embed-v4.01536코히어
bge-m31024Cloudflare → 포옹하는 얼굴
qwen3-임베딩-0.6b1024클라우드플레어
nv-embedqa-e5-v51024엔비디아

주요 기능 #

  • 자동 장애 조치 — 선택한 공급자가 429, 5xx를 반환하거나 시간 초과되면 라우터는 이를 건너뛰고 키를 짧은 휴지 상태에 두고 폴백 체인의 다음 모델을 다시 시도합니다(최대 20회 시도).
  • 고정 세션 — 대화 중간 모델 전환으로 인한 환각 급증을 방지하기 위해 다중 전환 대화는 30분 동안 동일한 모델과 계속 대화합니다.
  • 암호화된 키 저장소 — API 키는 SQLite에 도달하기 전에 AES-256-GCM으로 암호화됩니다. 암호 해독은 요청 직전에 메모리 내에서 발생합니다.
  • 통합 API 키 — 클라이언트는 단일 freellmapi-… 전달자 토큰을 사용하여 프록시에 인증합니다. 업스트림 공급자 키를 앱에 노출하지 않습니다.
  • 상태 확인 — 주기적 프로브는 키를 ‘정상’, ‘속도 제한’, ‘유효하지 않음’ 또는 ‘오류’로 표시하므로 라우터는 자동으로 작동하지 않는 키를 건너뜁니다.
  • 분석 — 지연 시간, 토큰 수, 성공률 및 공급자별 분석이 포함된 요청별 로깅
  • 컨텍스트 핸드오프 — 세션이 다른 모델로 넘어갈 때 간단한 시스템 메시지를 삽입하여 새 모델이 기존 작업을 계속하고 있음을 알 수 있게 하는 선택적 기능입니다.
  • 어디서나 실행 — Windows, macOS, Linux 서버 또는 소형 ARM SBC(Raspberry Pi 포함). 유휴 상태에서 ~40MB RSS

성능 및 용량 #

총 무료 등급 용량은 약 월별 토큰 17억 개입니다. 계층별로 대략적으로 분류하면 다음과 같습니다.

계층예상 월별 토큰
최상위 계층(Gemini Pro, GitHub를 통한 GPT-4o)~5억 토큰
중간 계층(Groq, Cerebras, Mistral)~6억 토큰
하위 계층(Cloudflare, OVH, 수분)~6억 토큰

실제 용량은 활성화하는 공급자와 현재 무료 등급 할당량에 따라 달라집니다. 라우터는 키별 RPM, RPD, TPM 및 TPD 카운터를 추적하므로 항상 한도 아래에 있는 키를 선택합니다.

제한사항 #

장단점에 대해 솔직하게 말하세요.

  • 프론티어 모델 없음. 무료 계층 카탈로그는 Llama 3.3 70B, GLM-4.5, Qwen 3 Coder 및 Gemini 2.5 Pro를 중심으로 합니다. 이를 통해 GPT-5 또는 Claude Opus 클래스 추론을 얻을 수 없습니다. 어려운 문제의 경우 실제 API 비용을 지불하세요.
  • 날이 갈수록 지능이 저하됩니다. 상위 모델의 일일 상한치가 가장 낮습니다. 한계에 도달하면 라우터는 우선 순위 체인을 더 작고 약한 모델로 떨어뜨립니다. 매일 늦은 시간에 효과적인 정보가 떨어질 것으로 예상한 다음 UTC 자정에 재설정됩니다.
  • 지연 시간은 매우 다양합니다. Cerebras와 Groq는 매우 빠릅니다. 다른 사람들은 그렇지 않습니다. 당신은 사용 가능한 것을 얻습니다.
  • 무료 등급은 예고 없이 변경될 수 있습니다. 공급자는 정기적으로 무료 등급을 강화하거나 완화하거나 제거합니다. 이 경우 카탈로그를 업데이트할 때까지 429 또는 인증 오류가 표시됩니다.
  • 정의상 SLA는 없습니다. 안정성이 필요한 경우 계약을 맺은 유료 공급자를 이용하세요.
  • 로컬 우선. 다중 테넌트 인증이 없습니다. 직접 실행해 보세요. 인터넷에 노출하지 마세요.
  • 레거시 완성은 지원되지 않습니다. /v1/completions 또는 /v1/moderations가 아닌 /v1/chat/completions만 구현됩니다.

누가 FreeLLMAPI를 사용해야 하나요? #

  • 17개의 API 키를 관리하지 않고 여러 모델로 프로토타입을 만들고 싶은 개인 개발자
  • 예산이 부족하고 비용 없이 최대 추론 용량을 원하는 AI 애호가
  • 무료 풀에 대해 에이전트를 실행하려는 Claude Code/Codex CLI 사용자
  • 자동 폴백을 통해 여러 공급자의 임베딩이 필요한 RAG 빌더
  • OpenAI 호환 앱을 구축하는 모든 사람, 개별 공급자 요금 제한을 견디는 복원력 있는 프록시를 원하는 사람

대안 비교 #

기능FreeLLMAPILiteLLM오픈라우터
무료 계층 집계✅ 16개 제공자❌ 유료만❌ 유료만
자체 호스팅✅ 도커/노드✅ 도커/노드❌ 클라우드 전용
인류 API 지원/v1/messages
암호화된 키 저장소✅ AES-256-GCM해당 없음
관리 대시보드✅ 반응 + VITE❌ CLI 전용✅ 웹
로컬/데스크톱 앱✅ 맥OS/윈도우
비용무료(MIT)무료(아파치 2.0)토큰당 지불
다중 테넌트❌ 단일 사용자

시작하기 체크리스트 #

  1. Docker(또는 로컬 개발의 경우 Node.js 20+)를 설치합니다.
  2. curl -fsSL https://freellmapi.co/install.sh | 배쉬
  3. http://localhost:3001을 열고 로그인하세요.
  4. 페이지에 공급자 키를 추가합니다.
  5. 폴백 체인을 재정렬하여 가장 많이 사용하는 모델의 우선순위를 지정하세요.
  6. 통합 API 키를 확보하세요
  7. http://localhost:3001/v1에서 OpenAI SDK를 지정하세요.
  8. model: "auto"로 프롬프트를 시작합니다.

자주 묻는 질문 #

Q: 16개 제공업체 모두에 API 키가 필요합니까? #

아니요. FreeLLMAPI는 추가한 키와 함께 작동합니다. 일부 제공업체(Kilo, Pollinations, LLM7, OVH)는 익명 요청을 허용합니다. 다른 것들은 무료 등급 가입이 필요합니다. 2~3개의 키로 시작하고 필요에 따라 키를 더 추가하세요.

Q: LangChain 또는 LlamaIndex와 함께 FreeLLMAPI를 사용할 수 있나요? #

예. FreeLLMAPI는 OpenAI 호환 와이어 형식을 구현합니다. base_url + api_key와 함께 작동하는 모든 클라이언트(LangChain, LlamaIndex, Continue, Hermès Agent 등)가 작동합니다. base_urlhttp://localhost:3001/v1으로 변경하면 됩니다.

Q: 폴백 체인은 어떻게 작동하나요? #

대시보드에서 모델의 우선순위 순서를 정의합니다. 요청이 이루어지면 라우터는 우선순위가 가장 높은 정상 모델을 선택합니다. 해당 모델이 429, 5xx를 반환하거나 시간 초과되면 체인의 다음 모델로 이동합니다. 각 키는 재시도되기 전에 짧은 재사용 대기시간을 갖습니다.

Q: 내 데이터는 안전한가요? #

모든 공급자 API 키는 AES-256-GCM으로 암호화되어 로컬 SQLite 데이터베이스에 저장됩니다. 암호 해독은 요청이 전송되기 직전에 메모리 내에서만 발생합니다. 프롬프트와 완료 내용은 외부에 저장되지 않습니다. 요청 분석은 90일 또는 100,000행(구성 가능) 동안 로컬로 보관됩니다.

질문: 나만의 사용자 지정 공급자를 추가할 수 있나요? #

예. Custom 공급자를 사용하면 llama.cpp, LM Studio, vLLM, 원격 Ollama 인스턴스 또는 기타 프록시 등 모든 OpenAI 호환 엔드포인트를 가리킬 수 있습니다. 이는 대체 체인 끝에 표시되며 다른 공급자처럼 재정렬될 수 있습니다.

Q: 프리미엄 등급은 어떻습니까? #

무료 설치는 월별 스냅샷을 따릅니다. 영원히 비용이 들지 않습니다. 프리미엄(연 19달러 또는 평생 49달러)은 라이브 피드를 따라가며 2~3일마다 새로 고쳐지므로 새로운 무료 모델이 라우터에 즉시 추가됩니다. 카탈로그 서버는 프롬프트, 완성 또는 공급자 키를 볼 수 없습니다.

Docker Compose 설정 #

설치 스크립트보다 Docker Compose를 선호하는 팀의 경우:

``yaml 버전: ‘3.8’ 서비스: freellmapi: 이미지: freellmapi/server:최신 포트:

  • “3001:3001” 볼륨:
  • ./data:/app/data 환경:
  • ENCRYPTION_KEY=임의의-32-문자-키-여기 재시작: 멈추지 않는 한

``배쉬 
# 데이터 디렉터리를 만들고 시작합니다. 
mkdir -p 데이터 
도커 구성 -d 
# http://localhost:3001의 관리 대시보드 

환경 변수 #

모든 구성은 환경 변수를 통해 설정할 수 있습니다.

``배쉬 내보내기 포트=3001 ENCRYPTION_KEY=“a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6” 내보내기 LOG_LEVEL=정보 내보내기 MAX_RETRIES=3 내보내기 REQUEST_TIMEOUT=30000 내보내기


``배쉬 
# 구성을 확인하세요 
docker exec freellmapi node --eval "console.log(process.env.PORT)" 

CLI 관리 #

FreeLLMAPI는 자동화를 위한 관리 CLI와 함께 제공됩니다.

``배쉬

서버 상태 확인 #

freellmapi 상태

활성 공급자 및 해당 키 개수를 나열합니다. #

freellmapi 제공자 –list

백업을 위해 구성 내보내기 #

freellmapi 구성 내보내기 > freellmapi-backup.json

백업에서 구성 복원 #

freellmapi 구성 복원 < freellmapi-backup.json


``배쉬 
# 실시간 요청 로그 모니터링 
freellmapi 로그 --follow --5분 이후 

# 현재 요금이 제한된 제공업체를 확인하세요. 
freellmapi 건강 --공급자 

소스 #


FreeLLMAPI를 사용해 보고 싶으신가요? Docker를 사용하여 2분 안에 배포하세요. 신용카드도, API 키 관리도, 벤더 종속도 없습니다. 16개의 무료 LLM 제공업체를 위한 단 하나의 엔드포인트입니다.

Dibi8 커뮤니티에 참여하세요: 텔레그램 그룹

📦 다음 컬렉션에 포함됨

💬 댓글 토론