Google's Gemma 4 (8B) — free, open, no API key required
| Method | Path | Description |
|---|---|---|
| POST | /api/chat | Chat completion (Ollama native) |
| POST | /api/generate | Text generation |
| POST | /api/embeddings | Generate embeddings |
| GET | /api/tags | List available models |
| POST | /v1/chat/completions | Chat completion (OpenAI-compatible) |
| GET | /v1/models | List models (OpenAI-compatible) |
import requests
response = requests.post(
"/api/chat",
json={
"model": "gemma4:e4b",
"messages": [{"role": "user", "content": "Hello!"}],
"stream": False
}
)
print(response.json()["message"]["content"])
const response = await fetch("/api/chat", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
model: "gemma4:e4b",
messages: [{ role: "user", content: "Hello!" }],
stream: false
})
});
const data = await response.json();
console.log(data.message.content);
from openai import OpenAI
client = OpenAI(
base_url="/v1",
api_key="unused" # no key required
)
response = client.chat.completions.create(
model="gemma4:e4b",
messages=[{"role": "user", "content": "Hello!"}]
)
print(response.choices[0].message.content)