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

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

# Chat Completions

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

Modellens svar på en konversation i OpenAI-format. Det vanligaste formatet: nästan alla klienter stöder det.

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": "Förklara i två meningar vad ett API är."}
    ]
  }' 
```

```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": "Förklara i två meningar vad ett API är."}],
)
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: "Förklara i två meningar vad ett API är." }],
});
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": "Ett API är en överenskommelse om hur ett program ber ett annat att göra något…"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 21,
    "completion_tokens": 48,
    "total_tokens": 69
  }
}
```

## Autentisering

| Parameter | Typ | Obligatorisk | Beskrivning |
| --- | --- | --- | --- |
| `Authorization` | header | obligatoriskt | Nyckel i formatet `Bearer sk-…`. Även följande headers kan användas `x-api-key` eller `x-goog-api-key`. |

## Anropskropp

| Parameter | Typ | Obligatorisk | Beskrivning |
| --- | --- | --- | --- |
| `model` | string | obligatoriskt | Modellens ID från [katalogen](https://ailoot.ai/models/sv/), till exempel `claude-sonnet-5-5`. Modellen måste stödja OpenAI Chat-formatet. |
| `messages` | array | obligatoriskt | Konversationshistorik: objekt med `role` (`system`, `developer`, `user`, `assistant`, `tool`) och `content` — en sträng eller en array med delar (text, `image_url`). |
| `stream` | boolean | valfritt | Svar i Server-Sent Events-format. Standardvärdet är `false`. Betald text levereras i ett enda block efter att kostnaden har beräknats, inte ord för ord. |
| `stream_options` | object | valfritt | `{"include_usage": true}` — skicka slutlig `usage` som den sista händelsen i strömmen. |
| `max_tokens` | integer | valfritt | Maximalt antal token i svaret. Det nya namnet är `max_completion_tokens`. Om ingen gräns anges sätter Ailoot in 4096 (eller mindre om modellens svarsgräns är lägre; Grok har en egen gräns). Ange gränsen uttryckligen för långa svar, annars stannar svaret vid 4096 token med `finish_reason: "length"`. Gränsen ingår i reserveringen: ju högre den är, desto större tillgängligt saldo krävs. |
| `temperature` | number | valfritt | Slumpmässighet i svaret, vanligen från 0 till 2. Kan ignoreras av resonerande modeller. |
| `top_p` | number | valfritt | Alternativ till temperature: andelen av sannolikhetsmassan som används för att välja token. |
| `stop` | string \| array | valfritt | Strängar som stoppar genereringen. |
| `tools` | array | valfritt | Beskrivningar av funktioner som modellen kan anropa. Formatet är detsamma som hos OpenAI: `{"type": "function", "function": {...}}`. |
| `tool_choice` | string \| object | valfritt | `auto`, `none`, `required` eller en specifik funktion. |
| `response_format` | object | valfritt | `{"type": "json_object"}` eller `{"type": "json_schema", ...}` för ett strukturerat svar — om modellen stöder det. |
| `reasoning_effort` | string | valfritt | Resonemangets djup för resonerande modeller: `low`, `medium`, `high`. |

Övriga OpenAI-parametrar skickas vidare oförändrade; modellutvecklaren avgör om den specifika modellen stöder dem.

## Svar

| Parameter | Typ | Obligatorisk | Beskrivning |
| --- | --- | --- | --- |
| `choices[].message` | object |  | Modellens svar: `content`, vid verktygsanrop — `tool_calls`. |
| `choices[].finish_reason` | string |  | `stop` — svaret är klart; `length` — gränsen nåddes för `max_tokens` (ett sådant svar räknas ändå som fullständigt och debiteras efter faktisk förbrukning); `tool_calls` — modellen anropar ett verktyg. |
| `usage` | object |  | `prompt_tokens`, `completion_tokens`, `total_tokens` — dessa används för att beräkna debiteringen. |

Har du fler frågor? Skicka Request ID och en beskrivning, så hjälper vi dig.[Kontakta supporten](mailto:support@ailoot.ai)

## Ailoot · Företaget och dess projektportfölj





Ailoot bygger på etablerad driftserfarenhet, en stor kundbas, stabil service och löpande KPI-kontroll.





Företaget och dess projektportfölj: miljontals kunder; månatlig försäljning för miljarder.





Ailoot använder denna driftserfarenhet för API-åtkomst till AI-funktioner i kundernas produkter, agenter, applikationer och automatiseringar.
