Endpoints

Modèles et outils

Lister les modèles d'IA et les outils d'IA disponibles sur le serveur, pour choisir un modèle pour le chat et des outils pour les assistants.

Afficher en Markdown

Le catalogue des modèles et le catalogue des outils sont les mêmes pour tous les utilisateurs du serveur. Utilisez-les pour trouver le model_id à envoyer au chat ou à définir sur un assistant, ainsi que les name des outils auxquels renvoie la liste d'outils d'un assistant.

Les deux endpoints renvoient le catalogue complet en une seule réponse ; il n'y a pas de pagination.

Lister les modèles

Endpoint POST /api/v3/ai_model/get_all
Portée n'importe quelle clé API
Limite de débit par défaut

Renvoie les modèles d'IA connus du serveur, éventuellement limités à un seul type. La liste n'est pas personnalisée : chaque utilisateur obtient le même catalogue, quelle que soit son organisation.

La liste contient aussi les modèles que les administrateurs ont désactivés (is_enabled false) ou retirés (is_deprecated true). Le chat refuse les deux (422 model is disabled / model is deprecated, voir Chat) ; choisissez des modèles avec is_enabled true et is_deprecated false. L'ordre de la liste n'est pas garanti.

Les prix concrets ne sont pas exposés. Utilisez price_tier pour une indication de prix relative, et le coût d'une conversation pour ce qu'une conversation a réellement coûté.

Requête

Le corps est obligatoire ; envoyez {} pour obtenir les modèles de tous les types.

Champ Type Obligatoire Description
model_type chaîne Non Ne renvoyer que les modèles de ce type.

Réponse

200 OK avec un tableau de modèles.

Erreurs

Statut detail Cause
422 erreur de validation Le corps est absent, ou model_type n'est pas un type connu.

Les erreurs d'authentification, de limite de débit et du serveur sont décrites dans les conventions.

Exemple

bash
curl -X POST "https://ayeto.ai/api/v3/ai_model/get_all" \
  -H "uni-api-key: $AYETO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model_type": "llm"}'
json
[
  {
    "id": "3f2a6c1e-8b4d-4e2a-9c7f-1d5e8a2b4c6d",
    "model_id": "example-chat-large",
    "model_type": "llm",
    "provider": "openai_responses",
    "display_name": "Example Chat Large",
    "description": "General purpose model for complex tasks.",
    "multilang_description": {
      "CZ": "Univerzální model pro složité úlohy.",
      "EN": "General purpose model for complex tasks."
    },
    "max_tokens": 32000,
    "max_reasoning_tokens": 0,
    "capabilities": ["chat", "stream", "assistant", "tools", "vision", "reasoning"],
    "use_system_prompt": true,
    "is_deprecated": false,
    "is_enabled": true,
    "is_beta": false,
    "price_tier": 3,
    "price_tier_max": 3,
    "auto_tiers": [],
    "is_new": false
  },
  {
    "id": "9a1b2c3d-4e5f-4061-8a7b-6c5d4e3f2a10",
    "model_id": "example-auto",
    "model_type": "llm",
    "provider": "openai_responses",
    "display_name": "Auto",
    "description": "Picks a suitable model for every message.",
    "multilang_description": {},
    "max_tokens": 16000,
    "max_reasoning_tokens": 0,
    "capabilities": ["chat", "stream", "assistant", "tools"],
    "use_system_prompt": true,
    "is_deprecated": false,
    "is_enabled": true,
    "is_beta": true,
    "price_tier": 1,
    "price_tier_max": 3,
    "auto_tiers": ["example-chat-mini", "example-chat-large"],
    "is_new": true
  }
]

Modèle

