Documentation
Fabriq speaks the OpenAI wire format. If you already call an OpenAI-compatible API, you are a base URL away from running on a distributed network of open models.
Create an API key in the dashboard, then point your client at the Fabriq base URL.
from openai import OpenAI
client = OpenAI(
base_url="https://api.fabriq.network/v1",
api_key="fbq_live_...",
)
resp = client.chat.completions.create(
model="llama-3.2-3b",
messages=[{"role": "user", "content": "Say hello in one line."}],
)
print(resp.choices[0].message.content)Or with curl:
curl https://api.fabriq.network/v1/chat/completions \
-H "Authorization: Bearer fbq_live_..." \
-H "Content-Type: application/json" \
-d '{
"model": "llama-3.2-3b",
"messages": [{"role": "user", "content": "Hello"}]
}'Every request carries an API key as a bearer token. Keys are created in the dashboard and shown once at creation, so store them somewhere safe. Use a live key in production and a test key while you build. Revoke a key any time and it stops working immediately.
Authorization: Bearer fbq_live_xxxxxxxxxxxxxxxxPOST /v1/chat/completions takes the same shape you already know. Set "stream": true for server-sent events, and pass tools and image content on models that support them.
{
"id": "chatcmpl_...",
"object": "chat.completion",
"model": "llama-3.2-3b",
"choices": [
{
"index": 0,
"message": { "role": "assistant", "content": "Hello." },
"finish_reason": "stop"
}
],
"usage": { "prompt_tokens": 9, "completion_tokens": 2, "total_tokens": 11 }
}Pass the model id in the model field. The catalog grows as the network does.
| llama-3.2-3b | Llama | Text · 128K |
| deepseek-v3.1 | DeepSeek | Text · 128K |
| qwen3-235b | Qwen | Text · 256K |
| kimi-k2-thinking | Kimi | Reasoning · 256K |
| qwen3-vl-7b | Qwen | Vision · 128K |
| glm-4.7 | GLM | Text · 128K |
| gpt-oss | OpenAI OSS | Text · 128K |
| flux.1-dev | FLUX | Image |
A node runs the Fabriq engine on Apple Silicon or a GPU host. It loads models, shards large ones across peers, and registers with the network. You earn credit for the compute your node serves.
# Apple Silicon or Linux
curl -fsSL https://get.fabriq.network | sh
fabriq runRunning the engine needs real hardware and is rolling out to operators. Want in early? See the litepaper for how the network fits together.
Pricing is usage-based. You pay per token for the model you actually call, metered from real requests. There are no seats and no idle clusters to rent, so the meter only runs when you do. Node operators earn credit for the compute they serve, on the same ledger.
Per-model rates are published as models come online.
Three parts: the engine on each node, the gateway that authenticates and routes requests, and the control plane that holds accounts, keys, usage, and node state. The full design is in the litepaper.