> ## Documentation Index
> Fetch the complete documentation index at: https://docs.geekhub.mx/llms.txt
> Use this file to discover all available pages before exploring further.

# Chat · overview

> Main endpoint — 100% OpenAI-compatible

The `POST /v1/chat/completions` endpoint is **100% compatible with the official OpenAI SDK** for Python and Node.js. Just change `base_url` and `api_key`.

## Which models can I use?

17 chat models across 7 providers. All namespaced as `<provider>/<model>`:

```
anthropic/claude-opus-4-8
anthropic/claude-sonnet-4-6
anthropic/claude-haiku-4-5
google/gemini-2.5-pro
google/gemini-2.5-flash
openai/gpt-5
openai/gpt-4.1
openai/gpt-4.1-mini
openai/o4-mini
deepseek/deepseek-chat
deepseek/deepseek-reasoner
moonshot/kimi-k2
moonshot/moonshot-v1-128k
xai/grok-4
xai/grok-3
xai/grok-3-mini
```

See [Chat models](/en/models/chat) for context length, pricing, and capabilities of each one.

## Features

| Feature                                      | Supported     |
| -------------------------------------------- | ------------- |
| `system`, `user`, `assistant` messages       | ✅             |
| SSE streaming (`stream: true`)               | ✅             |
| `temperature`, `top_p`, `max_tokens`, `stop` | ✅             |
| Multi-turn (conversation)                    | ✅             |
| Function calling / tool use                  | *Coming soon* |
| Vision (image input)                         | *Coming soon* |
| JSON mode                                    | *Coming soon* |

## Routing

Behind each model id, we call the provider directly with their official SDK:

| Provider  | SDK we use                   |
| --------- | ---------------------------- |
| Anthropic | `@anthropic-ai/sdk`          |
| Google    | `@google/genai`              |
| OpenAI    | `openai`                     |
| DeepSeek  | `openai` (OpenAI-compatible) |
| Moonshot  | `openai` (OpenAI-compatible) |
| xAI       | `openai` (OpenAI-compatible) |

This means the **same errors and behaviors from the original provider** reach you as-is. If OpenAI has a rate limit, you'll see it as `provider_unavailable` with the original message.

## Next steps

<Card title="POST /v1/chat/completions" icon="code" href="/en/api-reference/chat/completions">
  Full endpoint reference with all parameters.
</Card>
