feralbus LLM API

Français

Language and embedding models hosted on our own server (one RTX 3090), served by Ollama.

Last updated: October 4, 2026.

Access

Models

Name to callUseDetails
default Text (chat, generation) Alias to the best model on the server, currently qwen3.8:27b. Use it in your applications: we switch models on the server without touching your code. Accepts images and tools (tool calling), reasons before answering.
gemma4:26b Text About 2.5 times faster than default, not yet validated on our tasks. Call it by name for experiments.
bge-m3 Embeddings 1024 dimensions, multilingual, up to 8,192 tokens per text.
qwen3-embedding:4b Embeddings 2560 dimensions, multilingual, up to 16,384 tokens per text.

The current list is also available from the API: GET /v1/models or GET /api/tags.

Text

curl (OpenAI format)

curl https://llm.feralbus.net/v1/chat/completions \
  -H "Authorization: Bearer $LLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "default", "messages": [{"role": "user", "content": "Hello"}]}'

Python (openai SDK)

from openai import OpenAI

client = OpenAI(base_url="https://llm.feralbus.net/v1", api_key=LLM_API_KEY, timeout=1800)
r = client.chat.completions.create(
    model="default",
    messages=[{"role": "user", "content": "Hello"}],
)
print(r.choices[0].message.content)

Turning reasoning off (native format)

The default model thinks before answering, which makes responses slower. For a simple task, the native format lets you turn that reasoning off:

curl https://llm.feralbus.net/api/chat \
  -H "Authorization: Bearer $LLM_API_KEY" \
  -d '{"model": "default", "think": false, "stream": false,
       "messages": [{"role": "user", "content": "Hello"}]}'

Embeddings

curl (OpenAI format)

curl https://llm.feralbus.net/v1/embeddings \
  -H "Authorization: Bearer $LLM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "bge-m3", "input": ["text of page 1", "text of page 2"]}'

Response: {"data": [{"embedding": [...]}, ...]}, in the order the texts were sent.

Python (openai SDK)

from openai import OpenAI

client = OpenAI(base_url="https://llm.feralbus.net/v1", api_key=LLM_API_KEY, timeout=1800)
r = client.embeddings.create(model="qwen3-embedding:4b", input=["text 1", "text 2"])
vectors = [d.embedding for d in r.data]

curl (native format)

curl https://llm.feralbus.net/api/embed \
  -H "Authorization: Bearer $LLM_API_KEY" \
  -d '{"model": "bge-m3", "input": ["text 1", "text 2"]}'

Response: {"embeddings": [[...], [...]]}.

Good practices

Limits