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

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

# Chat Completions

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

Odgovor modela na pogovor v formatu OpenAI. Najbolj razširjeni format: podpira ga skoraj vsak odjemalec.

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": "V dveh stavkih razloži, kaj je 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": "V dveh stavkih razloži, kaj je 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: "V dveh stavkih razloži, kaj je 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 je dogovor o tem, kako en program prosi drugega, naj nekaj naredi…"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 21,
    "completion_tokens": 48,
    "total_tokens": 69
  }
}
```

## Avtentikacija

| Parameter | Tip | Obvezen | Opis |
| --- | --- | --- | --- |
| `Authorization` | header | obvezno | Ključ v obliki `Bearer sk-…`. Uporabite lahko tudi glavi `x-api-key` ali `x-goog-api-key`. |

## Telo zahteve

| Parameter | Tip | Obvezen | Opis |
| --- | --- | --- | --- |
| `model` | string | obvezno | ID modela iz [kataloga](https://ailoot.ai/models/sl/), na primer `claude-sonnet-5-5`. Model mora podpirati format OpenAI Chat. |
| `messages` | array | obvezno | Zgodovina pogovora: objekti s poljema `role` (`system`, `developer`, `user`, `assistant`, `tool`) in `content` – niz ali polje delov (besedilo, `image_url`). |
| `stream` | boolean | neobvezno | Odgovor v formatu Server-Sent Events. Privzeto `false`. Plačljivo besedilo prispe v enem bloku po izračunu stroškov, ne po posameznih besedah. |
| `stream_options` | object | neobvezno | `{"include_usage": true}` – pošlje končne podatke `usage` v zadnjem dogodku toka. |
| `max_tokens` | integer | neobvezno | Največje število žetonov odgovora. Novo ime je `max_completion_tokens`. Če omejitev ni navedena, Ailoot uporabi 4096 (ali manj, če ima model nižjo omejitev odgovora; Grok ima svojo omejitev). Za dolge odgovore omejitev nastavite izrecno, sicer se bo odgovor ustavil pri 4096 žetonih z `finish_reason: "length"`. Omejitev je vključena v rezervacijo: višja ko je, več prostih sredstev potrebujete. |
| `temperature` | number | neobvezno | Naključnost odgovora, običajno od 0 do 2. Modeli za sklepanje lahko ta parameter prezrejo. |
| `top_p` | number | neobvezno | Alternativa parametru temperature: delež verjetnostne mase za izbiro žetonov. |
| `stop` | string \| array | neobvezno | Nizi, pri katerih se generiranje ustavi. |
| `tools` | array | neobvezno | Opisi funkcij, ki jih model lahko pokliče. Format je enak kot pri OpenAI: `{"type": "function", "function": {...}}`. |
| `tool_choice` | string \| object | neobvezno | `auto`, `none`, `required` ali določena funkcija. |
| `response_format` | object | neobvezno | `{"type": "json_object"}` ali `{"type": "json_schema", ...}` za strukturirani odgovor – če ga model podpira. |
| `reasoning_effort` | string | neobvezno | Globina sklepanja pri modelih za sklepanje: `low`, `medium`, `high`. |

Drugi parametri OpenAI se posredujejo nespremenjeni; ali jih določen model podpira, odloča razvijalec modela.

## Odgovor

| Parameter | Tip | Obvezen | Opis |
| --- | --- | --- | --- |
| `choices[].message` | object |  | Odgovor modela: `content`, pri klicih orodij pa – `tool_calls`. |
| `choices[].finish_reason` | string |  | `stop` – odgovor je končan; `length` – dosežena je omejitev `max_tokens` (tak odgovor je še vedno celoten in se obračuna po dejanski porabi); `tool_calls` – model kliče orodje. |
| `usage` | object |  | `prompt_tokens`, `completion_tokens`, `total_tokens` – na njih temelji izračun bremenitve. |

Imate še vprašanja? Pošljite Request ID in opis – pomagali vam bomo razjasniti težavo.[Pišite podpori](mailto:support@ailoot.ai)

## Ailoot · Podjetje in njegov portfelj projektov





Ailoot temelji na pridobljenih operativnih izkušnjah, široki bazi strank, stabilni storitvi in stalnem spremljanju KPI.





Podjetje in njegov portfelj projektov: milijoni strank; mesečna prodaja v milijardah.





Ailoot te operativne izkušnje uporablja za dostop prek API do funkcij umetne inteligence v izdelkih strank, agentih, aplikacijah in avtomatizacijah.