Champ Type Description
id UUID Identifiant de l'entrée du catalogue. Non utilisé par les autres endpoints ; utilisez model_id.
model_id chaîne L'identifiant du modèle. C'est la valeur du champ model dans le chat et sur un assistant.
model_type chaîne Le genre de modèle, voir types de modèles.
provider chaîne Le fournisseur d'IA et la famille d'API qui servent le modèle, par exemple openai, openai_responses, anthropic, google, xai, deepseek, kimi. À titre informatif.
display_name chaîne Nom lisible.
description chaîne Description courte, généralement en anglais.
multilang_description objet Descriptions par code de langue (EN, CZ, FR). Des clés peuvent manquer ; utilisez alors description.
max_tokens entier La valeur max_tokens (limite de sortie) la plus élevée qu'une requête de chat peut demander avec ce modèle. 0 signifie que le serveur ne fixe aucune limite.
max_reasoning_tokens entier Budget de tokens de raisonnement des modèles de raisonnement ; 0 s'il n'est pas défini. À titre informatif.
capabilities tableau de chaînes Ce que le modèle sait faire, voir capacités.
use_system_prompt booléen Indique si le modèle reçoit les instructions sous forme de prompt système. À titre informatif.
is_deprecated booléen Le modèle est retiré. Les requêtes de chat avec un modèle obsolète échouent.
is_enabled booléen false lorsque les administrateurs ont désactivé le modèle ; le chat le refuse.
is_beta booléen Le modèle est proposé en version bêta.
price_tier entier ou null Prix relatif, voir niveaux de prix.
price_tier_max entier ou null Borne supérieure de la fourchette de prix. Égal à price_tier, sauf pour les modèles automatiques.
auto_tiers tableau de chaînes Pour un modèle automatique, les model_id parmi lesquels il choisit, du moins cher au plus cher. Vide pour tous les autres modèles.
is_new booléen Le modèle a été ajouté au catalogue récemment (par défaut au cours des 14 derniers jours).

Types de modèles

model_type Modèles pour
llm Chat textuel. Ce sont les modèles que vous utilisez dans le chat et sur les assistants.
openai_img_gen, google_img_gen, xai_img_gen Génération d'images, utilisés par les outils d'image.
stt Reconnaissance vocale (speech to text).
tts Synthèse vocale, voir synthèse vocale.
embeddings Embeddings de texte pour les bases de connaissances.
realtime Conversations vocales en temps réel dans l'application.
classification Décisions internes oui/non et de choix.
img_gen Anciens modèles d'image, conservés uniquement pour les anciennes conversations.

Seuls les modèles llm peuvent être utilisés directement via cette API (dans le chat et sur les assistants). Les autres types sont listés pour que vous puissiez voir ce qu'utilisent les outils du serveur.

Capacités

