{
  "aboutHtml": "<p>Poolside Laguna XS 2.1 est un modèle linguistique à mélange d’experts pour la programmation par agents et le travail de longue haleine, positionné comme le plus petit modèle de déploiement local de la série Laguna. Il possède 33 milliards de paramètres au total et 3 milliards de paramètres actifs par token. C’est une mise à jour de Laguna XS.2 qui conserve son architecture tout en améliorant les résultats d’ingénierie logicielle et de tâches en terminal annoncés par le fabricant. Le modèle accepte du texte et génère du texte, du code, du raisonnement et des demandes d’appels d’outils.</p><p>Sa conception en 40 couches associe 10 couches d’attention globale et 30 couches à fenêtre glissante, avec une porte sigmoïde et une fenêtre glissante de 512 tokens. Cette fenêtre d’attention locale est distincte du contexte de 262 144 tokens du modèle. Poolside décrit également une conception de cache KV en FP8 pour réduire la mémoire par token. Ces caractéristiques expliquent son orientation vers le déploiement local, mais le besoin précis en mémoire dépend toujours du checkpoint, de la quantification, du contexte de travail et de la configuration de mise en service.</p><p>Pour une tâche de programmation, fournissez les fichiers sources pertinents sous forme de texte, le comportement attendu et l’erreur réelle ou la sortie en échec. Une demande utile est : « Corrige le traitement des délimiteurs échappés par cet analyseur tout en préservant le format d’entrée publié. Montre la modification proposée, explique les cas concernés et identifie des exemples qui révéleraient une régression. » Gardez un livrable concret et une condition d’achèvement afin que le modèle travaille vers un résultat plutôt que de simplement discuter du problème.</p><p>Pour les tâches de type terminal, fournissez l’environnement actuel, les résultats de commandes pertinents et les contraintes du travail. Dans une application connectée à des outils, le modèle propose un appel de fonction, l’application l’exécute et le résultat est renvoyé pour la décision suivante. Demandez-lui d’expliquer ce que révèle un échec avant de proposer une autre commande. Par exemple, fournissez le manifeste des dépendances et les résultats de l’installation échouée, puis demandez la plus petite correction étayée par les sources et le résultat attendu de la vérification suivante. Conservez dans l’historique les étapes déjà réussies et le problème non résolu.</p><p>Laguna XS 2.1 est conçu pour une réflexion intercalée avant et entre les appels d’outils. Le fabricant recommande de conserver le contenu de raisonnement des messages précédents de l’assistant lors de la reconstruction de la requête suivante. Supprimer ce contenu peut empêcher la poursuite du raisonnement lors des étapes suivantes. Gardez ensemble la réponse de l’assistant, ses informations d’appel d’outil et le résultat correspondant, avec l’objectif en cours visible. C’est particulièrement utile lorsque plusieurs observations contribuent à une correction et qu’une étape ultérieure dépend d’une décision antérieure.</p><p>La réflexion peut être activée ou désactivée via le gabarit de conversation (chat template). Poolside recommande de l’activer pour la programmation par agents et de la conserver entre les échanges. Une demande de réponse directe peut convenir à une petite transformation ou à une explication, tandis qu’une réparation comportant plusieurs conditions dépendantes bénéficie d’une boucle continue de raisonnement et d’observation. Précisez le format de sortie final et laissez de la place pour la réponse finale. Les réglages d’évaluation du fabricant sont des choix de recette, et non une garantie universelle quant à la quantité de raisonnement ou à la longueur maximale d’une réponse.</p><p>Pour de longues sources en entrée, organisez les fichiers et la documentation avec des limites claires et des noms stables. Demandez de retracer une relation précise, par exemple quels appelants dépendent d’une interface modifiée, quelles conditions distinguent deux implémentations ou pourquoi le résultat d’un test contredit le diagnostic proposé. Gardez les décisions importantes et les vérifications réelles dans un dossier de tâche compact et retirez l’historique sans rapport. La limite de contexte couvre les contenus de travail et la continuation générée ; une réponse finale occupant tout le contexte ne constitue pas une capacité distincte promise.</p><p>Poolside publie des variantes BF16 ainsi que des variantes distinctes FP8, NVFP4, INT4 et GGUF, et des modèles brouillons DFlash. Ce sont des choix de déploiement différents. Un petit nombre de paramètres actifs ne signifie pas que l’ensemble des poids du modèle n’occupe que cette quantité de mémoire, et un modèle brouillon est un compagnon d’accélération plutôt que le modèle de programmation lui-même. Conservez le checkpoint exact lorsque vous comparez des résultats locaux et préparez le code ou les documents sous forme de texte pour ce modèle texte-vers-texte.</p><p>Le fabricant documente un problème d’analyse des appels d’outils dans d’anciennes versions de mise en service, qui peut supprimer certains appels et exposer leur balisage brut comme du texte de réponse ordinaire. Cela illustre pourquoi un workflow connecté à des outils doit distinguer la requête voulue par le modèle d’un appel de fonction correctement analysé. Examinez le nom et les arguments analysés, validez-les par rapport au schéma réel et conservez le résultat d’exécution. Un rapport final doit identifier le livrable révisé, les vérifications observées et les hypothèses restantes. Un correctif ou une commande proposés ne deviennent un résultat accompli que lorsque ces traces établissent leur comportement.</p>",
  "aboutText": "Poolside Laguna XS 2.1 est un modèle linguistique à mélange d’experts pour la programmation par agents et le travail de longue haleine, positionné comme le plus petit modèle de déploiement local de la série Laguna. Il possède 33 milliards de paramètres au total et 3 milliards de paramètres actifs par token. C’est une mise à jour de Laguna XS.2 qui conserve son architecture tout en améliorant les résultats d’ingénierie logicielle et de tâches en terminal annoncés par le fabricant. Le modèle accepte du texte et génère du texte, du code, du raisonnement et des demandes d’appels d’outils.\n\nSa conception en 40 couches associe 10 couches d’attention globale et 30 couches à fenêtre glissante, avec une porte sigmoïde et une fenêtre glissante de 512 tokens. Cette fenêtre d’attention locale est distincte du contexte de 262 144 tokens du modèle. Poolside décrit également une conception de cache KV en FP8 pour réduire la mémoire par token. Ces caractéristiques expliquent son orientation vers le déploiement local, mais le besoin précis en mémoire dépend toujours du checkpoint, de la quantification, du contexte de travail et de la configuration de mise en service.\n\nPour une tâche de programmation, fournissez les fichiers sources pertinents sous forme de texte, le comportement attendu et l’erreur réelle ou la sortie en échec. Une demande utile est : « Corrige le traitement des délimiteurs échappés par cet analyseur tout en préservant le format d’entrée publié. Montre la modification proposée, explique les cas concernés et identifie des exemples qui révéleraient une régression. » Gardez un livrable concret et une condition d’achèvement afin que le modèle travaille vers un résultat plutôt que de simplement discuter du problème.\n\nPour les tâches de type terminal, fournissez l’environnement actuel, les résultats de commandes pertinents et les contraintes du travail. Dans une application connectée à des outils, le modèle propose un appel de fonction, l’application l’exécute et le résultat est renvoyé pour la décision suivante. Demandez-lui d’expliquer ce que révèle un échec avant de proposer une autre commande. Par exemple, fournissez le manifeste des dépendances et les résultats de l’installation échouée, puis demandez la plus petite correction étayée par les sources et le résultat attendu de la vérification suivante. Conservez dans l’historique les étapes déjà réussies et le problème non résolu.\n\nLaguna XS 2.1 est conçu pour une réflexion intercalée avant et entre les appels d’outils. Le fabricant recommande de conserver le contenu de raisonnement des messages précédents de l’assistant lors de la reconstruction de la requête suivante. Supprimer ce contenu peut empêcher la poursuite du raisonnement lors des étapes suivantes. Gardez ensemble la réponse de l’assistant, ses informations d’appel d’outil et le résultat correspondant, avec l’objectif en cours visible. C’est particulièrement utile lorsque plusieurs observations contribuent à une correction et qu’une étape ultérieure dépend d’une décision antérieure.\n\nLa réflexion peut être activée ou désactivée via le gabarit de conversation (chat template). Poolside recommande de l’activer pour la programmation par agents et de la conserver entre les échanges. Une demande de réponse directe peut convenir à une petite transformation ou à une explication, tandis qu’une réparation comportant plusieurs conditions dépendantes bénéficie d’une boucle continue de raisonnement et d’observation. Précisez le format de sortie final et laissez de la place pour la réponse finale. Les réglages d’évaluation du fabricant sont des choix de recette, et non une garantie universelle quant à la quantité de raisonnement ou à la longueur maximale d’une réponse.\n\nPour de longues sources en entrée, organisez les fichiers et la documentation avec des limites claires et des noms stables. Demandez de retracer une relation précise, par exemple quels appelants dépendent d’une interface modifiée, quelles conditions distinguent deux implémentations ou pourquoi le résultat d’un test contredit le diagnostic proposé. Gardez les décisions importantes et les vérifications réelles dans un dossier de tâche compact et retirez l’historique sans rapport. La limite de contexte couvre les contenus de travail et la continuation générée ; une réponse finale occupant tout le contexte ne constitue pas une capacité distincte promise.\n\nPoolside publie des variantes BF16 ainsi que des variantes distinctes FP8, NVFP4, INT4 et GGUF, et des modèles brouillons DFlash. Ce sont des choix de déploiement différents. Un petit nombre de paramètres actifs ne signifie pas que l’ensemble des poids du modèle n’occupe que cette quantité de mémoire, et un modèle brouillon est un compagnon d’accélération plutôt que le modèle de programmation lui-même. Conservez le checkpoint exact lorsque vous comparez des résultats locaux et préparez le code ou les documents sous forme de texte pour ce modèle texte-vers-texte.\n\nLe fabricant documente un problème d’analyse des appels d’outils dans d’anciennes versions de mise en service, qui peut supprimer certains appels et exposer leur balisage brut comme du texte de réponse ordinaire. Cela illustre pourquoi un workflow connecté à des outils doit distinguer la requête voulue par le modèle d’un appel de fonction correctement analysé. Examinez le nom et les arguments analysés, validez-les par rapport au schéma réel et conservez le résultat d’exécution. Un rapport final doit identifier le livrable révisé, les vérifications observées et les hypothèses restantes. Un correctif ou une commande proposés ne deviennent un résultat accompli que lorsque ces traces établissent leur comportement.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "39ad540c23085b21f0e5f4cfc4af742e9b8cc27f94e8b33eb57725bc423d1db7",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "fr",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">P</span><h2 id=\"sheet-title\">Poolside: Laguna XS 2.1 (free)</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Fermer\">×</button></div><div class=\"idline\"><span>Poolside /</span><code>poolside/laguna-xs-2.1:free</code><button type=\"button\" id=\"copy-id\">Copier l’ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Rubriques de la fiche modèle\"><button type=\"button\" data-card-jump=\"overview\">Premiers pas</button><button type=\"button\" data-card-jump=\"methods\">Entrées et méthodes</button><button type=\"button\" data-card-jump=\"pricing\">Tarifs</button><button type=\"button\" data-card-jump=\"examples\">Exemples</button><button type=\"button\" data-card-jump=\"results\">Résultats</button><button type=\"button\" data-card-jump=\"aliases\">Alias</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Méthodes API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Ultra|chat|/v1/chat/completions|poolside%2Flaguna-xs-2.1%3Afree\">Chat</button><button type=\"button\" role=\"tab\" tabindex=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-1\" data-card-method=\"Ultra|messages|/v1/messages|poolside%2Flaguna-xs-2.1%3Afree\">Messages</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Premiers pas</h3><p class=\"mdesc-full\">Poolside Laguna XS 2.1 est un modèle textuel de 33 milliards de paramètres au total, dont 3 milliards de paramètres actifs, destiné à la programmation par agents et au travail de longue haleine. Il dispose d’un contexte de 262 144 tokens et d’un raisonnement natif entre les appels d’outils. Son architecture MoE plus petite et ses versions quantifiées distinctes permettent un déploiement local dont les besoins en ressources dépendent de la configuration.</p><dl class=\"card-io\" data-card-io><div><dt>Entrées acceptées</dt><dd>Texte</dd></div><div><dt>Résultats</dt><dd>Texte</dd></div></dl><details class=\"card-about\"><summary>À propos du modèle</summary><p class=\"note-s\" data-model-method-boundary>Cette description présente les capacités du modèle. Les entrées, sorties et options disponibles dans Ailoot pour la méthode sélectionnée figurent ci-dessous.</p><div class=\"mabout\" id=\"m-about\"><p>Poolside Laguna XS 2.1 est un modèle linguistique à mélange d’experts pour la programmation par agents et le travail de longue haleine, positionné comme le plus petit modèle de déploiement local de la série Laguna. Il possède 33 milliards de paramètres au total et 3 milliards de paramètres actifs par token. C’est une mise à jour de Laguna XS.2 qui conserve son architecture tout en améliorant les résultats d’ingénierie logicielle et de tâches en terminal annoncés par le fabricant. Le modèle accepte du texte et génère du texte, du code, du raisonnement et des demandes d’appels d’outils.</p><p>Sa conception en 40 couches associe 10 couches d’attention globale et 30 couches à fenêtre glissante, avec une porte sigmoïde et une fenêtre glissante de 512 tokens. Cette fenêtre d’attention locale est distincte du contexte de 262 144 tokens du modèle. Poolside décrit également une conception de cache KV en FP8 pour réduire la mémoire par token. Ces caractéristiques expliquent son orientation vers le déploiement local, mais le besoin précis en mémoire dépend toujours du checkpoint, de la quantification, du contexte de travail et de la configuration de mise en service.</p><p>Pour une tâche de programmation, fournissez les fichiers sources pertinents sous forme de texte, le comportement attendu et l’erreur réelle ou la sortie en échec. Une demande utile est : « Corrige le traitement des délimiteurs échappés par cet analyseur tout en préservant le format d’entrée publié. Montre la modification proposée, explique les cas concernés et identifie des exemples qui révéleraient une régression. » Gardez un livrable concret et une condition d’achèvement afin que le modèle travaille vers un résultat plutôt que de simplement discuter du problème.</p><p>Pour les tâches de type terminal, fournissez l’environnement actuel, les résultats de commandes pertinents et les contraintes du travail. Dans une application connectée à des outils, le modèle propose un appel de fonction, l’application l’exécute et le résultat est renvoyé pour la décision suivante. Demandez-lui d’expliquer ce que révèle un échec avant de proposer une autre commande. Par exemple, fournissez le manifeste des dépendances et les résultats de l’installation échouée, puis demandez la plus petite correction étayée par les sources et le résultat attendu de la vérification suivante. Conservez dans l’historique les étapes déjà réussies et le problème non résolu.</p><p>Laguna XS 2.1 est conçu pour une réflexion intercalée avant et entre les appels d’outils. Le fabricant recommande de conserver le contenu de raisonnement des messages précédents de l’assistant lors de la reconstruction de la requête suivante. Supprimer ce contenu peut empêcher la poursuite du raisonnement lors des étapes suivantes. Gardez ensemble la réponse de l’assistant, ses informations d’appel d’outil et le résultat correspondant, avec l’objectif en cours visible. C’est particulièrement utile lorsque plusieurs observations contribuent à une correction et qu’une étape ultérieure dépend d’une décision antérieure.</p><p>La réflexion peut être activée ou désactivée via le gabarit de conversation (chat template). Poolside recommande de l’activer pour la programmation par agents et de la conserver entre les échanges. Une demande de réponse directe peut convenir à une petite transformation ou à une explication, tandis qu’une réparation comportant plusieurs conditions dépendantes bénéficie d’une boucle continue de raisonnement et d’observation. Précisez le format de sortie final et laissez de la place pour la réponse finale. Les réglages d’évaluation du fabricant sont des choix de recette, et non une garantie universelle quant à la quantité de raisonnement ou à la longueur maximale d’une réponse.</p><p>Pour de longues sources en entrée, organisez les fichiers et la documentation avec des limites claires et des noms stables. Demandez de retracer une relation précise, par exemple quels appelants dépendent d’une interface modifiée, quelles conditions distinguent deux implémentations ou pourquoi le résultat d’un test contredit le diagnostic proposé. Gardez les décisions importantes et les vérifications réelles dans un dossier de tâche compact et retirez l’historique sans rapport. La limite de contexte couvre les contenus de travail et la continuation générée ; une réponse finale occupant tout le contexte ne constitue pas une capacité distincte promise.</p><p>Poolside publie des variantes BF16 ainsi que des variantes distinctes FP8, NVFP4, INT4 et GGUF, et des modèles brouillons DFlash. Ce sont des choix de déploiement différents. Un petit nombre de paramètres actifs ne signifie pas que l’ensemble des poids du modèle n’occupe que cette quantité de mémoire, et un modèle brouillon est un compagnon d’accélération plutôt que le modèle de programmation lui-même. Conservez le checkpoint exact lorsque vous comparez des résultats locaux et préparez le code ou les documents sous forme de texte pour ce modèle texte-vers-texte.</p><p>Le fabricant documente un problème d’analyse des appels d’outils dans d’anciennes versions de mise en service, qui peut supprimer certains appels et exposer leur balisage brut comme du texte de réponse ordinaire. Cela illustre pourquoi un workflow connecté à des outils doit distinguer la requête voulue par le modèle d’un appel de fonction correctement analysé. Examinez le nom et les arguments analysés, validez-les par rapport au schéma réel et conservez le résultat d’exécution. Un rapport final doit identifier le livrable révisé, les vérifications observées et les hypothèses restantes. Un correctif ou une commande proposés ne deviennent un résultat accompli que lorsque ces traces établissent leur comportement.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Disponible dans Ailoot · entrées et méthodes</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Chat OpenAI</b> <code>POST /v1/chat/completions</code></summary><dl class=\"method-capabilities\"><div><dt>Types d’entrée</dt><dd><code>text</code></dd></div><div><dt>Types de sortie</dt><dd><code>text</code></dd></div><div><dt>Contexte</dt><dd>262 144 tokens</dd></div><div><dt>Sortie maximale</dt><dd>32 768 tokens</dd></div><div><dt>Format de sortie</dt><dd>JSON</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Champ</th><th>Type</th><th>Exigence</th><th>Valeurs et limites</th><th>Par défaut</th></tr></thead><tbody><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Obligatoire</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span><div>poolside/laguna-xs-2.1:free</div></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">messages</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>array</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Obligatoire</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">stream</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>boolean</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span><div>false</div></td><td data-cell-label=\"Par défaut\" data-default=\"known\"><span class=\"card-cell-label\">Par défaut</span>false</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">max_tokens</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>integer</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span><div>Minimum: 1</div><div>Maximum: 32 768</div></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">max_completion_tokens</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>integer</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span><div>Minimum: 1</div><div>Maximum: 32 768</div></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">n</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>integer</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span><div>Minimum: 1</div><div>Maximum: 128</div></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">temperature</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>number</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">top_p</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>number</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">seed</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>integer</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">stop</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code></code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">frequency_penalty</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>number</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">presence_penalty</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>number</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">user</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Paramètres et cycle de vie de la méthode</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Paramètre</th><th>Contrat</th></tr></thead><tbody><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>content_type</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>application/json</td></tr><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>required</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>model, messages</td></tr><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>optional</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>stream, max_tokens, max_completion_tokens, n, temperature, top_p, seed, stop, frequency_penalty, presence_penalty, user</td></tr><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>material_types</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>text</td></tr><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>conditions</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>Use literal text messages only. Cache controls, tools, image/audio/video content and streamed responses are unavailable for this method., The complete encoded JSON request must not exceed 262144 bytes.</td></tr></tbody></table></div><p>Cycle de vie : <code>synchronous_json</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Tarifs</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Les tarifs n’ajoutent pas d’options de requête. Les paramètres pris en charge figurent dans la méthode sélectionnée.</p><dl data-price-conditions><dt>Mode rapide</dt><dd>Tarif standard <span class=\"note-s\">Lorsque le mode rapide est sélectionné</span></dd><dt>Mode Flex</dt><dd>Tarif standard <span class=\"note-s\">Lorsque le mode flex est sélectionné</span></dd><dt>Effort de raisonnement maximal</dt><dd>Tarif standard <span class=\"note-s\">Lorsque l’effort de raisonnement maximal utilise l’ajustement par défaut (default)</span></dd><dt>Tarification du cache explicite</dt><dd>Non activé <span class=\"note-s\">Lorsqu’un cache explicite est demandé</span></dd><dt>Tarifs nuls pour le texte seul</dt><dd>Text input and output only. Cache, tools, media and streaming are unavailable. <span class=\"note-s\">Pour des entrées et des sorties exclusivement textuelles</span></dd></dl></div><div data-declared-tariff-pricing><h4>Tarifs Ailoot</h4><h4>Prix par configuration</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Configuration</th><th>Barème tarifaire</th><th>Coût</th></tr></thead><tbody><tr><th data-cell-label=\"Configuration\" scope=\"row\"><span class=\"card-cell-label\">Configuration</span>Tarifs de base par jeton</th><td data-cell-label=\"Barème tarifaire\"><span class=\"card-cell-label\">Barème tarifaire</span>Tarif de base</td><td data-cell-label=\"Coût\"><span class=\"card-cell-label\">Coût</span><div><span>Entrée · Tokens en entrée</span> <b>$0</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Sortie · Tokens en sortie</span> <b>$0</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Entrée · Lecture du cache</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Entrée · Écriture dans le cache</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Entrée · Écriture dans le cache, 1 h</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot réserve un montant estimé avant une requête. Après le résultat, le montant final est débité selon l’utilisation mesurée. Pour le streaming, le montant final à débiter est calculé à partir du relevé final d’utilisation. <a href=\"/docs/fr/billing/reserve/\">Fonctionnement de la réservation et du débit →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Exemples de requêtes</h3><h4>Ailoot Ultra · Chat OpenAI</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Variantes du code\"><button class=\"cg-tab\" id=\"model-code-58-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-58-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · créer une seule fois et conserver le résultat complet</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Copier le code\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-58-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-58-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;poolside/laguna-xs-2.1:free&quot;, &quot;messages&quot;: [{&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: &quot;Summarize the supplied text in three concise points.&quot;}], &quot;stream&quot;: false}&#39;)\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Recevoir et enregistrer les résultats</h3><h4>Ailoot Ultra · Chat OpenAI</h4><p class=\"note-s\">JSON</p><div class=\"card-result-process\" data-all-results><h5>Conserver tous les résultats terminés</h5><p class=\"note-s\">Conservez chaque réponse, fichier et partie de contenu renvoyés dans leur intégralité.</p><p class=\"note-s\">Retain the complete response, all actual results, original identifiers, usage and response headers.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Si la réponse d’origine doit être vérifiée</h5><p class=\"note-s\">Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.</p></div></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Alias</h3><h4>Alias du modèle</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=poolside%2Flaguna-xs-2.1%3Afree&amp;route=Ultra&amp;caller=poolside%2Flaguna-xs-2.1%3Afree&amp;fmt=chat\"><code>poolside/laguna-xs-2.1:free</code></a></span></p><h4>Alias des chemins de méthode</h4><p class=\"note-s\">Utilisez les chemins de méthode indiqués ci-dessus.</p><h4>ID d’appel associés</h4><p class=\"note-s\"><a href=\"#m=poolside%2Flaguna-xs-2.1%3Afree&amp;route=Ultra&amp;caller=poolside%2Flaguna-xs-2.1%3Afree&amp;fmt=chat\"><code>poolside/laguna-xs-2.1:free</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "poolside/laguna-xs-2.1:free",
        "fmt": "chat",
        "http": "POST",
        "path": "/v1/chat/completions",
        "request_model_id": "poolside/laguna-xs-2.1:free",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|chat|/v1/chat/completions|poolside%2Flaguna-xs-2.1%3Afree",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "example_body": {
              "messages": [
                {
                  "content": "Summarize the supplied text in three concise points.",
                  "role": "user"
                }
              ],
              "model": "poolside/laguna-xs-2.1:free",
              "stream": false
            },
            "lifecycle": {
              "cancel_endpoint": null,
              "create": {
                "http": "POST",
                "path": "/v1/chat/completions"
              },
              "mode": "synchronous_json",
              "status": [],
              "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
              "family": "text",
              "format": "JSON"
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "poolside/laguna-xs-2.1:free"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "content": {
                      "type": "string"
                    },
                    "role": {
                      "enum": [
                        "user",
                        "assistant",
                        "system",
                        "developer"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "role",
                    "content"
                  ],
                  "type": "object"
                },
                "minItems": 1,
                "name": "messages",
                "required": true,
                "type": "array"
              },
              {
                "default": false,
                "default_known": true,
                "enum": [
                  false
                ],
                "enum_known": true,
                "name": "stream",
                "required": false,
                "type": "boolean"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maximum": 32768,
                "minimum": 1,
                "name": "max_tokens",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maximum": 32768,
                "minimum": 1,
                "name": "max_completion_tokens",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maximum": 128,
                "minimum": 1,
                "name": "n",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "top_p",
                "required": false,
                "type": "number"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "seed",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "stop",
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                ],
                "required": false
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "frequency_penalty",
                "required": false,
                "type": "number"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "presence_penalty",
                "required": false,
                "type": "number"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "string"
              }
            ],
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "frequency_penalty": {
                  "type": "number"
                },
                "max_completion_tokens": {
                  "maximum": 32768,
                  "minimum": 1,
                  "type": "integer"
                },
                "max_tokens": {
                  "maximum": 32768,
                  "minimum": 1,
                  "type": "integer"
                },
                "messages": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "content": {
                        "type": "string"
                      },
                      "role": {
                        "enum": [
                          "user",
                          "assistant",
                          "system",
                          "developer"
                        ],
                        "type": "string"
                      }
                    },
                    "required": [
                      "role",
                      "content"
                    ],
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "poolside/laguna-xs-2.1:free"
                  ],
                  "type": "string"
                },
                "n": {
                  "maximum": 128,
                  "minimum": 1,
                  "type": "integer"
                },
                "presence_penalty": {
                  "type": "number"
                },
                "seed": {
                  "type": "integer"
                },
                "stop": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    }
                  ]
                },
                "stream": {
                  "default": false,
                  "enum": [
                    false
                  ],
                  "type": "boolean"
                },
                "temperature": {
                  "type": "number"
                },
                "top_p": {
                  "type": "number"
                },
                "user": {
                  "type": "string"
                }
              },
              "required": [
                "model",
                "messages"
              ],
              "type": "object"
            },
            "schema_template": {
              "body": {
                "messages": [
                  {
                    "content": "Summarize the supplied text in three concise points.",
                    "role": "user"
                  }
                ],
                "model": "poolside/laguna-xs-2.1:free",
                "stream": false
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Use literal text messages only. Cache controls, tools, image/audio/video content and streamed responses are unavailable for this method.",
              "The complete encoded JSON request must not exceed 262144 bytes."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [
              "stream",
              "max_tokens",
              "max_completion_tokens",
              "n",
              "temperature",
              "top_p",
              "seed",
              "stop",
              "frequency_penalty",
              "presence_penalty",
              "user"
            ],
            "required": [
              "model",
              "messages"
            ]
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "create": {
              "http": "POST",
              "path": "/v1/chat/completions"
            },
            "mode": "synchronous_json",
            "status": [],
            "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/chat/completions"
          },
          "method_aliases": [],
          "output": {
            "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
            "family": "text",
            "format": "JSON"
          }
        },
        "ctx": 262144,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"poolside/laguna-xs-2.1:free\", \"messages\": [{\"role\": \"user\", \"content\": \"Summarize the supplied text in three concise points.\"}], \"stream\": false}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n",
            "label": "curl · create once and retain the complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "chat",
        "hints": [
          "Send exact model ID with messages.",
          "Context length is not an output cap.",
          "A text file may supply literal text; image/audio/file-object inputs need exact binding."
        ],
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 0,
        "input": [
          "text"
        ],
        "label": "Chat OpenAI",
        "max_out": 32768,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 0,
        "output": [
          "text"
        ],
        "path": "/v1/chat/completions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Standard rate",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Standard rate",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Standard rate",
            "when": "When maximum reasoning effort uses the default adjustment"
          },
          {
            "label": "Explicit cache pricing",
            "value": "Not enabled",
            "when": "When explicit cache is requested"
          },
          {
            "label": "Text-only zero rates",
            "value": "Text input and output only. Cache, tools, media and streaming are unavailable.",
            "when": "For text-only input and output"
          }
        ],
        "pricing": {
          "allow_explicit_cache": false,
          "billing_mode": "token",
          "cache_read_price": null,
          "cache_write_1h_price": null,
          "cache_write_price": null,
          "fast_multiplier": 1,
          "flex_multiplier": 1,
          "image_input_price": null,
          "image_output_price": null,
          "input_price": 0,
          "intervals": [],
          "max_reasoning_effort_multiplier": 1,
          "output_price": 0,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "poolside/laguna-xs-2.1:free",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "unit": "token",
        "units": [
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    },
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">P</span><h2 id=\"sheet-title\">Poolside: Laguna XS 2.1 (free)</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Fermer\">×</button></div><div class=\"idline\"><span>Poolside /</span><code>poolside/laguna-xs-2.1:free</code><button type=\"button\" id=\"copy-id\">Copier l’ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Rubriques de la fiche modèle\"><button type=\"button\" data-card-jump=\"overview\">Premiers pas</button><button type=\"button\" data-card-jump=\"methods\">Entrées et méthodes</button><button type=\"button\" data-card-jump=\"pricing\">Tarifs</button><button type=\"button\" data-card-jump=\"examples\">Exemples</button><button type=\"button\" data-card-jump=\"results\">Résultats</button><button type=\"button\" data-card-jump=\"aliases\">Alias</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"Méthodes API\"><button type=\"button\" role=\"tab\" tabindex=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-0\" data-card-method=\"Ultra|chat|/v1/chat/completions|poolside%2Flaguna-xs-2.1%3Afree\">Chat</button><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-1\" data-card-method=\"Ultra|messages|/v1/messages|poolside%2Flaguna-xs-2.1%3Afree\">Messages</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-1\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Premiers pas</h3><p class=\"mdesc-full\">Poolside Laguna XS 2.1 est un modèle textuel de 33 milliards de paramètres au total, dont 3 milliards de paramètres actifs, destiné à la programmation par agents et au travail de longue haleine. Il dispose d’un contexte de 262 144 tokens et d’un raisonnement natif entre les appels d’outils. Son architecture MoE plus petite et ses versions quantifiées distinctes permettent un déploiement local dont les besoins en ressources dépendent de la configuration.</p><dl class=\"card-io\" data-card-io><div><dt>Entrées acceptées</dt><dd>Texte</dd></div><div><dt>Résultats</dt><dd>Texte</dd></div></dl><details class=\"card-about\"><summary>À propos du modèle</summary><p class=\"note-s\" data-model-method-boundary>Cette description présente les capacités du modèle. Les entrées, sorties et options disponibles dans Ailoot pour la méthode sélectionnée figurent ci-dessous.</p><div class=\"mabout\" id=\"m-about\"><p>Poolside Laguna XS 2.1 est un modèle linguistique à mélange d’experts pour la programmation par agents et le travail de longue haleine, positionné comme le plus petit modèle de déploiement local de la série Laguna. Il possède 33 milliards de paramètres au total et 3 milliards de paramètres actifs par token. C’est une mise à jour de Laguna XS.2 qui conserve son architecture tout en améliorant les résultats d’ingénierie logicielle et de tâches en terminal annoncés par le fabricant. Le modèle accepte du texte et génère du texte, du code, du raisonnement et des demandes d’appels d’outils.</p><p>Sa conception en 40 couches associe 10 couches d’attention globale et 30 couches à fenêtre glissante, avec une porte sigmoïde et une fenêtre glissante de 512 tokens. Cette fenêtre d’attention locale est distincte du contexte de 262 144 tokens du modèle. Poolside décrit également une conception de cache KV en FP8 pour réduire la mémoire par token. Ces caractéristiques expliquent son orientation vers le déploiement local, mais le besoin précis en mémoire dépend toujours du checkpoint, de la quantification, du contexte de travail et de la configuration de mise en service.</p><p>Pour une tâche de programmation, fournissez les fichiers sources pertinents sous forme de texte, le comportement attendu et l’erreur réelle ou la sortie en échec. Une demande utile est : « Corrige le traitement des délimiteurs échappés par cet analyseur tout en préservant le format d’entrée publié. Montre la modification proposée, explique les cas concernés et identifie des exemples qui révéleraient une régression. » Gardez un livrable concret et une condition d’achèvement afin que le modèle travaille vers un résultat plutôt que de simplement discuter du problème.</p><p>Pour les tâches de type terminal, fournissez l’environnement actuel, les résultats de commandes pertinents et les contraintes du travail. Dans une application connectée à des outils, le modèle propose un appel de fonction, l’application l’exécute et le résultat est renvoyé pour la décision suivante. Demandez-lui d’expliquer ce que révèle un échec avant de proposer une autre commande. Par exemple, fournissez le manifeste des dépendances et les résultats de l’installation échouée, puis demandez la plus petite correction étayée par les sources et le résultat attendu de la vérification suivante. Conservez dans l’historique les étapes déjà réussies et le problème non résolu.</p><p>Laguna XS 2.1 est conçu pour une réflexion intercalée avant et entre les appels d’outils. Le fabricant recommande de conserver le contenu de raisonnement des messages précédents de l’assistant lors de la reconstruction de la requête suivante. Supprimer ce contenu peut empêcher la poursuite du raisonnement lors des étapes suivantes. Gardez ensemble la réponse de l’assistant, ses informations d’appel d’outil et le résultat correspondant, avec l’objectif en cours visible. C’est particulièrement utile lorsque plusieurs observations contribuent à une correction et qu’une étape ultérieure dépend d’une décision antérieure.</p><p>La réflexion peut être activée ou désactivée via le gabarit de conversation (chat template). Poolside recommande de l’activer pour la programmation par agents et de la conserver entre les échanges. Une demande de réponse directe peut convenir à une petite transformation ou à une explication, tandis qu’une réparation comportant plusieurs conditions dépendantes bénéficie d’une boucle continue de raisonnement et d’observation. Précisez le format de sortie final et laissez de la place pour la réponse finale. Les réglages d’évaluation du fabricant sont des choix de recette, et non une garantie universelle quant à la quantité de raisonnement ou à la longueur maximale d’une réponse.</p><p>Pour de longues sources en entrée, organisez les fichiers et la documentation avec des limites claires et des noms stables. Demandez de retracer une relation précise, par exemple quels appelants dépendent d’une interface modifiée, quelles conditions distinguent deux implémentations ou pourquoi le résultat d’un test contredit le diagnostic proposé. Gardez les décisions importantes et les vérifications réelles dans un dossier de tâche compact et retirez l’historique sans rapport. La limite de contexte couvre les contenus de travail et la continuation générée ; une réponse finale occupant tout le contexte ne constitue pas une capacité distincte promise.</p><p>Poolside publie des variantes BF16 ainsi que des variantes distinctes FP8, NVFP4, INT4 et GGUF, et des modèles brouillons DFlash. Ce sont des choix de déploiement différents. Un petit nombre de paramètres actifs ne signifie pas que l’ensemble des poids du modèle n’occupe que cette quantité de mémoire, et un modèle brouillon est un compagnon d’accélération plutôt que le modèle de programmation lui-même. Conservez le checkpoint exact lorsque vous comparez des résultats locaux et préparez le code ou les documents sous forme de texte pour ce modèle texte-vers-texte.</p><p>Le fabricant documente un problème d’analyse des appels d’outils dans d’anciennes versions de mise en service, qui peut supprimer certains appels et exposer leur balisage brut comme du texte de réponse ordinaire. Cela illustre pourquoi un workflow connecté à des outils doit distinguer la requête voulue par le modèle d’un appel de fonction correctement analysé. Examinez le nom et les arguments analysés, validez-les par rapport au schéma réel et conservez le résultat d’exécution. Un rapport final doit identifier le livrable révisé, les vérifications observées et les hypothèses restantes. Un correctif ou une commande proposés ne deviennent un résultat accompli que lorsque ces traces établissent leur comportement.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Disponible dans Ailoot · entrées et méthodes</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Messages Anthropic</b> <code>POST /v1/messages</code></summary><dl class=\"method-capabilities\"><div><dt>Types d’entrée</dt><dd><code>text</code></dd></div><div><dt>Types de sortie</dt><dd><code>text</code></dd></div><div><dt>Contexte</dt><dd>262 144 tokens</dd></div><div><dt>Sortie maximale</dt><dd>32 768 tokens</dd></div><div><dt>Format de sortie</dt><dd>JSON</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Champ</th><th>Type</th><th>Exigence</th><th>Valeurs et limites</th><th>Par défaut</th></tr></thead><tbody><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Obligatoire</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span><div>poolside/laguna-xs-2.1:free</div></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">messages</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>array</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Obligatoire</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">stream</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>boolean</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span><div>false</div></td><td data-cell-label=\"Par défaut\" data-default=\"known\"><span class=\"card-cell-label\">Par défaut</span>false</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">system</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">max_tokens</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>integer</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Obligatoire</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span><div>Minimum: 1</div><div>Maximum: 32 768</div></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">temperature</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>number</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">top_p</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>number</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">top_k</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>integer</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">stop_sequences</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>array</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">metadata</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>object</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Paramètres et cycle de vie de la méthode</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Paramètre</th><th>Contrat</th></tr></thead><tbody><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>content_type</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>application/json</td></tr><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>required</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>model, messages, max_tokens</td></tr><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>optional</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>stream, system, temperature, top_p, top_k, stop_sequences, metadata</td></tr><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>material_types</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>text</td></tr><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>conditions</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>Use literal text messages only. Cache controls, tools, image/audio/video content and streamed responses are unavailable for this method., The complete encoded JSON request must not exceed 262144 bytes.</td></tr></tbody></table></div><p>Cycle de vie : <code>synchronous_json</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Tarifs</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Les tarifs n’ajoutent pas d’options de requête. Les paramètres pris en charge figurent dans la méthode sélectionnée.</p><dl data-price-conditions><dt>Mode rapide</dt><dd>Tarif standard <span class=\"note-s\">Lorsque le mode rapide est sélectionné</span></dd><dt>Mode Flex</dt><dd>Tarif standard <span class=\"note-s\">Lorsque le mode flex est sélectionné</span></dd><dt>Effort de raisonnement maximal</dt><dd>Tarif standard <span class=\"note-s\">Lorsque l’effort de raisonnement maximal utilise l’ajustement par défaut (default)</span></dd><dt>Tarifs nuls pour le texte seul</dt><dd>Text input and output only. Cache, tools, media and streaming are unavailable. <span class=\"note-s\">Pour des entrées et des sorties exclusivement textuelles</span></dd></dl></div><div data-declared-tariff-pricing><h4>Tarifs Ailoot</h4><h4>Prix par configuration</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Configuration</th><th>Barème tarifaire</th><th>Coût</th></tr></thead><tbody><tr><th data-cell-label=\"Configuration\" scope=\"row\"><span class=\"card-cell-label\">Configuration</span>Tarifs de base par jeton</th><td data-cell-label=\"Barème tarifaire\"><span class=\"card-cell-label\">Barème tarifaire</span>Tarif de base</td><td data-cell-label=\"Coût\"><span class=\"card-cell-label\">Coût</span><div><span>Entrée · Tokens en entrée</span> <b>$0</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Sortie · Tokens en sortie</span> <b>$0</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Entrée · Lecture du cache</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Entrée · Écriture dans le cache</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div><div><span>Entrée · Écriture dans le cache, 1 h</span> <b>—</b> <span class=\"price-unit\">/ 1K tokens</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot réserve un montant estimé avant une requête. Après le résultat, le montant final est débité selon l’utilisation mesurée. Pour le streaming, le montant final à débiter est calculé à partir du relevé final d’utilisation. <a href=\"/docs/fr/billing/reserve/\">Fonctionnement de la réservation et du débit →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Exemples de requêtes</h3><h4>Ailoot Ultra · Messages Anthropic</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Variantes du code\"><button class=\"cg-tab\" id=\"model-code-59-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-59-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · créer une seule fois et conserver le résultat complet</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Copier le code\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-59-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-59-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;poolside/laguna-xs-2.1:free&quot;, &quot;messages&quot;: [{&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: &quot;Summarize the supplied text in three concise points.&quot;}], &quot;stream&quot;: false, &quot;max_tokens&quot;: 256}&#39;)\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Recevoir et enregistrer les résultats</h3><h4>Ailoot Ultra · Messages Anthropic</h4><p class=\"note-s\">JSON</p><div class=\"card-result-process\" data-all-results><h5>Conserver tous les résultats terminés</h5><p class=\"note-s\">Conservez chaque réponse, fichier et partie de contenu renvoyés dans leur intégralité.</p><p class=\"note-s\">Retain the complete response, all actual results, original identifiers, usage and response headers.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Si la réponse d’origine doit être vérifiée</h5><p class=\"note-s\">Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.</p></div></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Alias</h3><h4>Alias du modèle</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=poolside%2Flaguna-xs-2.1%3Afree&amp;route=Ultra&amp;caller=poolside%2Flaguna-xs-2.1%3Afree&amp;fmt=messages\"><code>poolside/laguna-xs-2.1:free</code></a></span></p><h4>Alias des chemins de méthode</h4><p class=\"note-s\">Utilisez les chemins de méthode indiqués ci-dessus.</p><h4>ID d’appel associés</h4><p class=\"note-s\"><a href=\"#m=poolside%2Flaguna-xs-2.1%3Afree&amp;route=Ultra&amp;caller=poolside%2Flaguna-xs-2.1%3Afree&amp;fmt=messages\"><code>poolside/laguna-xs-2.1:free</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "poolside/laguna-xs-2.1:free",
        "fmt": "messages",
        "http": "POST",
        "path": "/v1/messages",
        "request_model_id": "poolside/laguna-xs-2.1:free",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|messages|/v1/messages|poolside%2Flaguna-xs-2.1%3Afree",
      "ordinal": 1,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "example_body": {
              "max_tokens": 256,
              "messages": [
                {
                  "content": "Summarize the supplied text in three concise points.",
                  "role": "user"
                }
              ],
              "model": "poolside/laguna-xs-2.1:free",
              "stream": false
            },
            "lifecycle": {
              "cancel_endpoint": null,
              "create": {
                "http": "POST",
                "path": "/v1/messages"
              },
              "mode": "synchronous_json",
              "status": [],
              "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
              "family": "text",
              "format": "JSON"
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "poolside/laguna-xs-2.1:free"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "content": {
                      "type": "string"
                    },
                    "role": {
                      "enum": [
                        "user",
                        "assistant"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "role",
                    "content"
                  ],
                  "type": "object"
                },
                "minItems": 1,
                "name": "messages",
                "required": true,
                "type": "array"
              },
              {
                "default": false,
                "default_known": true,
                "enum": [
                  false
                ],
                "enum_known": true,
                "name": "stream",
                "required": false,
                "type": "boolean"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "system",
                "required": false,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maximum": 32768,
                "minimum": 1,
                "name": "max_tokens",
                "required": true,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "top_p",
                "required": false,
                "type": "number"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "top_k",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum_known": false,
                "items": {
                  "type": "string"
                },
                "name": "stop_sequences",
                "required": false,
                "type": "array"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "metadata",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "max_tokens": {
                  "maximum": 32768,
                  "minimum": 1,
                  "type": "integer"
                },
                "messages": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "content": {
                        "type": "string"
                      },
                      "role": {
                        "enum": [
                          "user",
                          "assistant"
                        ],
                        "type": "string"
                      }
                    },
                    "required": [
                      "role",
                      "content"
                    ],
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                },
                "metadata": {
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "poolside/laguna-xs-2.1:free"
                  ],
                  "type": "string"
                },
                "stop_sequences": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "stream": {
                  "default": false,
                  "enum": [
                    false
                  ],
                  "type": "boolean"
                },
                "system": {
                  "type": "string"
                },
                "temperature": {
                  "type": "number"
                },
                "top_k": {
                  "type": "integer"
                },
                "top_p": {
                  "type": "number"
                }
              },
              "required": [
                "model",
                "messages",
                "max_tokens"
              ],
              "type": "object"
            },
            "schema_template": {
              "body": {
                "max_tokens": 256,
                "messages": [
                  {
                    "content": "Summarize the supplied text in three concise points.",
                    "role": "user"
                  }
                ],
                "model": "poolside/laguna-xs-2.1:free",
                "stream": false
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Use literal text messages only. Cache controls, tools, image/audio/video content and streamed responses are unavailable for this method.",
              "The complete encoded JSON request must not exceed 262144 bytes."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [
              "stream",
              "system",
              "temperature",
              "top_p",
              "top_k",
              "stop_sequences",
              "metadata"
            ],
            "required": [
              "model",
              "messages",
              "max_tokens"
            ]
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "create": {
              "http": "POST",
              "path": "/v1/messages"
            },
            "mode": "synchronous_json",
            "status": [],
            "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/messages"
          },
          "method_aliases": [],
          "output": {
            "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
            "family": "text",
            "format": "JSON"
          }
        },
        "ctx": 262144,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"poolside/laguna-xs-2.1:free\", \"messages\": [{\"role\": \"user\", \"content\": \"Summarize the supplied text in three concise points.\"}], \"stream\": false, \"max_tokens\": 256}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n",
            "label": "curl · create once and retain the complete result",
            "language": "bash"
          }
        ],
        "family": "anthropic",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "messages",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 0,
        "input": [
          "text"
        ],
        "label": "Messages Anthropic",
        "max_out": 32768,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 0,
        "output": [
          "text"
        ],
        "path": "/v1/messages",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Standard rate",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Standard rate",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Standard rate",
            "when": "When maximum reasoning effort uses the default adjustment"
          },
          {
            "label": "Text-only zero rates",
            "value": "Text input and output only. Cache, tools, media and streaming are unavailable.",
            "when": "For text-only input and output"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "cache_read_price": null,
          "cache_write_1h_price": null,
          "cache_write_price": null,
          "fast_multiplier": 1,
          "flex_multiplier": 1,
          "image_input_price": null,
          "image_output_price": null,
          "input_price": 0,
          "intervals": [],
          "max_reasoning_effort_multiplier": 1,
          "output_price": 0,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "poolside/laguna-xs-2.1:free",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "unit": "token",
        "units": [
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    }
  ],
  "model_id": "poolside/laguna-xs-2.1:free",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "e219c11cfa45eeb3045ea8f569187ffc2d5bd55503a57e6aaad90a28a0ce785a",
    "input_html_sha256": "6ea5aba602c865a30e9e183f28666caf6da96a7fd355bd7c75b69e40ce2480f0",
    "private_audit_sha256": "fe3384d5a096fc6baee1d7a8830f4d06f39ee7b68f0521d3eacf4f0697eb75da",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/fr/poolside-laguna-xs-2-1-u003a-free/",
    "description": "Poolside Laguna XS 2.1 est un modèle textuel de 33 milliards de paramètres au total, dont 3 milliards de paramètres actifs, destiné à la programmation par agents et au travail de longue haleine. Il dispose d’un contexte de 262 144 tokens et d’un raisonnement natif entre les appels d’outils. Son architecture MoE plus petite et ses versions quantifiées distinctes permettent un déploiement local dont les besoins en ressources dépendent de la configuration.",
    "locale": "fr",
    "md_url": "https://ailoot.ai/models/fr/poolside-laguna-xs-2-1-u003a-free/index.md",
    "title": "Poolside: Laguna XS 2.1 (free) — Ailoot",
    "url": "https://ailoot.ai/models/fr/poolside-laguna-xs-2-1-u003a-free/"
  },
  "rawModel": {
    "about": "Poolside Laguna XS 2.1 est un modèle linguistique à mélange d’experts pour la programmation par agents et le travail de longue haleine, positionné comme le plus petit modèle de déploiement local de la série Laguna. Il possède 33 milliards de paramètres au total et 3 milliards de paramètres actifs par token. C’est une mise à jour de Laguna XS.2 qui conserve son architecture tout en améliorant les résultats d’ingénierie logicielle et de tâches en terminal annoncés par le fabricant. Le modèle accepte du texte et génère du texte, du code, du raisonnement et des demandes d’appels d’outils.\n\nSa conception en 40 couches associe 10 couches d’attention globale et 30 couches à fenêtre glissante, avec une porte sigmoïde et une fenêtre glissante de 512 tokens. Cette fenêtre d’attention locale est distincte du contexte de 262 144 tokens du modèle. Poolside décrit également une conception de cache KV en FP8 pour réduire la mémoire par token. Ces caractéristiques expliquent son orientation vers le déploiement local, mais le besoin précis en mémoire dépend toujours du checkpoint, de la quantification, du contexte de travail et de la configuration de mise en service.\n\nPour une tâche de programmation, fournissez les fichiers sources pertinents sous forme de texte, le comportement attendu et l’erreur réelle ou la sortie en échec. Une demande utile est : « Corrige le traitement des délimiteurs échappés par cet analyseur tout en préservant le format d’entrée publié. Montre la modification proposée, explique les cas concernés et identifie des exemples qui révéleraient une régression. » Gardez un livrable concret et une condition d’achèvement afin que le modèle travaille vers un résultat plutôt que de simplement discuter du problème.\n\nPour les tâches de type terminal, fournissez l’environnement actuel, les résultats de commandes pertinents et les contraintes du travail. Dans une application connectée à des outils, le modèle propose un appel de fonction, l’application l’exécute et le résultat est renvoyé pour la décision suivante. Demandez-lui d’expliquer ce que révèle un échec avant de proposer une autre commande. Par exemple, fournissez le manifeste des dépendances et les résultats de l’installation échouée, puis demandez la plus petite correction étayée par les sources et le résultat attendu de la vérification suivante. Conservez dans l’historique les étapes déjà réussies et le problème non résolu.\n\nLaguna XS 2.1 est conçu pour une réflexion intercalée avant et entre les appels d’outils. Le fabricant recommande de conserver le contenu de raisonnement des messages précédents de l’assistant lors de la reconstruction de la requête suivante. Supprimer ce contenu peut empêcher la poursuite du raisonnement lors des étapes suivantes. Gardez ensemble la réponse de l’assistant, ses informations d’appel d’outil et le résultat correspondant, avec l’objectif en cours visible. C’est particulièrement utile lorsque plusieurs observations contribuent à une correction et qu’une étape ultérieure dépend d’une décision antérieure.\n\nLa réflexion peut être activée ou désactivée via le gabarit de conversation (chat template). Poolside recommande de l’activer pour la programmation par agents et de la conserver entre les échanges. Une demande de réponse directe peut convenir à une petite transformation ou à une explication, tandis qu’une réparation comportant plusieurs conditions dépendantes bénéficie d’une boucle continue de raisonnement et d’observation. Précisez le format de sortie final et laissez de la place pour la réponse finale. Les réglages d’évaluation du fabricant sont des choix de recette, et non une garantie universelle quant à la quantité de raisonnement ou à la longueur maximale d’une réponse.\n\nPour de longues sources en entrée, organisez les fichiers et la documentation avec des limites claires et des noms stables. Demandez de retracer une relation précise, par exemple quels appelants dépendent d’une interface modifiée, quelles conditions distinguent deux implémentations ou pourquoi le résultat d’un test contredit le diagnostic proposé. Gardez les décisions importantes et les vérifications réelles dans un dossier de tâche compact et retirez l’historique sans rapport. La limite de contexte couvre les contenus de travail et la continuation générée ; une réponse finale occupant tout le contexte ne constitue pas une capacité distincte promise.\n\nPoolside publie des variantes BF16 ainsi que des variantes distinctes FP8, NVFP4, INT4 et GGUF, et des modèles brouillons DFlash. Ce sont des choix de déploiement différents. Un petit nombre de paramètres actifs ne signifie pas que l’ensemble des poids du modèle n’occupe que cette quantité de mémoire, et un modèle brouillon est un compagnon d’accélération plutôt que le modèle de programmation lui-même. Conservez le checkpoint exact lorsque vous comparez des résultats locaux et préparez le code ou les documents sous forme de texte pour ce modèle texte-vers-texte.\n\nLe fabricant documente un problème d’analyse des appels d’outils dans d’anciennes versions de mise en service, qui peut supprimer certains appels et exposer leur balisage brut comme du texte de réponse ordinaire. Cela illustre pourquoi un workflow connecté à des outils doit distinguer la requête voulue par le modèle d’un appel de fonction correctement analysé. Examinez le nom et les arguments analysés, validez-les par rapport au schéma réel et conservez le résultat d’exécution. Un rapport final doit identifier le livrable révisé, les vérifications observées et les hypothèses restantes. Un correctif ou une commande proposés ne deviennent un résultat accompli que lorsque ces traces établissent leur comportement.",
    "alias_of": null,
    "aliases": [],
    "author": "Poolside",
    "capabilities": {
      "context_length": 262144,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "text"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ],
        "summary": "La tarification complète de la configuration figure dans les détails."
      }
    ],
    "ctx": null,
    "formats": [
      "chat",
      "messages"
    ],
    "id": "poolside/laguna-xs-2.1:free",
    "input": [
      "text"
    ],
    "kind": "text",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "example_body": {
              "messages": [
                {
                  "content": "Summarize the supplied text in three concise points.",
                  "role": "user"
                }
              ],
              "model": "poolside/laguna-xs-2.1:free",
              "stream": false
            },
            "lifecycle": {
              "cancel_endpoint": null,
              "create": {
                "http": "POST",
                "path": "/v1/chat/completions"
              },
              "mode": "synchronous_json",
              "status": [],
              "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
              "family": "text",
              "format": "JSON"
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "poolside/laguna-xs-2.1:free"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "content": {
                      "type": "string"
                    },
                    "role": {
                      "enum": [
                        "user",
                        "assistant",
                        "system",
                        "developer"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "role",
                    "content"
                  ],
                  "type": "object"
                },
                "minItems": 1,
                "name": "messages",
                "required": true,
                "type": "array"
              },
              {
                "default": false,
                "default_known": true,
                "enum": [
                  false
                ],
                "enum_known": true,
                "name": "stream",
                "required": false,
                "type": "boolean"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maximum": 32768,
                "minimum": 1,
                "name": "max_tokens",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maximum": 32768,
                "minimum": 1,
                "name": "max_completion_tokens",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maximum": 128,
                "minimum": 1,
                "name": "n",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "top_p",
                "required": false,
                "type": "number"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "seed",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "stop",
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                ],
                "required": false
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "frequency_penalty",
                "required": false,
                "type": "number"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "presence_penalty",
                "required": false,
                "type": "number"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "string"
              }
            ],
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "frequency_penalty": {
                  "type": "number"
                },
                "max_completion_tokens": {
                  "maximum": 32768,
                  "minimum": 1,
                  "type": "integer"
                },
                "max_tokens": {
                  "maximum": 32768,
                  "minimum": 1,
                  "type": "integer"
                },
                "messages": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "content": {
                        "type": "string"
                      },
                      "role": {
                        "enum": [
                          "user",
                          "assistant",
                          "system",
                          "developer"
                        ],
                        "type": "string"
                      }
                    },
                    "required": [
                      "role",
                      "content"
                    ],
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "poolside/laguna-xs-2.1:free"
                  ],
                  "type": "string"
                },
                "n": {
                  "maximum": 128,
                  "minimum": 1,
                  "type": "integer"
                },
                "presence_penalty": {
                  "type": "number"
                },
                "seed": {
                  "type": "integer"
                },
                "stop": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    }
                  ]
                },
                "stream": {
                  "default": false,
                  "enum": [
                    false
                  ],
                  "type": "boolean"
                },
                "temperature": {
                  "type": "number"
                },
                "top_p": {
                  "type": "number"
                },
                "user": {
                  "type": "string"
                }
              },
              "required": [
                "model",
                "messages"
              ],
              "type": "object"
            },
            "schema_template": {
              "body": {
                "messages": [
                  {
                    "content": "Summarize the supplied text in three concise points.",
                    "role": "user"
                  }
                ],
                "model": "poolside/laguna-xs-2.1:free",
                "stream": false
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Use literal text messages only. Cache controls, tools, image/audio/video content and streamed responses are unavailable for this method.",
              "The complete encoded JSON request must not exceed 262144 bytes."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [
              "stream",
              "max_tokens",
              "max_completion_tokens",
              "n",
              "temperature",
              "top_p",
              "seed",
              "stop",
              "frequency_penalty",
              "presence_penalty",
              "user"
            ],
            "required": [
              "model",
              "messages"
            ]
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "create": {
              "http": "POST",
              "path": "/v1/chat/completions"
            },
            "mode": "synchronous_json",
            "status": [],
            "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/chat/completions"
          },
          "method_aliases": [],
          "output": {
            "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
            "family": "text",
            "format": "JSON"
          }
        },
        "ctx": 262144,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"poolside/laguna-xs-2.1:free\", \"messages\": [{\"role\": \"user\", \"content\": \"Summarize the supplied text in three concise points.\"}], \"stream\": false}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n",
            "label": "curl · create once and retain the complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "chat",
        "hints": [
          "Send exact model ID with messages.",
          "Context length is not an output cap.",
          "A text file may supply literal text; image/audio/file-object inputs need exact binding."
        ],
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 0,
        "input": [
          "text"
        ],
        "label": "Chat OpenAI",
        "max_out": 32768,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 0,
        "output": [
          "text"
        ],
        "path": "/v1/chat/completions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Standard rate",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Standard rate",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Standard rate",
            "when": "When maximum reasoning effort uses the default adjustment"
          },
          {
            "label": "Explicit cache pricing",
            "value": "Not enabled",
            "when": "When explicit cache is requested"
          },
          {
            "label": "Text-only zero rates",
            "value": "Text input and output only. Cache, tools, media and streaming are unavailable.",
            "when": "For text-only input and output"
          }
        ],
        "pricing": {
          "allow_explicit_cache": false,
          "billing_mode": "token",
          "cache_read_price": null,
          "cache_write_1h_price": null,
          "cache_write_price": null,
          "fast_multiplier": 1,
          "flex_multiplier": 1,
          "image_input_price": null,
          "image_output_price": null,
          "input_price": 0,
          "intervals": [],
          "max_reasoning_effort_multiplier": 1,
          "output_price": 0,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "poolside/laguna-xs-2.1:free",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "unit": "token",
        "units": [
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      },
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "example_body": {
              "max_tokens": 256,
              "messages": [
                {
                  "content": "Summarize the supplied text in three concise points.",
                  "role": "user"
                }
              ],
              "model": "poolside/laguna-xs-2.1:free",
              "stream": false
            },
            "lifecycle": {
              "cancel_endpoint": null,
              "create": {
                "http": "POST",
                "path": "/v1/messages"
              },
              "mode": "synchronous_json",
              "status": [],
              "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
              "family": "text",
              "format": "JSON"
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "poolside/laguna-xs-2.1:free"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "content": {
                      "type": "string"
                    },
                    "role": {
                      "enum": [
                        "user",
                        "assistant"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "role",
                    "content"
                  ],
                  "type": "object"
                },
                "minItems": 1,
                "name": "messages",
                "required": true,
                "type": "array"
              },
              {
                "default": false,
                "default_known": true,
                "enum": [
                  false
                ],
                "enum_known": true,
                "name": "stream",
                "required": false,
                "type": "boolean"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "system",
                "required": false,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maximum": 32768,
                "minimum": 1,
                "name": "max_tokens",
                "required": true,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "top_p",
                "required": false,
                "type": "number"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "top_k",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum_known": false,
                "items": {
                  "type": "string"
                },
                "name": "stop_sequences",
                "required": false,
                "type": "array"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "metadata",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "max_tokens": {
                  "maximum": 32768,
                  "minimum": 1,
                  "type": "integer"
                },
                "messages": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "content": {
                        "type": "string"
                      },
                      "role": {
                        "enum": [
                          "user",
                          "assistant"
                        ],
                        "type": "string"
                      }
                    },
                    "required": [
                      "role",
                      "content"
                    ],
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                },
                "metadata": {
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "poolside/laguna-xs-2.1:free"
                  ],
                  "type": "string"
                },
                "stop_sequences": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "stream": {
                  "default": false,
                  "enum": [
                    false
                  ],
                  "type": "boolean"
                },
                "system": {
                  "type": "string"
                },
                "temperature": {
                  "type": "number"
                },
                "top_k": {
                  "type": "integer"
                },
                "top_p": {
                  "type": "number"
                }
              },
              "required": [
                "model",
                "messages",
                "max_tokens"
              ],
              "type": "object"
            },
            "schema_template": {
              "body": {
                "max_tokens": 256,
                "messages": [
                  {
                    "content": "Summarize the supplied text in three concise points.",
                    "role": "user"
                  }
                ],
                "model": "poolside/laguna-xs-2.1:free",
                "stream": false
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Use literal text messages only. Cache controls, tools, image/audio/video content and streamed responses are unavailable for this method.",
              "The complete encoded JSON request must not exceed 262144 bytes."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [
              "stream",
              "system",
              "temperature",
              "top_p",
              "top_k",
              "stop_sequences",
              "metadata"
            ],
            "required": [
              "model",
              "messages",
              "max_tokens"
            ]
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "create": {
              "http": "POST",
              "path": "/v1/messages"
            },
            "mode": "synchronous_json",
            "status": [],
            "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/messages"
          },
          "method_aliases": [],
          "output": {
            "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
            "family": "text",
            "format": "JSON"
          }
        },
        "ctx": 262144,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"poolside/laguna-xs-2.1:free\", \"messages\": [{\"role\": \"user\", \"content\": \"Summarize the supplied text in three concise points.\"}], \"stream\": false, \"max_tokens\": 256}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n",
            "label": "curl · create once and retain the complete result",
            "language": "bash"
          }
        ],
        "family": "anthropic",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "messages",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 0,
        "input": [
          "text"
        ],
        "label": "Messages Anthropic",
        "max_out": 32768,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 0,
        "output": [
          "text"
        ],
        "path": "/v1/messages",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Standard rate",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Standard rate",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Standard rate",
            "when": "When maximum reasoning effort uses the default adjustment"
          },
          {
            "label": "Text-only zero rates",
            "value": "Text input and output only. Cache, tools, media and streaming are unavailable.",
            "when": "For text-only input and output"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "cache_read_price": null,
          "cache_write_1h_price": null,
          "cache_write_price": null,
          "fast_multiplier": 1,
          "flex_multiplier": 1,
          "image_input_price": null,
          "image_output_price": null,
          "input_price": 0,
          "intervals": [],
          "max_reasoning_effort_multiplier": 1,
          "output_price": 0,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "poolside/laguna-xs-2.1:free",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "unit": "token",
        "units": [
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "poolside/laguna-xs-2.1:free",
        "request_model_id": "poolside/laguna-xs-2.1:free",
        "route_label": "Ultra"
      }
    ],
    "name": "Poolside: Laguna XS 2.1 (free)",
    "price": {
      "in": 0,
      "in_label": null,
      "out": 0,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0,
      "sort_out": 0,
      "varies": true
    },
    "short": "Poolside Laguna XS 2.1 est un modèle textuel de 33 milliards de paramètres au total, dont 3 milliards de paramètres actifs, destiné à la programmation par agents et au travail de longue haleine. Il dispose d’un contexte de 262 144 tokens et d’un raisonnement natif entre les appels d’outils. Son architecture MoE plus petite et ses versions quantifiées distinctes permettent un déploiement local dont les besoins en ressources dépendent de la configuration."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        },
        {
          "contract_json_pointer": "/methods/1/rawMethod/contract",
          "html_json_pointer": "/methods/1/html",
          "method_ordinal": 1
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod",
        "/methods/1/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Poolside Laguna XS 2.1 est un modèle textuel de 33 milliards de paramètres au total, dont 3 milliards de paramètres actifs, destiné à la programmation par agents et au travail de longue haleine. Il dispose d’un contexte de 262 144 tokens et d’un raisonnement natif entre les appels d’outils. Son architecture MoE plus petite et ses versions quantifiées distinctes permettent un déploiement local dont les besoins en ressources dépendent de la configuration.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "d161eb17bfda9657ea81fe153f25705d65630ad00c7f85abf45e0291b140dc8c",
    "renderer_sha256": "44d2db1deadc475e1793597083716540bae7bbc53606f05f58780fec5f115dd4"
  },
  "sourceRevision": "71abad82fe5a35cbf1c3d66f0bb2327ede9ef7b4dff7730c8e27a9d0ae90a653"
}
