Source: https://ailoot.ai/docs/pl/api/chat-completions/
Canonical: https://ailoot.ai/docs/pl/api/chat-completions/
Language: pl

[API](https://ailoot.ai/docs/pl/) 

# Chat Completions

[Markdown](https://ailoot.ai/docs/pl/api/chat-completions/index.md)

Odpowiedź modelu na dialog w formacie OpenAI. Najpopularniejszy format: rozumie go niemal każdy klient.

POST`https://api.ailoot.ai/v1/chat/completions`

Chat Completions

```bash
curl https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-5-5",
    "messages": [
      {"role": "user", "content": "Wyjaśnij w dwóch zdaniach, czym jest API."}
    ]
  }' 
```

```python
from openai import OpenAI
import os

client = OpenAI(max_retries=0, 
    base_url="https://api.ailoot.ai/v1",
    api_key=os.environ["AILOOT_API_KEY"],
)

resp = client.chat.completions.create(
    model="claude-sonnet-5-5",
    messages=[{"role": "user", "content": "Wyjaśnij w dwóch zdaniach, czym jest API."}],
)
print(resp.choices[0].message.content)
```

```js
import OpenAI from "openai";

const client = new OpenAI({ maxRetries: 0,
  baseURL: "https://api.ailoot.ai/v1",
  apiKey: process.env.AILOOT_API_KEY,
});

const resp = await client.chat.completions.create({
  model: "claude-sonnet-5-5",
  messages: [{ role: "user", content: "Wyjaśnij w dwóch zdaniach, czym jest API." }],
});
console.log(resp.choices[0].message.content);
```

200 OK

```json
{
  "id": "chatcmpl-8f2c…",
  "object": "chat.completion",
  "created": 1790812800,
  "model": "claude-sonnet-5-5",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "API to ustalenia określające, jak jeden program prosi drugi o wykonanie jakiejś czynności…"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 21,
    "completion_tokens": 48,
    "total_tokens": 69
  }
}
```

## Autoryzacja

| Parametr | Typ | Wymagany | Opis |
| --- | --- | --- | --- |
| `Authorization` | header | wymagany | Klucz w postaci `Bearer sk-…`. Można też użyć nagłówków `x-api-key` lub `x-goog-api-key`. |

## Treść żądania

| Parametr | Typ | Wymagany | Opis |
| --- | --- | --- | --- |
| `model` | string | wymagany | ID modelu z [katalogu](https://ailoot.ai/models/pl/), na przykład `claude-sonnet-5-5`. Model musi obsługiwać format OpenAI Chat. |
| `messages` | array | wymagany | Historia dialogu: obiekty z `role` (`system`, `developer`, `user`, `assistant`, `tool`) i `content` — jako ciąg znaków lub tablicę części (tekst, `image_url`). |
| `stream` | boolean | opcjonalny | Odpowiedź w formacie Server-Sent Events. Domyślnie `false`. Płatny tekst przychodzi w jednym bloku po obliczeniu kosztu, a nie słowo po słowie. |
| `stream_options` | object | opcjonalny | `{"include_usage": true}` — przesłać końcowe `usage` jako ostatnie zdarzenie strumienia. |
| `max_tokens` | integer | opcjonalny | Maksymalna liczba tokenów odpowiedzi. Nowa nazwa — `max_completion_tokens`. Jeśli limit nie jest podany, Ailoot ustawia 4096 (lub mniej, jeśli limit odpowiedzi modelu jest niższy; Grok ma własny limit). Dla długich odpowiedzi podaj limit jawnie, inaczej odpowiedź zakończy się po 4096 tokenach z `finish_reason: "length"`. Limit wchodzi do rezerwacji: im jest większy, tym więcej wolnych środków trzeba mieć na saldzie. |
| `temperature` | number | opcjonalny | Losowość odpowiedzi, zwykle od 0 do 2. W modelach rozumujących może być ignorowana. |
| `top_p` | number | opcjonalny | Alternatywa dla temperature: udział masy prawdopodobieństwa używany do wyboru tokenów. |
| `stop` | string \| array | opcjonalny | Ciągi znaków, na których generowanie się zatrzyma. |
| `tools` | array | opcjonalny | Opisy funkcji, które model może wywołać. Format — taki jak w OpenAI: `{"type": "function", "function": {...}}`. |
| `tool_choice` | string \| object | opcjonalny | `auto`, `none`, `required` lub konkretna funkcja. |
| `response_format` | object | opcjonalny | `{"type": "json_object"}` lub `{"type": "json_schema", ...}` dla odpowiedzi strukturalnej — jeśli model ją obsługuje. |
| `reasoning_effort` | string | opcjonalny | Głębokość rozumowania w modelach rozumujących: `low`, `medium`, `high`. |

Pozostałe parametry OpenAI są przekazywane bez zmian; to twórca modelu określa, czy dany model je obsługuje.

## Odpowiedź

| Parametr | Typ | Wymagany | Opis |
| --- | --- | --- | --- |
| `choices[].message` | object |  | Odpowiedź modelu: `content`, przy wywoływaniu narzędzi — `tool_calls`. |
| `choices[].finish_reason` | string |  | `stop` — odpowiedź zakończona; `length` — osiągnięto limit `max_tokens` (taka odpowiedź nadal jest pełna i rozliczana według faktycznego zużycia); `tool_calls` — model wywołuje narzędzie. |
| `usage` | object |  | `prompt_tokens`, `completion_tokens`, `total_tokens` — na ich podstawie oblicza się obciążenie. |

Dodatkowe pytania? Prześlij Request ID i opis — pomożemy wyjaśnić sprawę.[Napisz do wsparcia](mailto:support@ailoot.ai)

## Ailoot · Firma i jej portfel projektów





Ailoot opiera się na zgromadzonym doświadczeniu operacyjnym, szerokiej bazie klientów, stabilnej usłudze i stałej kontroli KPI.





Firma i jej portfel projektów: miliony klientów; miesięczna sprzedaż liczona w miliardach.





Ailoot wykorzystuje to doświadczenie operacyjne, zapewniając dostęp przez API do funkcji AI w produktach klientów, agentach, aplikacjach i automatyzacjach.