Capacité Signification
chat Peut être utilisé dans le chat.
assistant Peut exécuter un assistant. Le chat exécute toujours un assistant (celui par défaut lorsque vous n'envoyez que model), un modèle de chat a donc besoin à la fois de chat et de assistant.
stream Prend en charge les réponses en streaming.
tools Peut appeler des outils d'IA.
tools_caching Le fournisseur met en cache les définitions d'outils entre les appels (coût réduit).
vision Accepte des images en entrée.
reasoning Modèle de raisonnement (« thinking »).
adaptive_reasoning Le modèle décide lui-même de l'ampleur de son raisonnement.
relevant_history Prend en charge l'option relevant_history du chat.
image_to_image Modèle d'image qui accepte une image en entrée.
image_upscale Modèle d'image capable d'agrandir des images.
image_prompt_edit Modèle d'image capable de modifier une image à partir d'un prompt texte.
image_use_translation Le prompt d'image est traduit en anglais avant la génération.

Niveaux de prix

price_tier situe le modèle sur une échelle allant de 1 (le moins cher) à 4 (le plus cher), en fonction de son prix de sortie comparé à des seuils fixes par type de modèle :

Valeur Signification
1 à 4 Prix relatif, comparable entre modèles du même type.
0 Gratuit, ou prix inconnu.
null Le type de modèle n'a pas d'indication de prix (par exemple stt, tts, embeddings).

Le coût réel d'utilisation d'un modèle est facturé en crédits ; voir compte.

Modèles automatiques

Un modèle automatique est un modèle llm dont la liste auto_tiers n'est pas vide. Il ne répond pas lui-même : pour chaque message, il choisit l'un des modèles de auto_tiers, un modèle moins cher pour les messages simples et un modèle plus puissant pour les messages exigeants. Utilisez son model_id comme celui de n'importe quel autre modèle. Ses price_tier et price_tier_max couvrent le moins cher et le plus cher de ces modèles. Ses capacités sont celles que partagent tous ses modèles de niveau, et son max_tokens est la plus petite limite parmi eux.

Lister les outils

Endpoint POST /api/v3/ai_tool/get_all
Portée n'importe quelle clé API
Limite de débit par défaut

Renvoie les outils d'IA qu'un assistant peut utiliser. Un assistant liste les outils qu'il peut utiliser dans ai_tools, par name d'outil.

La liste omet les outils qui ne sont pas destinés à être choisis manuellement (des outils auxiliaires cachés que le serveur ajoute automatiquement là où ils sont nécessaires) ainsi que les outils retirés ; is_hidden et is_deprecated y valent donc toujours false. Elle inclut les outils qui ne fonctionnent qu'au sein d'une organisation (organization_only). Certains outils ont aussi besoin d'un compte connecté (par exemple Google ou Microsoft) ou d'un client de bureau appairé pour faire quoi que ce soit.

display_name, description et category sont traduits dans la langue indiquée dans l'en-tête de requête language (EN, CZ ou FR ; par défaut EN).

Requête

Aucun corps n'est nécessaire.

Réponse

200 OK avec un tableau d'outils.

Erreurs

Cet endpoint n'a pas d'erreurs spécifiques. Les erreurs d'authentification, de limite de débit et du serveur sont décrites dans les conventions.

Exemple

bash
curl -X POST "https://ayeto.ai/api/v3/ai_tool/get_all" \
  -H "uni-api-key: $AYETO_API_KEY" \
  -H "language: EN"
json
[
  {
    "name": "DownloadUrlFunctionTool",
    "display_name": "Download URL",
    "description": "Download content from a URL",
    "icon": "ayeto",
    "is_advanced": false,
    "is_hidden": false,
    "is_deprecated": false,
    "is_silent": false,
    "organization_only": false,
    "tags": ["download", "url", "web", "content", "internet"],
    "category": "Web service",
    "group": null,
    "in_default_assistant": true,
    "always": false,
    "companion_of_group": null,
    "order": 0
  },
  {
    "name": "AssistantMemoryFunctionTool",
    "display_name": "Assistant Memory",
    "description": "Manage the assistant's memory which persists across conversations. Use to store important information that the assistant should remember.",
    "icon": "ayeto",
    "is_advanced": false,
    "is_hidden": false,
    "is_deprecated": false,
    "is_silent": true,
    "organization_only": false,
    "tags": [],
    "category": "General",
    "group": null,
    "in_default_assistant": false,
    "always": false,
    "companion_of_group": null,
    "order": 0
  }
]

Outil

Champ Type Description
name chaîne L'identifiant de l'outil. C'est la valeur à mettre dans les ai_tools d'un assistant.
display_name chaîne Nom lisible, traduit.
description chaîne Ce que fait l'outil, traduit.
icon chaîne Nom de l'icône utilisée par l'application.
category chaîne Catégorie servant à regrouper les outils dans une liste, traduite.
group chaîne ou null Les outils qui vont ensemble (par exemple tous les outils d'un même service connecté) partagent un groupe.
tags tableau de chaînes Mots-clés de recherche.
order entier Indication de tri au sein d'une liste.
is_advanced booléen L'application liste l'outil parmi les outils avancés.
is_hidden booléen Toujours false dans cette liste (les outils cachés sont omis).
is_deprecated booléen Toujours false dans cette liste (les outils retirés sont omis).
is_silent booléen Les appels de l'outil ne sont pas affichés comme appels d'outil dans la conversation, seulement comme un bref statut.
organization_only booléen L'outil n'est disponible que lorsque le chat s'exécute dans une organisation.
in_default_assistant booléen L'outil fait partie de l'assistant par défaut (chat avec seulement un model).
always booléen Chaque assistant reçoit l'outil automatiquement ; vous n'avez pas besoin de le lister.
companion_of_group chaîne ou null L'outil est ajouté automatiquement à tout assistant qui utilise un outil de ce groupe.