{
  "aboutHtml": "<p>Span-01 est le modèle de notation des comportements de Respan pour les conversations et les traces d’agents. Il lit une interaction textuelle accompagnée de définitions de comportements rédigées en langage courant et renvoie des probabilités pour chaque définition. La sortie distingue un comportement présent, absent ou non observable dans la trace fournie. Un processus d’évaluation dispose ainsi d’un signal numérique doté d’un moyen explicite de représenter l’absence d’éléments probants, plutôt que d’une explication générée à analyser.</p><h4>Définir le comportement à observer</h4><p>Les comportements sont fournis par l’appelant. L’injection de prompt, les affirmations non fondées, l’exposition de secrets, les boucles répétitives, le mauvais usage d’outils et la frustration de l’utilisateur sont des définitions possibles, et non une taxonomie fixe intégrée au modèle. Précisez ce qui relève du comportement et ce qui n’en relève pas. Une définition étroite peut distinguer un utilisateur qui demande un transfert vers un humain d’un utilisateur qui exprime simplement sa déception. Une autre peut distinguer un assistant qui reconnaît un problème d’un assistant qui promet une action qu’il ne peut pas accomplir.</p><p>Associez des identifiants stables aux définitions, afin que les résultats restent rattachés au comportement évalué. Maintenez le critère centré sur un élément que la trace peut montrer. Si le comportement exige un document source, le résultat d’un outil ou une réponse ultérieure du client, incluez ces éléments à leur place dans l’interaction textuelle. Une définition seule ne peut pas établir un fait absent de la trace.</p><h4>Préparer le contexte précédent et le tour cible</h4><p>L’entrée documentée sépare les messages précédents, placés dans span.input, du tour cible, placé dans span.output. Le contenu de chaque message est une chaîne de caractères. Fournissez le contexte réel de la conversation et le tour que vous souhaitez noter, en préservant les rôles des interlocuteurs et l’ordre nécessaires à son interprétation. Il s’agit d’un profil de notation de texte ; le texte d’un document préparé ou une transcription peuvent servir d’éléments probants, tandis que le média dont ce texte a été extrait ne constitue pas en lui-même l’entrée documentée.</p><p>Pour une interaction d’assistance, conservez la demande du client avec la réponse proposée par l’assistant. Pour un agent utilisant des outils, conservez l’observation d’outil pertinente et la réponse qui s’appuie sur elle. Une définition d’ancrage illustrative peut demander si l’assistant affirme une conclusion que l’observation fournie n’étaye pas. Le résultat utile porte sur le comportement défini dans ce segment, et non sur un diagnostic complet de l’application entière.</p><h4>Lire trois probabilités pour chaque définition</h4><p>Chaque résultat comprend l’identifiant du comportement ainsi que p_present, p_absent et p_not_observable. La somme des trois probabilités est d’environ 1. Présent estime que le comportement s’est produit ; absent estime qu’il ne s’est pas produit ; non observable estime que le segment fourni ne contient pas les éléments nécessaires pour trancher. Ces significations sont distinctes et doivent le rester lors de l’interprétation des résultats.</p><p>Par exemple, un segment qui se termine par un assistant annonçant qu’il va résoudre un problème peut montrer une promesse. Il ne peut pas encore montrer que le client a accepté la solution finale si aucune réponse du client n’est présente. Traitez ce résultat lié à l’absence d’éléments comme inconnu plutôt que de le convertir en absent. Une faible probabilité de présence ne constitue pas automatiquement une preuve solide d’absence lorsqu’une part importante de la distribution relève du non observable.</p><h4>Notation en une seule passe sur l’ensemble des définitions</h4><p>Respan décrit Span-01 comme un classifieur à raisonnement entraîné d’abord à la classification générale avec RLAIF, puis spécialisé dans la détection de comportements. Chaque définition s’exécute comme une branche parallèle sur la même trace, et le modèle renvoie les probabilités de comportement en une seule passe avant (forward pass). L’attention hybride soutient son traitement de traces longues et complexes. Il ne génère pas de tokens, ne rédige pas de jugement narratif et ne produit pas d’explication libre de sa classification.</p><p>Le guide conceptuel et la référence de notation ne documentent aucun plafond du nombre de comportements par requête. Chaque définition fait néanmoins partie de l’évaluation fournie : gardez-les claires et pertinentes plutôt que de considérer l’absence de plafond comme la preuve d’une capacité d’entrée illimitée. Le résultat contient une entrée par comportement, dans l’ordre de la requête, identifiée par son id. Plusieurs définitions décrivent plusieurs observations indépendantes ; ce ne sont pas des choix de catégories mutuellement exclusifs dont la somme devrait être égale à un sur l’ensemble des comportements.</p><h4>Préparer un artefact d’évaluation utile</h4><p>Combinez les probabilités renvoyées avec des seuils propres à la tâche et des règles de revue définies en dehors du modèle. L’éditeur recommande d’utiliser des conversations étiquetées pour choisir ces seuils et d’inspecter les présences limites ou les résultats à forte probabilité non observable. Un processus d’assistance peut enregistrer séparément la frustration, une proposition d’escalade et une promesse non fondée. Un processus de contrôle qualité d’agent peut suivre les actions répétées ou vérifier si une réponse a utilisé les éléments mis à sa disposition.</p><p>Conservez ensemble le segment de texte, la définition du comportement, l’identifiant du résultat et la distribution complète à trois issues. Lorsque la définition change, gardez à l’esprit que ce que mesure la probabilité change aussi. Examinez les erreurs apparentes au regard de la conversation réelle au lieu de traiter un résultat numérique comme la preuve d’un événement non observé. Un artefact utile est un relevé de comportement rattaché à la trace et au critère, avec une incertitude conservée pour une inspection ultérieure ou la décision suivante d’une application.</p>",
  "aboutText": "Span-01 est le modèle de notation des comportements de Respan pour les conversations et les traces d’agents. Il lit une interaction textuelle accompagnée de définitions de comportements rédigées en langage courant et renvoie des probabilités pour chaque définition. La sortie distingue un comportement présent, absent ou non observable dans la trace fournie. Un processus d’évaluation dispose ainsi d’un signal numérique doté d’un moyen explicite de représenter l’absence d’éléments probants, plutôt que d’une explication générée à analyser.\n\n### Définir le comportement à observer\n\nLes comportements sont fournis par l’appelant. L’injection de prompt, les affirmations non fondées, l’exposition de secrets, les boucles répétitives, le mauvais usage d’outils et la frustration de l’utilisateur sont des définitions possibles, et non une taxonomie fixe intégrée au modèle. Précisez ce qui relève du comportement et ce qui n’en relève pas. Une définition étroite peut distinguer un utilisateur qui demande un transfert vers un humain d’un utilisateur qui exprime simplement sa déception. Une autre peut distinguer un assistant qui reconnaît un problème d’un assistant qui promet une action qu’il ne peut pas accomplir.\n\nAssociez des identifiants stables aux définitions, afin que les résultats restent rattachés au comportement évalué. Maintenez le critère centré sur un élément que la trace peut montrer. Si le comportement exige un document source, le résultat d’un outil ou une réponse ultérieure du client, incluez ces éléments à leur place dans l’interaction textuelle. Une définition seule ne peut pas établir un fait absent de la trace.\n\n### Préparer le contexte précédent et le tour cible\n\nL’entrée documentée sépare les messages précédents, placés dans span.input, du tour cible, placé dans span.output. Le contenu de chaque message est une chaîne de caractères. Fournissez le contexte réel de la conversation et le tour que vous souhaitez noter, en préservant les rôles des interlocuteurs et l’ordre nécessaires à son interprétation. Il s’agit d’un profil de notation de texte ; le texte d’un document préparé ou une transcription peuvent servir d’éléments probants, tandis que le média dont ce texte a été extrait ne constitue pas en lui-même l’entrée documentée.\n\nPour une interaction d’assistance, conservez la demande du client avec la réponse proposée par l’assistant. Pour un agent utilisant des outils, conservez l’observation d’outil pertinente et la réponse qui s’appuie sur elle. Une définition d’ancrage illustrative peut demander si l’assistant affirme une conclusion que l’observation fournie n’étaye pas. Le résultat utile porte sur le comportement défini dans ce segment, et non sur un diagnostic complet de l’application entière.\n\n### Lire trois probabilités pour chaque définition\n\nChaque résultat comprend l’identifiant du comportement ainsi que p_present, p_absent et p_not_observable. La somme des trois probabilités est d’environ 1. Présent estime que le comportement s’est produit ; absent estime qu’il ne s’est pas produit ; non observable estime que le segment fourni ne contient pas les éléments nécessaires pour trancher. Ces significations sont distinctes et doivent le rester lors de l’interprétation des résultats.\n\nPar exemple, un segment qui se termine par un assistant annonçant qu’il va résoudre un problème peut montrer une promesse. Il ne peut pas encore montrer que le client a accepté la solution finale si aucune réponse du client n’est présente. Traitez ce résultat lié à l’absence d’éléments comme inconnu plutôt que de le convertir en absent. Une faible probabilité de présence ne constitue pas automatiquement une preuve solide d’absence lorsqu’une part importante de la distribution relève du non observable.\n\n### Notation en une seule passe sur l’ensemble des définitions\n\nRespan décrit Span-01 comme un classifieur à raisonnement entraîné d’abord à la classification générale avec RLAIF, puis spécialisé dans la détection de comportements. Chaque définition s’exécute comme une branche parallèle sur la même trace, et le modèle renvoie les probabilités de comportement en une seule passe avant (forward pass). L’attention hybride soutient son traitement de traces longues et complexes. Il ne génère pas de tokens, ne rédige pas de jugement narratif et ne produit pas d’explication libre de sa classification.\n\nLe guide conceptuel et la référence de notation ne documentent aucun plafond du nombre de comportements par requête. Chaque définition fait néanmoins partie de l’évaluation fournie : gardez-les claires et pertinentes plutôt que de considérer l’absence de plafond comme la preuve d’une capacité d’entrée illimitée. Le résultat contient une entrée par comportement, dans l’ordre de la requête, identifiée par son id. Plusieurs définitions décrivent plusieurs observations indépendantes ; ce ne sont pas des choix de catégories mutuellement exclusifs dont la somme devrait être égale à un sur l’ensemble des comportements.\n\n### Préparer un artefact d’évaluation utile\n\nCombinez les probabilités renvoyées avec des seuils propres à la tâche et des règles de revue définies en dehors du modèle. L’éditeur recommande d’utiliser des conversations étiquetées pour choisir ces seuils et d’inspecter les présences limites ou les résultats à forte probabilité non observable. Un processus d’assistance peut enregistrer séparément la frustration, une proposition d’escalade et une promesse non fondée. Un processus de contrôle qualité d’agent peut suivre les actions répétées ou vérifier si une réponse a utilisé les éléments mis à sa disposition.\n\nConservez ensemble le segment de texte, la définition du comportement, l’identifiant du résultat et la distribution complète à trois issues. Lorsque la définition change, gardez à l’esprit que ce que mesure la probabilité change aussi. Examinez les erreurs apparentes au regard de la conversation réelle au lieu de traiter un résultat numérique comme la preuve d’un événement non observé. Un artefact utile est un relevé de comportement rattaché à la trace et au critère, avec une incertitude conservée pour une inspection ultérieure ou la décision suivante d’une application.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "830f5a2f5a83624c9f445ef2bdaf4c10b724a593b74f728a0ebc8f922752a633",
    "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\">•</span><h2 id=\"sheet-title\">Respan: Span-01</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Fermer\">×</button></div><div class=\"idline\"><span>Respan /</span><code>respan/span-01</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|systemone|/v1/systemone|respan%2Fspan-01\">System One</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\">Span-01 est le classifieur de comportements textuels de Respan pour les conversations et les traces d’agents. Définissez les comportements en langage courant : il renvoie trois probabilités pour chacun, présent, absent et non observable, et préserve l’incertitude lorsque la trace fournie ne permet pas de trancher la question.</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>decisions</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>Span-01 est le modèle de notation des comportements de Respan pour les conversations et les traces d’agents. Il lit une interaction textuelle accompagnée de définitions de comportements rédigées en langage courant et renvoie des probabilités pour chaque définition. La sortie distingue un comportement présent, absent ou non observable dans la trace fournie. Un processus d’évaluation dispose ainsi d’un signal numérique doté d’un moyen explicite de représenter l’absence d’éléments probants, plutôt que d’une explication générée à analyser.</p><h4>Définir le comportement à observer</h4><p>Les comportements sont fournis par l’appelant. L’injection de prompt, les affirmations non fondées, l’exposition de secrets, les boucles répétitives, le mauvais usage d’outils et la frustration de l’utilisateur sont des définitions possibles, et non une taxonomie fixe intégrée au modèle. Précisez ce qui relève du comportement et ce qui n’en relève pas. Une définition étroite peut distinguer un utilisateur qui demande un transfert vers un humain d’un utilisateur qui exprime simplement sa déception. Une autre peut distinguer un assistant qui reconnaît un problème d’un assistant qui promet une action qu’il ne peut pas accomplir.</p><p>Associez des identifiants stables aux définitions, afin que les résultats restent rattachés au comportement évalué. Maintenez le critère centré sur un élément que la trace peut montrer. Si le comportement exige un document source, le résultat d’un outil ou une réponse ultérieure du client, incluez ces éléments à leur place dans l’interaction textuelle. Une définition seule ne peut pas établir un fait absent de la trace.</p><h4>Préparer le contexte précédent et le tour cible</h4><p>L’entrée documentée sépare les messages précédents, placés dans span.input, du tour cible, placé dans span.output. Le contenu de chaque message est une chaîne de caractères. Fournissez le contexte réel de la conversation et le tour que vous souhaitez noter, en préservant les rôles des interlocuteurs et l’ordre nécessaires à son interprétation. Il s’agit d’un profil de notation de texte ; le texte d’un document préparé ou une transcription peuvent servir d’éléments probants, tandis que le média dont ce texte a été extrait ne constitue pas en lui-même l’entrée documentée.</p><p>Pour une interaction d’assistance, conservez la demande du client avec la réponse proposée par l’assistant. Pour un agent utilisant des outils, conservez l’observation d’outil pertinente et la réponse qui s’appuie sur elle. Une définition d’ancrage illustrative peut demander si l’assistant affirme une conclusion que l’observation fournie n’étaye pas. Le résultat utile porte sur le comportement défini dans ce segment, et non sur un diagnostic complet de l’application entière.</p><h4>Lire trois probabilités pour chaque définition</h4><p>Chaque résultat comprend l’identifiant du comportement ainsi que p_present, p_absent et p_not_observable. La somme des trois probabilités est d’environ 1. Présent estime que le comportement s’est produit ; absent estime qu’il ne s’est pas produit ; non observable estime que le segment fourni ne contient pas les éléments nécessaires pour trancher. Ces significations sont distinctes et doivent le rester lors de l’interprétation des résultats.</p><p>Par exemple, un segment qui se termine par un assistant annonçant qu’il va résoudre un problème peut montrer une promesse. Il ne peut pas encore montrer que le client a accepté la solution finale si aucune réponse du client n’est présente. Traitez ce résultat lié à l’absence d’éléments comme inconnu plutôt que de le convertir en absent. Une faible probabilité de présence ne constitue pas automatiquement une preuve solide d’absence lorsqu’une part importante de la distribution relève du non observable.</p><h4>Notation en une seule passe sur l’ensemble des définitions</h4><p>Respan décrit Span-01 comme un classifieur à raisonnement entraîné d’abord à la classification générale avec RLAIF, puis spécialisé dans la détection de comportements. Chaque définition s’exécute comme une branche parallèle sur la même trace, et le modèle renvoie les probabilités de comportement en une seule passe avant (forward pass). L’attention hybride soutient son traitement de traces longues et complexes. Il ne génère pas de tokens, ne rédige pas de jugement narratif et ne produit pas d’explication libre de sa classification.</p><p>Le guide conceptuel et la référence de notation ne documentent aucun plafond du nombre de comportements par requête. Chaque définition fait néanmoins partie de l’évaluation fournie : gardez-les claires et pertinentes plutôt que de considérer l’absence de plafond comme la preuve d’une capacité d’entrée illimitée. Le résultat contient une entrée par comportement, dans l’ordre de la requête, identifiée par son id. Plusieurs définitions décrivent plusieurs observations indépendantes ; ce ne sont pas des choix de catégories mutuellement exclusifs dont la somme devrait être égale à un sur l’ensemble des comportements.</p><h4>Préparer un artefact d’évaluation utile</h4><p>Combinez les probabilités renvoyées avec des seuils propres à la tâche et des règles de revue définies en dehors du modèle. L’éditeur recommande d’utiliser des conversations étiquetées pour choisir ces seuils et d’inspecter les présences limites ou les résultats à forte probabilité non observable. Un processus d’assistance peut enregistrer séparément la frustration, une proposition d’escalade et une promesse non fondée. Un processus de contrôle qualité d’agent peut suivre les actions répétées ou vérifier si une réponse a utilisé les éléments mis à sa disposition.</p><p>Conservez ensemble le segment de texte, la définition du comportement, l’identifiant du résultat et la distribution complète à trois issues. Lorsque la définition change, gardez à l’esprit que ce que mesure la probabilité change aussi. Examinez les erreurs apparentes au regard de la conversation réelle au lieu de traiter un résultat numérique comme la preuve d’un événement non observé. Un artefact utile est un relevé de comportement rattaché à la trace et au critère, avec une incertitude conservée pour une inspection ultérieure ou la décision suivante d’une application.</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 · System One</b> <code>POST /v1/systemone</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>decisions</code></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 data-parameter-availability=\"source_interface\"><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>respan/span-01</div></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>schema</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 data-parameter-availability=\"source_interface\"><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">questions</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>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 data-parameter-availability=\"source_interface\"><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">session_id</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 data-parameter-availability=\"source_interface\"><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">state</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>schema</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 data-parameter-availability=\"source_interface\"><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">trace</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>schema</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 data-parameter-availability=\"source_interface\"><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><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">questions.&lt;id&gt;.type</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>noul, choice, score</div></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">questions.&lt;id&gt;.instructions</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string|object|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 data-parameter-availability=\"source_interface\"><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">questions.&lt;id&gt;.criteria</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>object|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><div>Conditions: choice/score : obligatoires ; noul : facultatif. Les critères de choice forment un objet ; score est un tableau avec minItems égal à 1.</div></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">questions.&lt;id&gt;.criteria.true</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string|object|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><div>S’applique lorsque: objet de critères noul fourni</div></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">questions.&lt;id&gt;.criteria.false</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string|object|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><div>S’applique lorsque: objet de critères noul fourni</div></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=\"card-about\" data-material-combinations><summary>Combinaisons d’éléments d’entrée</summary><p class=\"note-s\"><b>noul</b> · Obligatoire : state, questions.&lt;id&gt;.type=noul, questions.&lt;id&gt;.instructions</p><p class=\"note-s\"><b>choice</b> · Obligatoire : state, questions.&lt;id&gt;.type=choice, questions.&lt;id&gt;.instructions, criteria object</p><p class=\"note-s\"><b>score</b> · Obligatoire : state, questions.&lt;id&gt;.type=score, questions.&lt;id&gt;.instructions, criteria array with minItems1</p></details><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, state, questions</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>optional_controls</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>provider, session_id, trace, user</td></tr><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>multimodal_input_binding</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>null</td></tr></tbody></table></div><p>Cycle de vie : <code>synchronous</code></p><p class=\"note-s\">Envoyez l’identifiant exact du modèle et conservez la réponse native complète.</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>Non précisé <span class=\"note-s\">Lorsque le mode rapide est sélectionné</span></dd><dt>Mode Flex</dt><dd>Non précisé <span class=\"note-s\">Lorsque le mode flex est sélectionné</span></dd><dt>Effort de raisonnement maximal</dt><dd>Non précisé <span class=\"note-s\">Lorsque l’effort de raisonnement maximal utilise l’ajustement par défaut (default)</span></dd></dl></div><div data-declared-tariff-pricing><h4>Tarifs Ailoot</h4><h4>Prix par configuration</h4><p class=\"note-s\">Associez chaque coût aux conditions indiquées. Utilisez un seul tarif pour chaque ensemble de configurations alternatives.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Configuration</th><th>Barème tarifaire</th><th>Tokens de contexte, plus de</th><th>Tokens de contexte, jusqu’à la limite incluse</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 des tokens</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=\"Tokens de contexte, plus de\"><span class=\"card-cell-label\">Tokens de contexte, plus de</span>—</td><td data-cell-label=\"Tokens de contexte, jusqu’à la limite incluse\"><span class=\"card-cell-label\">Tokens de contexte, jusqu’à la limite incluse</span>Sans borne supérieure</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.00004</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><tr><th data-cell-label=\"Configuration\" scope=\"row\"><span class=\"card-cell-label\">Configuration</span>Palier 1 de longueur de requête</th><td data-cell-label=\"Barème tarifaire\"><span class=\"card-cell-label\">Barème tarifaire</span>—</td><td data-cell-label=\"Tokens de contexte, plus de\"><span class=\"card-cell-label\">Tokens de contexte, plus de</span>0</td><td data-cell-label=\"Tokens de contexte, jusqu’à la limite incluse\"><span class=\"card-cell-label\">Tokens de contexte, jusqu’à la limite incluse</span>Sans borne supérieure</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.00004</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 · System One</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-2558-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2558-panel-0\" aria-selected=\"true\" tabindex=\"0\">Structure officielle de requête conservée ; exemple de documentation</button><button class=\"cg-tab\" id=\"model-code-2558-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2558-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Utilisez les données réelles de votre requête et conservez 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-2558-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2558-tab-0\"><pre data-lang=\"json\"><code>{\n  &quot;model&quot;: &quot;respan/span-01&quot;,\n  &quot;questions&quot;: {\n    &quot;is_bug&quot;: {\n      &quot;criteria&quot;: {\n        &quot;false&quot;: &quot;The customer is asking a question or requesting a feature.&quot;,\n        &quot;true&quot;: &quot;The customer describes broken or unexpected product behavior.&quot;\n      },\n      &quot;instructions&quot;: &quot;Is the customer reporting a software defect?&quot;,\n      &quot;type&quot;: &quot;noul&quot;\n    },\n    &quot;team&quot;: {\n      &quot;criteria&quot;: {\n        &quot;account&quot;: &quot;Login, permissions, or profile issues.&quot;,\n        &quot;frontend&quot;: &quot;Rendering, layout, or browser compatibility issues.&quot;,\n        &quot;payments&quot;: &quot;Checkout, billing, or payment processing issues.&quot;\n      },\n      &quot;instructions&quot;: &quot;Which team should own this ticket?&quot;,\n      &quot;type&quot;: &quot;choice&quot;\n    },\n    &quot;urgency&quot;: {\n      &quot;criteria&quot;: [\n        &quot;Can wait for the next release&quot;,\n        &quot;Should be fixed this week&quot;,\n        &quot;Blocking revenue right now&quot;\n      ],\n      &quot;instructions&quot;: &quot;How urgent is this ticket?&quot;,\n      &quot;type&quot;: &quot;score&quot;\n    }\n  },\n  &quot;state&quot;: {\n    &quot;customer_tier&quot;: &quot;enterprise&quot;,\n    &quot;ticket&quot;: &quot;My checkout page shows a blank screen after I click Pay. I have tried two browsers.&quot;\n  }\n}</code></pre></div><div class=\"cg-pane\" id=\"model-code-2558-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-2558-tab-1\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_REQUEST_FILE:?Set your actual JSON request file}&quot;\nexport AILOOT_REQUEST_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(Path(os.environ[&#39;AILOOT_REQUEST_FILE&#39;]).read_text(encoding=&#39;utf-8&#39;))\nif not isinstance(p,dict): raise SystemExit(&#39;Request must be a JSON object&#39;)\np[&#39;model&#39;]=&#39;respan/span-01&#39;\nPath(&#39;request.json&#39;).write_text(json.dumps(p,ensure_ascii=False),encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/systemone \\\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\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path(&#39;result.json&#39;).read_text()),ensure_ascii=False,indent=2))\nPY_RESULT\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 · System One</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\">Chaque réponse fournie pour un identifiant de question est conservée avec son type exact, sa valeur noul/choice/score, son degré de confiance, ses probabilités et sa légende. L’intégralité du JSON d’origine est enregistrée et renvoyée uniquement après le règlement.</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\">Conservez l’opération d’origine et la réponse complète ou partielle ; ne rejouez pas le POST.</p></div><details class=\"card-about\" data-output-fields><summary>Champs de la réponse</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Champ</th><th>Type</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>string</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">id</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>string</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>string</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">answers.&lt;id&gt;.type</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>string</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">answers.&lt;id&gt;.noul</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>number</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">answers.&lt;id&gt;.choice</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>string</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">answers.&lt;id&gt;.score</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>number</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">answers.&lt;id&gt;.confidence</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>number</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">answers.&lt;id&gt;.probabilities</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>object</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">answers.&lt;id&gt;.legend</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>object</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">usage.input_tokens</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>integer</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">usage.output_tokens</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>integer</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">usage.cost</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span>number</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Erreurs et étapes suivantes</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Réponse</th><th>Condition</th><th>Étape suivante</th></tr></thead><tbody><tr><th data-cell-label=\"Réponse\" scope=\"row\"><span class=\"card-cell-label\">Réponse</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Condition\"><span class=\"card-cell-label\">Condition</span>Champ obligatoire, représentation ou valeur non valide</td><td data-cell-label=\"Étape suivante\"><span class=\"card-cell-label\">Étape suivante</span>Corrigez le champ de requête indiqué.</td></tr></tbody></table></div></details></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=respan%2Fspan-01&amp;route=Ultra&amp;caller=respan%2Fspan-01&amp;fmt=systemone\"><code>respan/span-01</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=respan%2Fspan-01&amp;route=Ultra&amp;caller=respan%2Fspan-01&amp;fmt=systemone\"><code>respan/span-01</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "respan/span-01",
        "fmt": "systemone",
        "http": "POST",
        "path": "/v1/systemone",
        "request_model_id": "respan/span-01",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|systemone|/v1/systemone|respan%2Fspan-01",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Every supplied question-ID answer with its exact type, noul/choice/score value, confidence, probabilities and legend is retained. Entire original JSON is stored and returned only after settlement.",
            "errors": [
              {
                "code": null,
                "condition": "Champ obligatoire, représentation ou valeur non valide",
                "http_status": 400,
                "recovery": "Corrigez le champ de requête indiqué.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "cancel": null,
              "idempotency_header": null,
              "job_retrieve": null,
              "mode": "synchronous",
              "streaming": false,
              "unknown": "Conservez l’opération d’origine et la réponse complète ou partielle ; ne rejouez pas le POST."
            },
            "material_combinations": [
              {
                "mode": "noul",
                "optional": [
                  "criteria true/false descriptions"
                ],
                "required": [
                  "state",
                  "questions.<id>.type=noul",
                  "questions.<id>.instructions"
                ]
              },
              {
                "mode": "choice",
                "required": [
                  "state",
                  "questions.<id>.type=choice",
                  "questions.<id>.instructions",
                  "criteria object"
                ]
              },
              {
                "mode": "score",
                "required": [
                  "state",
                  "questions.<id>.type=score",
                  "questions.<id>.instructions",
                  "criteria array with minItems1"
                ]
              }
            ],
            "operation_modes": [
              "noul",
              "choice",
              "score"
            ],
            "outputs": {
              "all_results": "Chaque réponse fournie pour un identifiant de question est conservée avec son type exact, sa valeur noul/choice/score, son degré de confiance, ses probabilités et sa légende. L’intégralité du JSON d’origine est enregistrée et renvoyée uniquement après le règlement.",
              "family": "decisions",
              "fields": [
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "provider",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "answers.<id>.type",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "answers.<id>.noul",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "answers.<id>.choice",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "answers.<id>.score",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "answers.<id>.confidence",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "answers.<id>.probabilities",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "answers.<id>.legend",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "usage.input_tokens",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "usage.output_tokens",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "usage.cost",
                  "type": "number"
                }
              ],
              "format": "json",
              "schema": {
                "properties": {
                  "answers": {
                    "additionalProperties": {
                      "description": "A Decisions answer using a boolean, choice, or score evaluation.",
                      "discriminator": {
                        "mapping": {
                          "choice": "#/components/schemas/DecisionsChoiceAnswer",
                          "noul": "#/components/schemas/DecisionsNoulAnswer",
                          "score": "#/components/schemas/DecisionsScoreAnswer"
                        },
                        "propertyName": "type"
                      },
                      "oneOf": [
                        {
                          "$ref": "#/components/schemas/DecisionsNoulAnswer"
                        },
                        {
                          "$ref": "#/components/schemas/DecisionsChoiceAnswer"
                        },
                        {
                          "$ref": "#/components/schemas/DecisionsScoreAnswer"
                        }
                      ]
                    },
                    "type": "object"
                  },
                  "id": {
                    "type": "string"
                  },
                  "model": {
                    "type": "string"
                  },
                  "provider": {
                    "type": "string"
                  },
                  "usage": {
                    "properties": {
                      "cost": {
                        "format": "double",
                        "type": "number"
                      },
                      "input_tokens": {
                        "type": "integer"
                      },
                      "output_tokens": {
                        "type": "integer"
                      }
                    },
                    "required": [
                      "input_tokens",
                      "output_tokens"
                    ],
                    "type": "object"
                  }
                },
                "required": [
                  "model",
                  "answers",
                  "usage"
                ],
                "type": "object"
              }
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "respan/span-01"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "schema"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "questions",
                "required": true,
                "type": "object"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "A unique identifier for grouping related requests (e.g., a conversation or agent workflow). Used for observability grouping in Broadcast and private logging; never sent to the provider. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters.",
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "session_id",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "The content to evaluate: a plain string, or a JSON object or array of related context.",
                "enum": null,
                "enum_known": false,
                "name": "state",
                "required": true,
                "type": "schema"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "type": "schema"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "user",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "noul",
                  "choice",
                  "score"
                ],
                "enum_known": true,
                "name": "questions.<id>.type",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "questions.<id>.instructions",
                "required": true,
                "type": "string|object|array"
              },
              {
                "availability": "source_interface",
                "conditions": "choice/score : obligatoires ; noul : facultatif. Les critères de choice forment un objet ; score est un tableau avec minItems égal à 1.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "questions.<id>.criteria",
                "required": false,
                "type": "object|array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "questions.<id>.criteria.true",
                "required": true,
                "type": "string|object|array",
                "when": "objet de critères noul fourni"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "questions.<id>.criteria.false",
                "required": true,
                "type": "string|object|array",
                "when": "objet de critères noul fourni"
              }
            ],
            "unsupported": [
              "stream=true"
            ]
          },
          "hints": [
            "Envoyez l’identifiant exact du modèle et conservez la réponse native complète."
          ],
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "multimodal_input_binding": null,
            "optional_controls": [
              "provider",
              "session_id",
              "trace",
              "user"
            ],
            "required": [
              "model",
              "state",
              "questions"
            ]
          },
          "lifecycle": {
            "cancel": null,
            "idempotency_header": null,
            "job_retrieve": null,
            "mode": "synchronous",
            "streaming": false,
            "unknown": "Preserve original operation and full/partial reply; do not replay POST."
          },
          "manufacturer_capability": {
            "context_length": 0,
            "manufacturer_input": [
              "text"
            ],
            "manufacturer_output": [
              "decisions"
            ]
          },
          "method": {
            "http": "POST",
            "path": "/v1/systemone"
          },
          "method_aliases": [],
          "operation_modes": [
            "noul",
            "choice",
            "score"
          ],
          "output": {
            "all_results": "Every supplied question-ID answer with its exact type, noul/choice/score value, confidence, probabilities and legend is retained. Entire original JSON is stored and returned only after settlement.",
            "family": "decisions",
            "fields": [
              {
                "description": null,
                "name": "model",
                "type": "string"
              },
              {
                "description": null,
                "name": "id",
                "type": "string"
              },
              {
                "description": null,
                "name": "provider",
                "type": "string"
              },
              {
                "description": null,
                "name": "answers.<id>.type",
                "type": "string"
              },
              {
                "description": null,
                "name": "answers.<id>.noul",
                "type": "number"
              },
              {
                "description": null,
                "name": "answers.<id>.choice",
                "type": "string"
              },
              {
                "description": null,
                "name": "answers.<id>.score",
                "type": "number"
              },
              {
                "description": null,
                "name": "answers.<id>.confidence",
                "type": "number"
              },
              {
                "description": null,
                "name": "answers.<id>.probabilities",
                "type": "object"
              },
              {
                "description": null,
                "name": "answers.<id>.legend",
                "type": "object"
              },
              {
                "description": null,
                "name": "usage.input_tokens",
                "type": "integer"
              },
              {
                "description": null,
                "name": "usage.output_tokens",
                "type": "integer"
              },
              {
                "description": null,
                "name": "usage.cost",
                "type": "number"
              }
            ],
            "format": "json",
            "schema": {
              "properties": {
                "answers": {
                  "additionalProperties": {
                    "description": "A Decisions answer using a boolean, choice, or score evaluation.",
                    "discriminator": {
                      "mapping": {
                        "choice": "#/components/schemas/DecisionsChoiceAnswer",
                        "noul": "#/components/schemas/DecisionsNoulAnswer",
                        "score": "#/components/schemas/DecisionsScoreAnswer"
                      },
                      "propertyName": "type"
                    },
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/DecisionsNoulAnswer"
                      },
                      {
                        "$ref": "#/components/schemas/DecisionsChoiceAnswer"
                      },
                      {
                        "$ref": "#/components/schemas/DecisionsScoreAnswer"
                      }
                    ]
                  },
                  "type": "object"
                },
                "id": {
                  "type": "string"
                },
                "model": {
                  "type": "string"
                },
                "provider": {
                  "type": "string"
                },
                "usage": {
                  "properties": {
                    "cost": {
                      "format": "double",
                      "type": "number"
                    },
                    "input_tokens": {
                      "type": "integer"
                    },
                    "output_tokens": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "input_tokens",
                    "output_tokens"
                  ],
                  "type": "object"
                }
              },
              "required": [
                "model",
                "answers",
                "usage"
              ],
              "type": "object"
            }
          },
          "schema": {
            "request": {
              "properties": {
                "model": {
                  "enum": [
                    "respan/span-01"
                  ],
                  "type": "string"
                },
                "provider": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ProviderPreferences"
                    },
                    {
                      "description": "Provider routing preferences for the request."
                    }
                  ]
                },
                "questions": {
                  "additionalProperties": {
                    "description": "A Decisions question using a boolean, choice, or ordered score evaluation.",
                    "discriminator": {
                      "mapping": {
                        "choice": "#/components/schemas/DecisionsChoiceQuestion",
                        "noul": "#/components/schemas/DecisionsNoulQuestion",
                        "score": "#/components/schemas/DecisionsScoreQuestion"
                      },
                      "propertyName": "type"
                    },
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/DecisionsNoulQuestion"
                      },
                      {
                        "$ref": "#/components/schemas/DecisionsChoiceQuestion"
                      },
                      {
                        "$ref": "#/components/schemas/DecisionsScoreQuestion"
                      }
                    ]
                  },
                  "type": "object"
                },
                "session_id": {
                  "description": "A unique identifier for grouping related requests (e.g., a conversation or agent workflow). Used for observability grouping in Broadcast and private logging; never sent to the provider. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters.",
                  "example": "session-1234",
                  "maxLength": 256,
                  "type": "string"
                },
                "state": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "additionalProperties": {},
                      "type": "object"
                    },
                    {
                      "items": {},
                      "type": "array"
                    }
                  ],
                  "description": "The content to evaluate: a plain string, or a JSON object or array of related context."
                },
                "trace": {
                  "$ref": "#/components/schemas/TraceConfig"
                },
                "user": {
                  "maxLength": 256,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "state",
                "questions"
              ],
              "type": "object"
            },
            "response": {
              "properties": {
                "answers": {
                  "additionalProperties": {
                    "description": "A Decisions answer using a boolean, choice, or score evaluation.",
                    "discriminator": {
                      "mapping": {
                        "choice": "#/components/schemas/DecisionsChoiceAnswer",
                        "noul": "#/components/schemas/DecisionsNoulAnswer",
                        "score": "#/components/schemas/DecisionsScoreAnswer"
                      },
                      "propertyName": "type"
                    },
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/DecisionsNoulAnswer"
                      },
                      {
                        "$ref": "#/components/schemas/DecisionsChoiceAnswer"
                      },
                      {
                        "$ref": "#/components/schemas/DecisionsScoreAnswer"
                      }
                    ]
                  },
                  "type": "object"
                },
                "id": {
                  "type": "string"
                },
                "model": {
                  "type": "string"
                },
                "provider": {
                  "type": "string"
                },
                "usage": {
                  "properties": {
                    "cost": {
                      "format": "double",
                      "type": "number"
                    },
                    "input_tokens": {
                      "type": "integer"
                    },
                    "output_tokens": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "input_tokens",
                    "output_tokens"
                  ],
                  "type": "object"
                }
              },
              "required": [
                "model",
                "answers",
                "usage"
              ],
              "type": "object"
            }
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Tarifs de base des tokens",
            "units": [
              {
                "amount": "0.00004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000004",
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Palier 1 de longueur de requête",
            "units": [
              {
                "amount": "0.00004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000004",
                "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": "{\n  \"model\": \"respan/span-01\",\n  \"questions\": {\n    \"is_bug\": {\n      \"criteria\": {\n        \"false\": \"The customer is asking a question or requesting a feature.\",\n        \"true\": \"The customer describes broken or unexpected product behavior.\"\n      },\n      \"instructions\": \"Is the customer reporting a software defect?\",\n      \"type\": \"noul\"\n    },\n    \"team\": {\n      \"criteria\": {\n        \"account\": \"Login, permissions, or profile issues.\",\n        \"frontend\": \"Rendering, layout, or browser compatibility issues.\",\n        \"payments\": \"Checkout, billing, or payment processing issues.\"\n      },\n      \"instructions\": \"Which team should own this ticket?\",\n      \"type\": \"choice\"\n    },\n    \"urgency\": {\n      \"criteria\": [\n        \"Can wait for the next release\",\n        \"Should be fixed this week\",\n        \"Blocking revenue right now\"\n      ],\n      \"instructions\": \"How urgent is this ticket?\",\n      \"type\": \"score\"\n    }\n  },\n  \"state\": {\n    \"customer_tier\": \"enterprise\",\n    \"ticket\": \"My checkout page shows a blank screen after I click Pay. I have tried two browsers.\"\n  }\n}",
            "label": "Retained official request structure; documentary example",
            "language": "json"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_REQUEST_FILE:?Set your actual JSON request file}\"\nexport AILOOT_REQUEST_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads(Path(os.environ['AILOOT_REQUEST_FILE']).read_text(encoding='utf-8'))\nif not isinstance(p,dict): raise SystemExit('Request must be a JSON object')\np['model']='respan/span-01'\nPath('request.json').write_text(json.dumps(p,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/systemone \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path('result.json').read_text()),ensure_ascii=False,indent=2))\nPY_RESULT\n",
            "label": "Use your actual request material and retain the complete result",
            "language": "bash",
            "material_policy": "Use real owner-supplied state/questions or query/documents. No invented file ID, document, image URL, job ID or returned result."
          }
        ],
        "family": "systemone",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "systemone",
        "http": "POST",
        "in": 0.04,
        "input": [
          "text"
        ],
        "label": "System One",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "systemone",
        "out": 0,
        "output": [
          "decisions"
        ],
        "path": "/v1/systemone",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.00004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000004",
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.00004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000004",
                "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": "respan/span-01",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [
          {
            "cache_read": null,
            "cache_read_multiplier": null,
            "cache_write": null,
            "cache_write_1h": null,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 0.04,
            "input_multiplier": null,
            "interval_boundary": "min_exclusive_max_inclusive",
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "null_rate_policy": "unknown or inherited; never zero",
            "out": 0,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.00004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000004",
            "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": "respan/span-01",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "121c5440a55543271ac98e7634522356d19aedccfe783b56f9fa7fc27d9d13fb",
    "input_html_sha256": "72e6c08bf49fbcf2a96769a92f2a8a6ec4d68d8b2668d988177a0dcd02f2bfcf",
    "private_audit_sha256": "d5046adc6188e57c3b980668236ea97da541789e77eaaab59696b995d1e50623",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/fr/respan-span-01/",
    "description": "Span-01 est le classifieur de comportements textuels de Respan pour les conversations et les traces d’agents. Définissez les comportements en langage courant : il renvoie trois probabilités pour chacun, présent, absent et non observable, et préserve l’incertitude lorsque la trace fournie ne permet pas de trancher la question.",
    "locale": "fr",
    "md_url": "https://ailoot.ai/models/fr/respan-span-01/index.md",
    "title": "Respan: Span-01 — Ailoot",
    "url": "https://ailoot.ai/models/fr/respan-span-01/"
  },
  "rawModel": {
    "about": "Span-01 est le modèle de notation des comportements de Respan pour les conversations et les traces d’agents. Il lit une interaction textuelle accompagnée de définitions de comportements rédigées en langage courant et renvoie des probabilités pour chaque définition. La sortie distingue un comportement présent, absent ou non observable dans la trace fournie. Un processus d’évaluation dispose ainsi d’un signal numérique doté d’un moyen explicite de représenter l’absence d’éléments probants, plutôt que d’une explication générée à analyser.\n\n### Définir le comportement à observer\n\nLes comportements sont fournis par l’appelant. L’injection de prompt, les affirmations non fondées, l’exposition de secrets, les boucles répétitives, le mauvais usage d’outils et la frustration de l’utilisateur sont des définitions possibles, et non une taxonomie fixe intégrée au modèle. Précisez ce qui relève du comportement et ce qui n’en relève pas. Une définition étroite peut distinguer un utilisateur qui demande un transfert vers un humain d’un utilisateur qui exprime simplement sa déception. Une autre peut distinguer un assistant qui reconnaît un problème d’un assistant qui promet une action qu’il ne peut pas accomplir.\n\nAssociez des identifiants stables aux définitions, afin que les résultats restent rattachés au comportement évalué. Maintenez le critère centré sur un élément que la trace peut montrer. Si le comportement exige un document source, le résultat d’un outil ou une réponse ultérieure du client, incluez ces éléments à leur place dans l’interaction textuelle. Une définition seule ne peut pas établir un fait absent de la trace.\n\n### Préparer le contexte précédent et le tour cible\n\nL’entrée documentée sépare les messages précédents, placés dans span.input, du tour cible, placé dans span.output. Le contenu de chaque message est une chaîne de caractères. Fournissez le contexte réel de la conversation et le tour que vous souhaitez noter, en préservant les rôles des interlocuteurs et l’ordre nécessaires à son interprétation. Il s’agit d’un profil de notation de texte ; le texte d’un document préparé ou une transcription peuvent servir d’éléments probants, tandis que le média dont ce texte a été extrait ne constitue pas en lui-même l’entrée documentée.\n\nPour une interaction d’assistance, conservez la demande du client avec la réponse proposée par l’assistant. Pour un agent utilisant des outils, conservez l’observation d’outil pertinente et la réponse qui s’appuie sur elle. Une définition d’ancrage illustrative peut demander si l’assistant affirme une conclusion que l’observation fournie n’étaye pas. Le résultat utile porte sur le comportement défini dans ce segment, et non sur un diagnostic complet de l’application entière.\n\n### Lire trois probabilités pour chaque définition\n\nChaque résultat comprend l’identifiant du comportement ainsi que p_present, p_absent et p_not_observable. La somme des trois probabilités est d’environ 1. Présent estime que le comportement s’est produit ; absent estime qu’il ne s’est pas produit ; non observable estime que le segment fourni ne contient pas les éléments nécessaires pour trancher. Ces significations sont distinctes et doivent le rester lors de l’interprétation des résultats.\n\nPar exemple, un segment qui se termine par un assistant annonçant qu’il va résoudre un problème peut montrer une promesse. Il ne peut pas encore montrer que le client a accepté la solution finale si aucune réponse du client n’est présente. Traitez ce résultat lié à l’absence d’éléments comme inconnu plutôt que de le convertir en absent. Une faible probabilité de présence ne constitue pas automatiquement une preuve solide d’absence lorsqu’une part importante de la distribution relève du non observable.\n\n### Notation en une seule passe sur l’ensemble des définitions\n\nRespan décrit Span-01 comme un classifieur à raisonnement entraîné d’abord à la classification générale avec RLAIF, puis spécialisé dans la détection de comportements. Chaque définition s’exécute comme une branche parallèle sur la même trace, et le modèle renvoie les probabilités de comportement en une seule passe avant (forward pass). L’attention hybride soutient son traitement de traces longues et complexes. Il ne génère pas de tokens, ne rédige pas de jugement narratif et ne produit pas d’explication libre de sa classification.\n\nLe guide conceptuel et la référence de notation ne documentent aucun plafond du nombre de comportements par requête. Chaque définition fait néanmoins partie de l’évaluation fournie : gardez-les claires et pertinentes plutôt que de considérer l’absence de plafond comme la preuve d’une capacité d’entrée illimitée. Le résultat contient une entrée par comportement, dans l’ordre de la requête, identifiée par son id. Plusieurs définitions décrivent plusieurs observations indépendantes ; ce ne sont pas des choix de catégories mutuellement exclusifs dont la somme devrait être égale à un sur l’ensemble des comportements.\n\n### Préparer un artefact d’évaluation utile\n\nCombinez les probabilités renvoyées avec des seuils propres à la tâche et des règles de revue définies en dehors du modèle. L’éditeur recommande d’utiliser des conversations étiquetées pour choisir ces seuils et d’inspecter les présences limites ou les résultats à forte probabilité non observable. Un processus d’assistance peut enregistrer séparément la frustration, une proposition d’escalade et une promesse non fondée. Un processus de contrôle qualité d’agent peut suivre les actions répétées ou vérifier si une réponse a utilisé les éléments mis à sa disposition.\n\nConservez ensemble le segment de texte, la définition du comportement, l’identifiant du résultat et la distribution complète à trois issues. Lorsque la définition change, gardez à l’esprit que ce que mesure la probabilité change aussi. Examinez les erreurs apparentes au regard de la conversation réelle au lieu de traiter un résultat numérique comme la preuve d’un événement non observé. Un artefact utile est un relevé de comportement rattaché à la trace et au critère, avec une incertitude conservée pour une inspection ultérieure ou la décision suivante d’une application.",
    "alias_of": null,
    "aliases": [],
    "author": "Respan",
    "available": null,
    "canonical_model": "respan/span-01",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "decisions"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.00004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000004",
            "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,
    "entity_type": "model",
    "formats": [
      "systemone"
    ],
    "id": "respan/span-01",
    "input": [
      "text"
    ],
    "kind": "decision",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Every supplied question-ID answer with its exact type, noul/choice/score value, confidence, probabilities and legend is retained. Entire original JSON is stored and returned only after settlement.",
            "errors": [
              {
                "code": null,
                "condition": "Champ obligatoire, représentation ou valeur non valide",
                "http_status": 400,
                "recovery": "Corrigez le champ de requête indiqué.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "cancel": null,
              "idempotency_header": null,
              "job_retrieve": null,
              "mode": "synchronous",
              "streaming": false,
              "unknown": "Conservez l’opération d’origine et la réponse complète ou partielle ; ne rejouez pas le POST."
            },
            "material_combinations": [
              {
                "mode": "noul",
                "optional": [
                  "criteria true/false descriptions"
                ],
                "required": [
                  "state",
                  "questions.<id>.type=noul",
                  "questions.<id>.instructions"
                ]
              },
              {
                "mode": "choice",
                "required": [
                  "state",
                  "questions.<id>.type=choice",
                  "questions.<id>.instructions",
                  "criteria object"
                ]
              },
              {
                "mode": "score",
                "required": [
                  "state",
                  "questions.<id>.type=score",
                  "questions.<id>.instructions",
                  "criteria array with minItems1"
                ]
              }
            ],
            "operation_modes": [
              "noul",
              "choice",
              "score"
            ],
            "outputs": {
              "all_results": "Chaque réponse fournie pour un identifiant de question est conservée avec son type exact, sa valeur noul/choice/score, son degré de confiance, ses probabilités et sa légende. L’intégralité du JSON d’origine est enregistrée et renvoyée uniquement après le règlement.",
              "family": "decisions",
              "fields": [
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "provider",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "answers.<id>.type",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "answers.<id>.noul",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "answers.<id>.choice",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "answers.<id>.score",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "answers.<id>.confidence",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "answers.<id>.probabilities",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "answers.<id>.legend",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "usage.input_tokens",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "usage.output_tokens",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "usage.cost",
                  "type": "number"
                }
              ],
              "format": "json",
              "schema": {
                "properties": {
                  "answers": {
                    "additionalProperties": {
                      "description": "A Decisions answer using a boolean, choice, or score evaluation.",
                      "discriminator": {
                        "mapping": {
                          "choice": "#/components/schemas/DecisionsChoiceAnswer",
                          "noul": "#/components/schemas/DecisionsNoulAnswer",
                          "score": "#/components/schemas/DecisionsScoreAnswer"
                        },
                        "propertyName": "type"
                      },
                      "oneOf": [
                        {
                          "$ref": "#/components/schemas/DecisionsNoulAnswer"
                        },
                        {
                          "$ref": "#/components/schemas/DecisionsChoiceAnswer"
                        },
                        {
                          "$ref": "#/components/schemas/DecisionsScoreAnswer"
                        }
                      ]
                    },
                    "type": "object"
                  },
                  "id": {
                    "type": "string"
                  },
                  "model": {
                    "type": "string"
                  },
                  "provider": {
                    "type": "string"
                  },
                  "usage": {
                    "properties": {
                      "cost": {
                        "format": "double",
                        "type": "number"
                      },
                      "input_tokens": {
                        "type": "integer"
                      },
                      "output_tokens": {
                        "type": "integer"
                      }
                    },
                    "required": [
                      "input_tokens",
                      "output_tokens"
                    ],
                    "type": "object"
                  }
                },
                "required": [
                  "model",
                  "answers",
                  "usage"
                ],
                "type": "object"
              }
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "respan/span-01"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "schema"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "questions",
                "required": true,
                "type": "object"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "A unique identifier for grouping related requests (e.g., a conversation or agent workflow). Used for observability grouping in Broadcast and private logging; never sent to the provider. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters.",
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "session_id",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "description": "The content to evaluate: a plain string, or a JSON object or array of related context.",
                "enum": null,
                "enum_known": false,
                "name": "state",
                "required": true,
                "type": "schema"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "type": "schema"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "user",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "noul",
                  "choice",
                  "score"
                ],
                "enum_known": true,
                "name": "questions.<id>.type",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "questions.<id>.instructions",
                "required": true,
                "type": "string|object|array"
              },
              {
                "availability": "source_interface",
                "conditions": "choice/score : obligatoires ; noul : facultatif. Les critères de choice forment un objet ; score est un tableau avec minItems égal à 1.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "questions.<id>.criteria",
                "required": false,
                "type": "object|array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "questions.<id>.criteria.true",
                "required": true,
                "type": "string|object|array",
                "when": "objet de critères noul fourni"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "questions.<id>.criteria.false",
                "required": true,
                "type": "string|object|array",
                "when": "objet de critères noul fourni"
              }
            ],
            "unsupported": [
              "stream=true"
            ]
          },
          "hints": [
            "Envoyez l’identifiant exact du modèle et conservez la réponse native complète."
          ],
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "multimodal_input_binding": null,
            "optional_controls": [
              "provider",
              "session_id",
              "trace",
              "user"
            ],
            "required": [
              "model",
              "state",
              "questions"
            ]
          },
          "lifecycle": {
            "cancel": null,
            "idempotency_header": null,
            "job_retrieve": null,
            "mode": "synchronous",
            "streaming": false,
            "unknown": "Preserve original operation and full/partial reply; do not replay POST."
          },
          "manufacturer_capability": {
            "context_length": 0,
            "manufacturer_input": [
              "text"
            ],
            "manufacturer_output": [
              "decisions"
            ]
          },
          "method": {
            "http": "POST",
            "path": "/v1/systemone"
          },
          "method_aliases": [],
          "operation_modes": [
            "noul",
            "choice",
            "score"
          ],
          "output": {
            "all_results": "Every supplied question-ID answer with its exact type, noul/choice/score value, confidence, probabilities and legend is retained. Entire original JSON is stored and returned only after settlement.",
            "family": "decisions",
            "fields": [
              {
                "description": null,
                "name": "model",
                "type": "string"
              },
              {
                "description": null,
                "name": "id",
                "type": "string"
              },
              {
                "description": null,
                "name": "provider",
                "type": "string"
              },
              {
                "description": null,
                "name": "answers.<id>.type",
                "type": "string"
              },
              {
                "description": null,
                "name": "answers.<id>.noul",
                "type": "number"
              },
              {
                "description": null,
                "name": "answers.<id>.choice",
                "type": "string"
              },
              {
                "description": null,
                "name": "answers.<id>.score",
                "type": "number"
              },
              {
                "description": null,
                "name": "answers.<id>.confidence",
                "type": "number"
              },
              {
                "description": null,
                "name": "answers.<id>.probabilities",
                "type": "object"
              },
              {
                "description": null,
                "name": "answers.<id>.legend",
                "type": "object"
              },
              {
                "description": null,
                "name": "usage.input_tokens",
                "type": "integer"
              },
              {
                "description": null,
                "name": "usage.output_tokens",
                "type": "integer"
              },
              {
                "description": null,
                "name": "usage.cost",
                "type": "number"
              }
            ],
            "format": "json",
            "schema": {
              "properties": {
                "answers": {
                  "additionalProperties": {
                    "description": "A Decisions answer using a boolean, choice, or score evaluation.",
                    "discriminator": {
                      "mapping": {
                        "choice": "#/components/schemas/DecisionsChoiceAnswer",
                        "noul": "#/components/schemas/DecisionsNoulAnswer",
                        "score": "#/components/schemas/DecisionsScoreAnswer"
                      },
                      "propertyName": "type"
                    },
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/DecisionsNoulAnswer"
                      },
                      {
                        "$ref": "#/components/schemas/DecisionsChoiceAnswer"
                      },
                      {
                        "$ref": "#/components/schemas/DecisionsScoreAnswer"
                      }
                    ]
                  },
                  "type": "object"
                },
                "id": {
                  "type": "string"
                },
                "model": {
                  "type": "string"
                },
                "provider": {
                  "type": "string"
                },
                "usage": {
                  "properties": {
                    "cost": {
                      "format": "double",
                      "type": "number"
                    },
                    "input_tokens": {
                      "type": "integer"
                    },
                    "output_tokens": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "input_tokens",
                    "output_tokens"
                  ],
                  "type": "object"
                }
              },
              "required": [
                "model",
                "answers",
                "usage"
              ],
              "type": "object"
            }
          },
          "schema": {
            "request": {
              "properties": {
                "model": {
                  "enum": [
                    "respan/span-01"
                  ],
                  "type": "string"
                },
                "provider": {
                  "allOf": [
                    {
                      "$ref": "#/components/schemas/ProviderPreferences"
                    },
                    {
                      "description": "Provider routing preferences for the request."
                    }
                  ]
                },
                "questions": {
                  "additionalProperties": {
                    "description": "A Decisions question using a boolean, choice, or ordered score evaluation.",
                    "discriminator": {
                      "mapping": {
                        "choice": "#/components/schemas/DecisionsChoiceQuestion",
                        "noul": "#/components/schemas/DecisionsNoulQuestion",
                        "score": "#/components/schemas/DecisionsScoreQuestion"
                      },
                      "propertyName": "type"
                    },
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/DecisionsNoulQuestion"
                      },
                      {
                        "$ref": "#/components/schemas/DecisionsChoiceQuestion"
                      },
                      {
                        "$ref": "#/components/schemas/DecisionsScoreQuestion"
                      }
                    ]
                  },
                  "type": "object"
                },
                "session_id": {
                  "description": "A unique identifier for grouping related requests (e.g., a conversation or agent workflow). Used for observability grouping in Broadcast and private logging; never sent to the provider. If provided in both the request body and the x-session-id header, the body value takes precedence. Maximum of 256 characters.",
                  "example": "session-1234",
                  "maxLength": 256,
                  "type": "string"
                },
                "state": {
                  "anyOf": [
                    {
                      "type": "string"
                    },
                    {
                      "additionalProperties": {},
                      "type": "object"
                    },
                    {
                      "items": {},
                      "type": "array"
                    }
                  ],
                  "description": "The content to evaluate: a plain string, or a JSON object or array of related context."
                },
                "trace": {
                  "$ref": "#/components/schemas/TraceConfig"
                },
                "user": {
                  "maxLength": 256,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "state",
                "questions"
              ],
              "type": "object"
            },
            "response": {
              "properties": {
                "answers": {
                  "additionalProperties": {
                    "description": "A Decisions answer using a boolean, choice, or score evaluation.",
                    "discriminator": {
                      "mapping": {
                        "choice": "#/components/schemas/DecisionsChoiceAnswer",
                        "noul": "#/components/schemas/DecisionsNoulAnswer",
                        "score": "#/components/schemas/DecisionsScoreAnswer"
                      },
                      "propertyName": "type"
                    },
                    "oneOf": [
                      {
                        "$ref": "#/components/schemas/DecisionsNoulAnswer"
                      },
                      {
                        "$ref": "#/components/schemas/DecisionsChoiceAnswer"
                      },
                      {
                        "$ref": "#/components/schemas/DecisionsScoreAnswer"
                      }
                    ]
                  },
                  "type": "object"
                },
                "id": {
                  "type": "string"
                },
                "model": {
                  "type": "string"
                },
                "provider": {
                  "type": "string"
                },
                "usage": {
                  "properties": {
                    "cost": {
                      "format": "double",
                      "type": "number"
                    },
                    "input_tokens": {
                      "type": "integer"
                    },
                    "output_tokens": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "input_tokens",
                    "output_tokens"
                  ],
                  "type": "object"
                }
              },
              "required": [
                "model",
                "answers",
                "usage"
              ],
              "type": "object"
            }
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Tarifs de base des tokens",
            "units": [
              {
                "amount": "0.00004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000004",
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Palier 1 de longueur de requête",
            "units": [
              {
                "amount": "0.00004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000004",
                "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": "{\n  \"model\": \"respan/span-01\",\n  \"questions\": {\n    \"is_bug\": {\n      \"criteria\": {\n        \"false\": \"The customer is asking a question or requesting a feature.\",\n        \"true\": \"The customer describes broken or unexpected product behavior.\"\n      },\n      \"instructions\": \"Is the customer reporting a software defect?\",\n      \"type\": \"noul\"\n    },\n    \"team\": {\n      \"criteria\": {\n        \"account\": \"Login, permissions, or profile issues.\",\n        \"frontend\": \"Rendering, layout, or browser compatibility issues.\",\n        \"payments\": \"Checkout, billing, or payment processing issues.\"\n      },\n      \"instructions\": \"Which team should own this ticket?\",\n      \"type\": \"choice\"\n    },\n    \"urgency\": {\n      \"criteria\": [\n        \"Can wait for the next release\",\n        \"Should be fixed this week\",\n        \"Blocking revenue right now\"\n      ],\n      \"instructions\": \"How urgent is this ticket?\",\n      \"type\": \"score\"\n    }\n  },\n  \"state\": {\n    \"customer_tier\": \"enterprise\",\n    \"ticket\": \"My checkout page shows a blank screen after I click Pay. I have tried two browsers.\"\n  }\n}",
            "label": "Retained official request structure; documentary example",
            "language": "json"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_REQUEST_FILE:?Set your actual JSON request file}\"\nexport AILOOT_REQUEST_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads(Path(os.environ['AILOOT_REQUEST_FILE']).read_text(encoding='utf-8'))\nif not isinstance(p,dict): raise SystemExit('Request must be a JSON object')\np['model']='respan/span-01'\nPath('request.json').write_text(json.dumps(p,ensure_ascii=False),encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/systemone \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nprint(json.dumps(json.loads(Path('result.json').read_text()),ensure_ascii=False,indent=2))\nPY_RESULT\n",
            "label": "Use your actual request material and retain the complete result",
            "language": "bash",
            "material_policy": "Use real owner-supplied state/questions or query/documents. No invented file ID, document, image URL, job ID or returned result."
          }
        ],
        "family": "systemone",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "systemone",
        "http": "POST",
        "in": 0.04,
        "input": [
          "text"
        ],
        "label": "System One",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "systemone",
        "out": 0,
        "output": [
          "decisions"
        ],
        "path": "/v1/systemone",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.00004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000004",
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.00004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000004",
                "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": "respan/span-01",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [
          {
            "cache_read": null,
            "cache_read_multiplier": null,
            "cache_write": null,
            "cache_write_1h": null,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 0.04,
            "input_multiplier": null,
            "interval_boundary": "min_exclusive_max_inclusive",
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "null_rate_policy": "unknown or inherited; never zero",
            "out": 0,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.00004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000004",
            "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": "respan/span-01",
        "request_model_id": "respan/span-01",
        "route_label": "Ultra"
      }
    ],
    "name": "Respan: Span-01",
    "price": {
      "in": 0.04,
      "in_label": null,
      "out": 0,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0.04,
      "sort_out": 0,
      "varies": true
    },
    "pricing_profiles": [
      {
        "dimensions": {
          "regime": "base"
        },
        "label": "System One · Base token rates",
        "units": [
          {
            "amount": "0.00004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000004",
            "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"
          }
        ]
      },
      {
        "dimensions": {
          "max_context_tokens_inclusive": null,
          "min_context_tokens_exclusive": 0
        },
        "label": "System One · Request-length tier 1",
        "units": [
          {
            "amount": "0.00004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000004",
            "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"
          }
        ]
      }
    ],
    "public_id": "respan/span-01",
    "short": "Span-01 est le classifieur de comportements textuels de Respan pour les conversations et les traces d’agents. Définissez les comportements en langage courant : il renvoie trois probabilités pour chacun, présent, absent et non observable, et préserve l’incertitude lorsque la trace fournie ne permet pas de trancher la question."
  },
  "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
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Span-01 est le classifieur de comportements textuels de Respan pour les conversations et les traces d’agents. Définissez les comportements en langage courant : il renvoie trois probabilités pour chacun, présent, absent et non observable, et préserve l’incertitude lorsque la trace fournie ne permet pas de trancher la question.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "c4e90fd978e030a5fbb57fc326c6ce9e2c24d090e9a6609ab1fdbeec3eb1b90e",
    "renderer_sha256": "44d2db1deadc475e1793597083716540bae7bbc53606f05f58780fec5f115dd4"
  },
  "sourceRevision": "56559a24e1ef1f08d9a7c518b5e923fb69ea5c5927bd0e72e109f3d316ea8a8a"
}
