# freellmapi-proxy

This skill sets up a self-hosted Anthropic-compatible proxy that puts free-tier keys from many providers behind one endpoint.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 351 installs · ★ 88
- Author: reason-machines
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/reason-machines/trending-skills/tree/HEAD/skills/freellmapi-proxy/SKILL.md
- Updated: 2026-10-09
- HTML: https://affpapa.org/en/nevibecode/skills/freellmapi-proxy

## What it does

FreeLLMAPI gathers keys from roughly fourteen providers — Google, Groq, Cerebras, SambaNova, NVIDIA, Mistral, OpenRouter, GitHub Models, Hugging Face, Cohere, Cloudflare, Zhipu, Moonshot, MiniMax — behind a single `/v1/chat/completions`. Send `model: "auto"` and the router picks whichever provider is available; on 429 or 5xx it moves down the fallback chain. Provider keys sit in SQLite encrypted, and multi-turn conversations can stick to one provider.

Setup is a plain Node project: `git clone`, `npm install`, then an `ENCRYPTION_KEY` in `.env`. That key is a 64-character hex string and it protects every stored provider key, so the store is useless without it. `npm run dev` starts the server plus a Vite dashboard; the production build serves the API and panel on port 3001.

You add keys on the Keys page, reorder providers under Fallback Chain, and copy the unified `freellmapi-…` bearer token from the same page. Any OpenAI SDK client works — point `base_url` at `http://localhost:3001/v1`. Tool calling runs across all providers, and Gemini requests get translated to `functionDeclarations` and back on the fly.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add reason-machines/trending-skills --skill freellmapi-proxy -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/freellmapi-proxy/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/freellmapi-proxy/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add reason-machines/trending-skills --skill freellmapi-proxy -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/freellmapi-proxy/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add reason-machines/trending-skills --skill freellmapi-proxy -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/freellmapi-proxy/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install reason-machines/trending-skills freellmapi-proxy
```

2. **Manually: put the files in place**
- File: `.github/skills/freellmapi-proxy/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add reason-machines/trending-skills --skill freellmapi-proxy -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/reason-machines/trending-skills --path skills/freellmapi-proxy
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/freellmapi-proxy/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add reason-machines/trending-skills --skill freellmapi-proxy -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/reason-machines/trending-skills/tree/HEAD/skills/freellmapi-proxy/SKILL.md

## When to use it
- put free-tier keys from several providers behind one endpoint
- survive a 429 by failing over to the next provider
- keep a multi-turn conversation pinned to one provider
- store provider keys encrypted instead of plain in `.env`
- call a named model such as `gemini-2.5-flash` through the shared router

## Example prompts
- Set up FreeLLMAPI and add my Groq and Cerebras keys from the dashboard
- Reorder the fallback chain so Gemini comes first and OpenRouter last
- Send a request through the proxy with `model: "auto"` and tell me which provider answered

## Similar
- [skill-creator](https://affpapa.org/en/nevibecode/skills/skill-creator.md) — skill · 414180 installs
- [writing-for-agents](https://affpapa.org/en/nevibecode/skills/writing-for-agents.md) — skill · 466719 installs
- [media-use](https://affpapa.org/en/nevibecode/skills/media-use.md) — skill · 1100000 installs
- [mcp-builder](https://affpapa.org/en/nevibecode/skills/mcp-builder.md) — skill · 130949 installs
- [subagent-driven-development](https://affpapa.org/en/nevibecode/skills/subagent-driven-development.md) — skill · 237746 installs
- [orchestration](https://affpapa.org/en/nevibecode/skills/orchestration.md) — skill · 349800 installs

From the same set: [reason-machines/trending-skills](https://affpapa.org/en/nevibecode/by/reason-machines/trending-skills.md) — 139 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
