доступно наapi.inference.club

Распределённая сеть инференса на базе потребительских GPU и Tailscale

Единый OpenAI-совместимый эндпоинт на базе GPU, которые участники подключают к сети. Запустите агента на собственном оборудовании. Используйте весь пул через один ключ.

Как это устроено

Домашние GPU, одна частная сеть.

inference.club is a Tailscale tailnet that joins consumer hardware — RTX PCs, the DGX Spark, Apple silicon — so members can safely expose their inference through one unified API, across the whole range of AI modalities: chat, images, video, speech, music, 3D.

Для потребителей

Готовая замена для OpenAI SDK.

Зарегистрируйтесь, создайте токен и направьте клиент на api.inference.club/v1. Каждая модель в сети доступна одним запросом.

export OPENAI_API_KEY=ic_xxxxxxxxxxxxxxxxxxxx
export OPENAI_BASE_URL=https://api.inference.club/v1

curl $OPENAI_BASE_URL/chat/completions \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen/qwen3.6-27b",
    "messages": [
      {"role": "user", "content": "explain MoE in one sentence"}
    ]
  }'
Для провайдеров

Оберните любой OpenAI-совместимый сервер.

Уже запущен vllm, llama.cpp или ollama? Направьте на него агента — и вы узел сети.

# Already running vLLM, llama.cpp, or Ollama on your GPU?
# Point the agent at it and join the network.

export INFERENCE_CLUB_API_KEY=ic_xxxxxxxxxxxxxxxxxxxx
export OPENAI_BASE_URL=http://localhost:8000/v1
export OPENAI_API_KEY=local-key  # whatever your local server expects

docker run --rm -d --name club-agent --network host \
  -e INFERENCE_CLUB_API_KEY \
  -e OPENAI_BASE_URL \
  -e OPENAI_API_KEY \
  ghcr.io/inference-club/inference-club-agent:latest

Архитектура

Три части. Никакой магии.

Проследите путь одного запроса от вашего кода к GPU и обратно. Облачный управляющий слой аутентифицирует, применяет ваши правила приватности и маршрутизирует — но сама модель работает на вашем собственном оборудовании.

шаг01

Операторы запускают агентов

Участники запускают inference-club-agent рядом со своим локальным LLM-сервером. Агент объявляет все модели, которые обслуживает сервер.

шаг02

Агенты подключаются к tailnet

Каждый агент получает временный ключ Tailscale и присоединяется к нашей частной mesh-сети. Никаких публичных эндпоинтов. Никакого проброса портов. Только WireGuard.

шаг03

Потребители отправляют запросы

Вызовы к api.inference.club направляются к онлайн-агенту, обслуживающему запрошенную модель. Стриминг работает. Задержка минимальна.

Your application

curl · OpenAI SDK · the Playground · your agents

base_url = "https://api.inference.club/v1"
api_key = "ic_xxxxxxxxxxxxxxxxxxxx"
HTTPS · Authorization: Bearer ic_…

api.inference.club — the control plane

one small cloud VPS (Hetzner). It routes; it never runs the model.

Caddy

TLS · reverse proxy

Django + DRF

OpenAI-compatible /v1 router · auth · routing

Access control

visibility · per-service ACLs · kill switch

Celery workers

async jobs · batches · workflow DAG

Postgres + Redis

state · queue · throttling

GCS

images · video · voice · music

The inference.club tailnet

a private Tailscale mesh — pure WireGuard

SOCKS5 sidecarMagicDNS · club-host-17:443short-lived auth keysno ports · no firewall holes

Your rig — where inference actually happens

a GPU you own, at home, on hardware you trust

inference-club-agentcontainer · --network host

Joins the tailnet with its minted key, advertises models from agent.yaml, and forwards each request to whatever you already run locally:

vLLMllama.cppOllamaLM StudioDiaLTX-2

→ http://localhost:1234/v1

running onbrian's 4090M3 Ultra · 192GBDGX Spark2× 3090 rigk3s home cluster

Follow one request

  1. 1Your code calls api.inference.club/v1 with your ic_ key — the same request you’d send OpenAI.
  2. 2Caddy terminates TLS; Django authenticates the key and applies your privacy + access rules.
  3. 3The router picks a healthy, online node that actually serves the requested model.
  4. 4Django (via a Tailscale SOCKS5 sidecar) dials the node by MagicDNS over WireGuard — no ports, no tunnels.
  5. 5The agent container hands the request to your local LLM server on localhost.
  6. 6Tokens (or images / video / audio) stream back along the exact same path.

In one breath

inference.club is what happens when you point an OpenAI-compatible API at a pile of consumer GPUs you actually own and trust — a private Tailscale tailnet quietly stitching a 4090 here, an M3 Ultra there, a DGX Spark and a couple of 3090s into one WireGuard mesh with no ports forwarded and no firewall holes, where a little inference-club-agent container sits next to whatever you’re already running — vLLM, llama.cpp, Ollama, LM Studio — and advertises it through a manifest, while back in the cloud a Django + Celery server behind Caddy authenticates your ic_ key, enforces your privacy and per-service access controls, and routes the call over the tailnet by MagicDNS to a healthy online node, with Redis and Postgres driving async jobs, batches and a whole workflow DAG engine, GCS holding the images, video, voice and music that come back, a Nuxt playground and dashboard to poke at all of it, the home fleet itself migrating from Docker to k3s, and the entire thing — chat, images, LTX-2 video, Dia voice cloning, speech, the works — sitting behind one base URL you can curl, so go ahead and build something, and, as the prompt says: Make no mistakes.

Почему inference.club

Создано под то, как открытые модели действительно работают.

OpenAI-совместимость

Готовая замена. Поменяйте базовый URL и ключ — ваши существующие SDK и промпты просто работают.

Настоящие GPU, настоящие модели

Участники обслуживают модели с открытыми весами на собственном оборудовании: Qwen, Llama, DeepSeek, Mistral, Gemma.

Приватность по умолчанию

Запросы доходят до провайдеров через Tailscale со сквозным шифрованием. Никаких публичных эндпоинтов для сканирования.

Клуб, а не вендор

Объединяйте вычислительные ресурсы с людьми, которым доверяете. Подключайте узел, когда есть свободные ресурсы. Используйте сеть, когда они нужны.

Готовы подключиться?

Войдите через GitHub, создайте ключ — и вы в сети меньше чем за минуту. Подключайте узел, когда есть свободные ресурсы.