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

# API Embeddings

> Endpoint POST /api/v1/embeddings sans état renvoyant des vecteurs de document normalisés unitairement depuis le modèle utilisé par Conare, avec épinglage.

```bash theme={null}
curl https://api.conare.ai/api/v1/embeddings \
  -H "Authorization: Bearer $CONARE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "input": [
      "User prefers smaller islands, wants to avoid crowds.",
      "ASA 104 certified, comfortable with bareboat charters."
    ]
  }'
```

```json theme={null}
{
  "success": true,
  "model": "...",
  "dims": 1024,
  "embeddings": [[0.0132, -0.0087, "..."], ["..."]],
  "usage": { "totalChars": 98, "approxTokens": 25 }
}
```

## Sémantique

* **Sans état.** Rien n'est stocké, et c'est la seule route sans `endUserId` — aucun utilisateur final n'est impliqué.
* **Limites.** Jusqu'à 96 entrées par appel, chacune de 8 192 caractères maximum.
* **Ordre déterministe.** Les vecteurs sont normalisés à l'unité et renvoyés dans l'ordre d'entrée.
* **Auth.** Une clé d'intégration `cint_` avec `memory:read`.

## Épinglage de modèle

`model` est un **épinglage, pas un sélecteur**. L'endpoint sert exactement un modèle, indiqué dans chaque réponse. Épingler tout autre nom renvoie `400 model_not_served` — les vecteurs d'un modèle différent ne sont jamais silencieusement substitués. Épinglez le modèle chaque fois que vos vecteurs doivent rester compatibles avec un index existant ; un appel non épinglé récupère toujours le modèle actuellement servi.

```json theme={null}
{ "input": ["..."], "model": "the-model-name-from-a-previous-response" }
```

## Facturation

L'usage est facturé en tokens d'embedding (\~4 caractères par token) et apparaît dans votre [vue d'usage de la plateforme](https://conare.ai/dashboard).

Schéma complet des requêtes/réponses : [Référence API](/api-reference).
