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

# Personnages

> Découvrez les personnages publics Venice et utilisez leurs personas avec les modèles de texte via l'API de complétions de chat compatible OpenAI.

Les personnages sont des personas publics que vous pouvez appliquer à une complétion de chat. Chaque personnage possède un `slug` et un modèle de texte associé.

<Warning>
  La Characters API est en aperçu et peut évoluer.
</Warning>

## Découvrir un personnage

Utilisez le [point de terminaison List Characters](/api-reference/endpoint/characters/list) pour rechercher et filtrer le catalogue public :

```bash cURL theme={"system"}
curl "https://api.venice.ai/api/v1/characters?search=philosophy&limit=5" \
  -H "Authorization: Bearer $VENICE_API_KEY"
```

La réponse contient les valeurs nécessaires pour les complétions de chat :

```json theme={"system"}
{
  "data": [
    {
      "name": "Alan Watts",
      "slug": "alan-watts",
      "modelId": "venice-uncensored-1-2",
      "description": "A philosophical entertainer...",
      "webEnabled": true
    }
  ],
  "object": "list"
}
```

Vous pouvez également récupérer un personnage par son slug avec le [point de terminaison Get Character](/api-reference/endpoint/characters/get) :

```bash cURL theme={"system"}
curl "https://api.venice.ai/api/v1/characters/alan-watts" \
  -H "Authorization: Bearer $VENICE_API_KEY"
```

Utilisez le `slug` retourné comme `venice_parameters.character_slug`. Utilisez son `modelId` comme modèle de complétion de chat, ou choisissez un modèle compatible depuis la [page Modèles de texte](/models/text).

## Discuter avec le personnage

Passez `character_slug` dans `venice_parameters` lors de l'appel à l'API de complétions de chat compatible OpenAI :

<CodeGroup>
  ```python Python theme={"system"}
  import os
  import requests
  from openai import OpenAI

  headers = {"Authorization": f"Bearer {os.environ['VENICE_API_KEY']}"}
  character = requests.get(
      "https://api.venice.ai/api/v1/characters/alan-watts",
      headers=headers,
      timeout=30,
  ).json()["data"]

  client = OpenAI(
      api_key=os.environ["VENICE_API_KEY"],
      base_url="https://api.venice.ai/api/v1",
  )

  response = client.chat.completions.create(
      model=character["modelId"],
      messages=[
          {"role": "user", "content": "How can I worry less about the future?"}
      ],
      extra_body={
          "venice_parameters": {
              "character_slug": character["slug"],
          }
      },
  )

  print(response.choices[0].message.content)
  ```

  ```javascript Node.js theme={"system"}
  import OpenAI from "openai";

  const characterResponse = await fetch(
    "https://api.venice.ai/api/v1/characters/alan-watts",
    {
      headers: {
        Authorization: `Bearer ${process.env.VENICE_API_KEY}`,
      },
    },
  );
  const { data: character } = await characterResponse.json();

  const client = new OpenAI({
    apiKey: process.env.VENICE_API_KEY,
    baseURL: "https://api.venice.ai/api/v1",
  });

  const response = await client.chat.completions.create({
    model: character.modelId,
    messages: [
      { role: "user", content: "How can I worry less about the future?" },
    ],
    venice_parameters: {
      character_slug: character.slug,
    },
  });

  console.log(response.choices[0].message.content);
  ```

  ```bash cURL theme={"system"}
  curl "https://api.venice.ai/api/v1/chat/completions" \
    -H "Authorization: Bearer $VENICE_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "model": "venice-uncensored",
      "messages": [
        {
          "role": "user",
          "content": "How can I worry less about the future?"
        }
      ],
      "venice_parameters": {
        "character_slug": "alan-watts"
      }
    }'
  ```
</CodeGroup>

<Note>
  Les slugs de personnages s'appliquent uniquement aux personnages publics Venice. Un slug manquant ou invalide renvoie une erreur d'API.
</Note>

## Ressources associées

* [Modèles de texte](/models/text)
* [API List Characters](/api-reference/endpoint/characters/list)
* [API Get Character](/api-reference/endpoint/characters/get)
* [API Character Reviews](/api-reference/endpoint/characters/reviews)
* [API Chat Completions](/api-reference/endpoint/chat/completions)
