{
  "aboutHtml": "<p>Span-01 Lite est un profil de modèle désigné sous un nom distinct au sein de la famille Span-01 de Respan, consacrée à la notation des comportements. Le guide de démarrage rapide et le tableau des modèles de l’éditeur présentent Lite comme l’un des deux profils qui partagent le même processus de notation. Il reçoit une interaction textuelle et des définitions de comportements rédigées en langage courant, puis renvoie trois probabilités pour chaque définition : présent, absent et non observable. La sortie utile du profil est un relevé de comportements assorti d’une incertitude explicite, et non une réponse rédigée à la conversation.</p><h4>Choisir l’observation et ses limites</h4><p>Définissez le comportement avec les termes qui correspondent à votre tâche. Pour un contrôle de transfert vers un humain, précisez s’il s’agit du cas où l’utilisateur demande explicitement à parler à une personne, de celui où l’assistant indique qu’un transfert est nécessaire, ou de l’une ou l’autre de ces conditions. Si une simple déception ne doit pas compter, indiquez-le. Pour un contrôle d’excuses, définissez quelle formulation constitue une excuse plutôt que de vous fier à une étiquette imprécise. Chaque définition possède un identifiant que l’outil de notation renvoie avec ses probabilités.</p><p>L’ensemble des comportements appartient à l’appelant. Des exemples comme la frustration, les promesses non fondées, le mauvais usage d’outils ou les actions répétitives d’un agent sont des définitions à fournir, et non une liste fixe de catégories natives. Veillez à ce que chaque définition soit observable dans l’interaction fournie. Un segment court peut suffire à établir si l’assistant s’est excusé tout en ne contenant aucun élément prouvant qu’un problème externe a réellement été résolu.</p><h4>Préparer le segment de conversation</h4><p>Dans l’entrée documentée par Respan, les messages précédents figurent dans span.input et le tour évalué dans span.output. Le contenu d’un message est une chaîne de caractères. Conservez le contexte nécessaire pour comprendre le tour, notamment les rôles des interlocuteurs, la demande pertinente de l’utilisateur et tout élément textuel sur lequel l’assistant s’est appuyé. Pour un contrôle qualité, fournissez le tour réel plutôt qu’une paraphrase qui ferait disparaître le comportement évalué.</p><p>Une revue illustrative peut porter sur un message d’utilisateur décrivant des difficultés répétées et une réponse de l’assistant proposant d’enquêter. Définissez la frustration de l’utilisateur et une promesse de l’assistant comme des observations distinctes. Si le résultat d’un outil compte pour juger si une affirmation était fondée, conservez le texte pertinent de ce résultat dans le contexte. La sortie est une évaluation de ces définitions dans le segment fourni ; le modèle ne mène pas l’enquête promise et ne modifie pas la conversation elle-même.</p><h4>Présent, absent et non observable</h4><p>La réponse de notation contient l’identifiant du comportement avec p_present, p_absent et p_not_observable, dont la somme est d’environ 1. Non observable signifie que la trace ne permet pas de répondre à la question. Cette valeur se distingue d’absent. Pour une définition telle que l’acceptation d’une solution par le client, un segment qui se termine avant la réaction du client constitue un élément incomplet, même si la réponse de l’assistant paraît assurée.</p><p>Conservez les trois valeurs lorsque vous préparez un résultat en vue d’une revue. Une catégorie choisie d’après la valeur la plus élevée peut être utile pour un affichage, mais la distribution conserve le degré d’incertitude de l’observation. N’utilisez pas une faible valeur de présence à elle seule pour conclure que le comportement ne s’est certainement pas produit. Lorsque l’absence d’éléments domine, l’action utile peut consister à obtenir le contexte pertinent ou à conserver le résultat comme inconnu plutôt qu’à inventer une explication.</p><h4>Plusieurs définitions sur les mêmes éléments</h4><p>Le processus de notation de l’éditeur évalue plusieurs définitions de comportements ensemble sur une même trace et renvoie un résultat pour chaque identifiant, dans l’ordre de la requête. Sa documentation ne fixe aucun plafond du nombre de comportements par requête. Cela n’établit ni une fenêtre de tokens universelle ni une taille de trace illimitée. Gardez des définitions ciblées et des éléments pertinents, et conservez l’association entre chaque résultat renvoyé et la définition qui l’a produit.</p><p>Les résultats par comportement sont des observations indépendantes et non une réponse unique à choix exclusif. La frustration, une excuse et une proposition de transfert peuvent toutes être présentes dans le même échange. Leurs distributions individuelles à trois issues ont un sens au sein de chaque définition ; additionner les valeurs de présence de différents comportements ne produit ni une distribution de catégories normalisée ni un score ordonné sur une grille d’évaluation.</p><h4>Conserver le profil sélectionné avec ses résultats</h4><p>Le concepteur documente les noms Lite et standard avec une forme de requête et de résultat commune. Ce contrat permet de préparer les traces et d’interpréter les probabilités de comportement pour l’un ou l’autre des profils nommés. Il n’établit pas que Lite possède les mêmes poids, le même nombre de paramètres ou la même qualité que l’autre édition. Gardez le profil sélectionné identifiable lors de la revue de ses résultats plutôt que d’échanger silencieusement des résultats issus d’éditions différentes.</p><p>Utilisez des conversations étiquetées issues de la tâche visée pour choisir les seuils de journalisation, de routage ou de revue. Conservez pour inspection les résultats à forte probabilité non observable et les observations limites, et comparez toute erreur apparente avec le tour d’origine et la définition du comportement. L’artefact final utile contient l’identifiant du segment de texte, la définition, le profil sélectionné et le résultat probabiliste complet à trois issues. Une étape ultérieure de l’application décide de la suite à donner à cette observation ; la sortie de notation de Lite n’exécute pas elle-même un transfert, ne bloque pas une réponse et ne génère pas de correction.</p>",
  "aboutText": "Span-01 Lite est un profil de modèle désigné sous un nom distinct au sein de la famille Span-01 de Respan, consacrée à la notation des comportements. Le guide de démarrage rapide et le tableau des modèles de l’éditeur présentent Lite comme l’un des deux profils qui partagent le même processus de notation. Il reçoit une interaction textuelle et des définitions de comportements rédigées en langage courant, puis renvoie trois probabilités pour chaque définition : présent, absent et non observable. La sortie utile du profil est un relevé de comportements assorti d’une incertitude explicite, et non une réponse rédigée à la conversation.\n\n### Choisir l’observation et ses limites\n\nDéfinissez le comportement avec les termes qui correspondent à votre tâche. Pour un contrôle de transfert vers un humain, précisez s’il s’agit du cas où l’utilisateur demande explicitement à parler à une personne, de celui où l’assistant indique qu’un transfert est nécessaire, ou de l’une ou l’autre de ces conditions. Si une simple déception ne doit pas compter, indiquez-le. Pour un contrôle d’excuses, définissez quelle formulation constitue une excuse plutôt que de vous fier à une étiquette imprécise. Chaque définition possède un identifiant que l’outil de notation renvoie avec ses probabilités.\n\nL’ensemble des comportements appartient à l’appelant. Des exemples comme la frustration, les promesses non fondées, le mauvais usage d’outils ou les actions répétitives d’un agent sont des définitions à fournir, et non une liste fixe de catégories natives. Veillez à ce que chaque définition soit observable dans l’interaction fournie. Un segment court peut suffire à établir si l’assistant s’est excusé tout en ne contenant aucun élément prouvant qu’un problème externe a réellement été résolu.\n\n### Préparer le segment de conversation\n\nDans l’entrée documentée par Respan, les messages précédents figurent dans span.input et le tour évalué dans span.output. Le contenu d’un message est une chaîne de caractères. Conservez le contexte nécessaire pour comprendre le tour, notamment les rôles des interlocuteurs, la demande pertinente de l’utilisateur et tout élément textuel sur lequel l’assistant s’est appuyé. Pour un contrôle qualité, fournissez le tour réel plutôt qu’une paraphrase qui ferait disparaître le comportement évalué.\n\nUne revue illustrative peut porter sur un message d’utilisateur décrivant des difficultés répétées et une réponse de l’assistant proposant d’enquêter. Définissez la frustration de l’utilisateur et une promesse de l’assistant comme des observations distinctes. Si le résultat d’un outil compte pour juger si une affirmation était fondée, conservez le texte pertinent de ce résultat dans le contexte. La sortie est une évaluation de ces définitions dans le segment fourni ; le modèle ne mène pas l’enquête promise et ne modifie pas la conversation elle-même.\n\n### Présent, absent et non observable\n\nLa réponse de notation contient l’identifiant du comportement avec p_present, p_absent et p_not_observable, dont la somme est d’environ 1. Non observable signifie que la trace ne permet pas de répondre à la question. Cette valeur se distingue d’absent. Pour une définition telle que l’acceptation d’une solution par le client, un segment qui se termine avant la réaction du client constitue un élément incomplet, même si la réponse de l’assistant paraît assurée.\n\nConservez les trois valeurs lorsque vous préparez un résultat en vue d’une revue. Une catégorie choisie d’après la valeur la plus élevée peut être utile pour un affichage, mais la distribution conserve le degré d’incertitude de l’observation. N’utilisez pas une faible valeur de présence à elle seule pour conclure que le comportement ne s’est certainement pas produit. Lorsque l’absence d’éléments domine, l’action utile peut consister à obtenir le contexte pertinent ou à conserver le résultat comme inconnu plutôt qu’à inventer une explication.\n\n### Plusieurs définitions sur les mêmes éléments\n\nLe processus de notation de l’éditeur évalue plusieurs définitions de comportements ensemble sur une même trace et renvoie un résultat pour chaque identifiant, dans l’ordre de la requête. Sa documentation ne fixe aucun plafond du nombre de comportements par requête. Cela n’établit ni une fenêtre de tokens universelle ni une taille de trace illimitée. Gardez des définitions ciblées et des éléments pertinents, et conservez l’association entre chaque résultat renvoyé et la définition qui l’a produit.\n\nLes résultats par comportement sont des observations indépendantes et non une réponse unique à choix exclusif. La frustration, une excuse et une proposition de transfert peuvent toutes être présentes dans le même échange. Leurs distributions individuelles à trois issues ont un sens au sein de chaque définition ; additionner les valeurs de présence de différents comportements ne produit ni une distribution de catégories normalisée ni un score ordonné sur une grille d’évaluation.\n\n### Conserver le profil sélectionné avec ses résultats\n\nLe concepteur documente les noms Lite et standard avec une forme de requête et de résultat commune. Ce contrat permet de préparer les traces et d’interpréter les probabilités de comportement pour l’un ou l’autre des profils nommés. Il n’établit pas que Lite possède les mêmes poids, le même nombre de paramètres ou la même qualité que l’autre édition. Gardez le profil sélectionné identifiable lors de la revue de ses résultats plutôt que d’échanger silencieusement des résultats issus d’éditions différentes.\n\nUtilisez des conversations étiquetées issues de la tâche visée pour choisir les seuils de journalisation, de routage ou de revue. Conservez pour inspection les résultats à forte probabilité non observable et les observations limites, et comparez toute erreur apparente avec le tour d’origine et la définition du comportement. L’artefact final utile contient l’identifiant du segment de texte, la définition, le profil sélectionné et le résultat probabiliste complet à trois issues. Une étape ultérieure de l’application décide de la suite à donner à cette observation ; la sortie de notation de Lite n’exécute pas elle-même un transfert, ne bloque pas une réponse et ne génère pas de correction.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "a5e2774b8f54c5cb6751e2542bdfebbb53723100a9c35358b4c29ac5df9f1810",
    "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 Lite</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-lite</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-lite\">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 Lite est le profil de notation des comportements de Respan, désigné sous un nom distinct, pour les conversations textuelles et les traces d’agents. Il s’appuie sur des comportements définis par l’appelant et renvoie pour chacun les probabilités présent, absent et non observable, selon le même processus de notation documenté que Span-01.</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 Lite est un profil de modèle désigné sous un nom distinct au sein de la famille Span-01 de Respan, consacrée à la notation des comportements. Le guide de démarrage rapide et le tableau des modèles de l’éditeur présentent Lite comme l’un des deux profils qui partagent le même processus de notation. Il reçoit une interaction textuelle et des définitions de comportements rédigées en langage courant, puis renvoie trois probabilités pour chaque définition : présent, absent et non observable. La sortie utile du profil est un relevé de comportements assorti d’une incertitude explicite, et non une réponse rédigée à la conversation.</p><h4>Choisir l’observation et ses limites</h4><p>Définissez le comportement avec les termes qui correspondent à votre tâche. Pour un contrôle de transfert vers un humain, précisez s’il s’agit du cas où l’utilisateur demande explicitement à parler à une personne, de celui où l’assistant indique qu’un transfert est nécessaire, ou de l’une ou l’autre de ces conditions. Si une simple déception ne doit pas compter, indiquez-le. Pour un contrôle d’excuses, définissez quelle formulation constitue une excuse plutôt que de vous fier à une étiquette imprécise. Chaque définition possède un identifiant que l’outil de notation renvoie avec ses probabilités.</p><p>L’ensemble des comportements appartient à l’appelant. Des exemples comme la frustration, les promesses non fondées, le mauvais usage d’outils ou les actions répétitives d’un agent sont des définitions à fournir, et non une liste fixe de catégories natives. Veillez à ce que chaque définition soit observable dans l’interaction fournie. Un segment court peut suffire à établir si l’assistant s’est excusé tout en ne contenant aucun élément prouvant qu’un problème externe a réellement été résolu.</p><h4>Préparer le segment de conversation</h4><p>Dans l’entrée documentée par Respan, les messages précédents figurent dans span.input et le tour évalué dans span.output. Le contenu d’un message est une chaîne de caractères. Conservez le contexte nécessaire pour comprendre le tour, notamment les rôles des interlocuteurs, la demande pertinente de l’utilisateur et tout élément textuel sur lequel l’assistant s’est appuyé. Pour un contrôle qualité, fournissez le tour réel plutôt qu’une paraphrase qui ferait disparaître le comportement évalué.</p><p>Une revue illustrative peut porter sur un message d’utilisateur décrivant des difficultés répétées et une réponse de l’assistant proposant d’enquêter. Définissez la frustration de l’utilisateur et une promesse de l’assistant comme des observations distinctes. Si le résultat d’un outil compte pour juger si une affirmation était fondée, conservez le texte pertinent de ce résultat dans le contexte. La sortie est une évaluation de ces définitions dans le segment fourni ; le modèle ne mène pas l’enquête promise et ne modifie pas la conversation elle-même.</p><h4>Présent, absent et non observable</h4><p>La réponse de notation contient l’identifiant du comportement avec p_present, p_absent et p_not_observable, dont la somme est d’environ 1. Non observable signifie que la trace ne permet pas de répondre à la question. Cette valeur se distingue d’absent. Pour une définition telle que l’acceptation d’une solution par le client, un segment qui se termine avant la réaction du client constitue un élément incomplet, même si la réponse de l’assistant paraît assurée.</p><p>Conservez les trois valeurs lorsque vous préparez un résultat en vue d’une revue. Une catégorie choisie d’après la valeur la plus élevée peut être utile pour un affichage, mais la distribution conserve le degré d’incertitude de l’observation. N’utilisez pas une faible valeur de présence à elle seule pour conclure que le comportement ne s’est certainement pas produit. Lorsque l’absence d’éléments domine, l’action utile peut consister à obtenir le contexte pertinent ou à conserver le résultat comme inconnu plutôt qu’à inventer une explication.</p><h4>Plusieurs définitions sur les mêmes éléments</h4><p>Le processus de notation de l’éditeur évalue plusieurs définitions de comportements ensemble sur une même trace et renvoie un résultat pour chaque identifiant, dans l’ordre de la requête. Sa documentation ne fixe aucun plafond du nombre de comportements par requête. Cela n’établit ni une fenêtre de tokens universelle ni une taille de trace illimitée. Gardez des définitions ciblées et des éléments pertinents, et conservez l’association entre chaque résultat renvoyé et la définition qui l’a produit.</p><p>Les résultats par comportement sont des observations indépendantes et non une réponse unique à choix exclusif. La frustration, une excuse et une proposition de transfert peuvent toutes être présentes dans le même échange. Leurs distributions individuelles à trois issues ont un sens au sein de chaque définition ; additionner les valeurs de présence de différents comportements ne produit ni une distribution de catégories normalisée ni un score ordonné sur une grille d’évaluation.</p><h4>Conserver le profil sélectionné avec ses résultats</h4><p>Le concepteur documente les noms Lite et standard avec une forme de requête et de résultat commune. Ce contrat permet de préparer les traces et d’interpréter les probabilités de comportement pour l’un ou l’autre des profils nommés. Il n’établit pas que Lite possède les mêmes poids, le même nombre de paramètres ou la même qualité que l’autre édition. Gardez le profil sélectionné identifiable lors de la revue de ses résultats plutôt que d’échanger silencieusement des résultats issus d’éditions différentes.</p><p>Utilisez des conversations étiquetées issues de la tâche visée pour choisir les seuils de journalisation, de routage ou de revue. Conservez pour inspection les résultats à forte probabilité non observable et les observations limites, et comparez toute erreur apparente avec le tour d’origine et la définition du comportement. L’artefact final utile contient l’identifiant du segment de texte, la définition, le profil sélectionné et le résultat probabiliste complet à trois issues. Une étape ultérieure de l’application décide de la suite à donner à cette observation ; la sortie de notation de Lite n’exécute pas elle-même un transfert, ne bloque pas une réponse et ne génère pas de correction.</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-lite</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</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</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-2559-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2559-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-2559-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2559-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-2559-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2559-tab-0\"><pre data-lang=\"json\"><code>{\n  &quot;model&quot;: &quot;respan/span-01-lite&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-2559-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-2559-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-lite&#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-lite&amp;route=Ultra&amp;caller=respan%2Fspan-01-lite&amp;fmt=systemone\"><code>respan/span-01-lite</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-lite&amp;route=Ultra&amp;caller=respan%2Fspan-01-lite&amp;fmt=systemone\"><code>respan/span-01-lite</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "respan/span-01-lite",
        "fmt": "systemone",
        "http": "POST",
        "path": "/v1/systemone",
        "request_model_id": "respan/span-01-lite",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|systemone|/v1/systemone|respan%2Fspan-01-lite",
      "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-lite"
                ],
                "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-lite"
                  ],
                  "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",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Palier 1 de longueur de requête",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "{\n  \"model\": \"respan/span-01-lite\",\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-lite'\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,
        "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",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "respan/span-01-lite",
        "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,
            "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",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    }
  ],
  "model_id": "respan/span-01-lite",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "61e18384d7cbe1e39edfe796eaa83c2491cebfebc72ce490c3e3c9a80d339c5b",
    "input_html_sha256": "f6c6ce3b37cf06290c5bb7dccb06a721c0c2473f1ae2bbb7fd47e9ae1b0e5fef",
    "private_audit_sha256": "bafa7b8fdfd80d6f1d648ae6f660f263e853a64bb705db6330d91092a0da0d60",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/fr/respan-span-01-lite/",
    "description": "Span-01 Lite est le profil de notation des comportements de Respan, désigné sous un nom distinct, pour les conversations textuelles et les traces d’agents. Il s’appuie sur des comportements définis par l’appelant et renvoie pour chacun les probabilités présent, absent et non observable, selon le même processus de notation documenté que Span-01.",
    "locale": "fr",
    "md_url": "https://ailoot.ai/models/fr/respan-span-01-lite/index.md",
    "title": "Respan: Span-01 Lite — Ailoot",
    "url": "https://ailoot.ai/models/fr/respan-span-01-lite/"
  },
  "rawModel": {
    "about": "Span-01 Lite est un profil de modèle désigné sous un nom distinct au sein de la famille Span-01 de Respan, consacrée à la notation des comportements. Le guide de démarrage rapide et le tableau des modèles de l’éditeur présentent Lite comme l’un des deux profils qui partagent le même processus de notation. Il reçoit une interaction textuelle et des définitions de comportements rédigées en langage courant, puis renvoie trois probabilités pour chaque définition : présent, absent et non observable. La sortie utile du profil est un relevé de comportements assorti d’une incertitude explicite, et non une réponse rédigée à la conversation.\n\n### Choisir l’observation et ses limites\n\nDéfinissez le comportement avec les termes qui correspondent à votre tâche. Pour un contrôle de transfert vers un humain, précisez s’il s’agit du cas où l’utilisateur demande explicitement à parler à une personne, de celui où l’assistant indique qu’un transfert est nécessaire, ou de l’une ou l’autre de ces conditions. Si une simple déception ne doit pas compter, indiquez-le. Pour un contrôle d’excuses, définissez quelle formulation constitue une excuse plutôt que de vous fier à une étiquette imprécise. Chaque définition possède un identifiant que l’outil de notation renvoie avec ses probabilités.\n\nL’ensemble des comportements appartient à l’appelant. Des exemples comme la frustration, les promesses non fondées, le mauvais usage d’outils ou les actions répétitives d’un agent sont des définitions à fournir, et non une liste fixe de catégories natives. Veillez à ce que chaque définition soit observable dans l’interaction fournie. Un segment court peut suffire à établir si l’assistant s’est excusé tout en ne contenant aucun élément prouvant qu’un problème externe a réellement été résolu.\n\n### Préparer le segment de conversation\n\nDans l’entrée documentée par Respan, les messages précédents figurent dans span.input et le tour évalué dans span.output. Le contenu d’un message est une chaîne de caractères. Conservez le contexte nécessaire pour comprendre le tour, notamment les rôles des interlocuteurs, la demande pertinente de l’utilisateur et tout élément textuel sur lequel l’assistant s’est appuyé. Pour un contrôle qualité, fournissez le tour réel plutôt qu’une paraphrase qui ferait disparaître le comportement évalué.\n\nUne revue illustrative peut porter sur un message d’utilisateur décrivant des difficultés répétées et une réponse de l’assistant proposant d’enquêter. Définissez la frustration de l’utilisateur et une promesse de l’assistant comme des observations distinctes. Si le résultat d’un outil compte pour juger si une affirmation était fondée, conservez le texte pertinent de ce résultat dans le contexte. La sortie est une évaluation de ces définitions dans le segment fourni ; le modèle ne mène pas l’enquête promise et ne modifie pas la conversation elle-même.\n\n### Présent, absent et non observable\n\nLa réponse de notation contient l’identifiant du comportement avec p_present, p_absent et p_not_observable, dont la somme est d’environ 1. Non observable signifie que la trace ne permet pas de répondre à la question. Cette valeur se distingue d’absent. Pour une définition telle que l’acceptation d’une solution par le client, un segment qui se termine avant la réaction du client constitue un élément incomplet, même si la réponse de l’assistant paraît assurée.\n\nConservez les trois valeurs lorsque vous préparez un résultat en vue d’une revue. Une catégorie choisie d’après la valeur la plus élevée peut être utile pour un affichage, mais la distribution conserve le degré d’incertitude de l’observation. N’utilisez pas une faible valeur de présence à elle seule pour conclure que le comportement ne s’est certainement pas produit. Lorsque l’absence d’éléments domine, l’action utile peut consister à obtenir le contexte pertinent ou à conserver le résultat comme inconnu plutôt qu’à inventer une explication.\n\n### Plusieurs définitions sur les mêmes éléments\n\nLe processus de notation de l’éditeur évalue plusieurs définitions de comportements ensemble sur une même trace et renvoie un résultat pour chaque identifiant, dans l’ordre de la requête. Sa documentation ne fixe aucun plafond du nombre de comportements par requête. Cela n’établit ni une fenêtre de tokens universelle ni une taille de trace illimitée. Gardez des définitions ciblées et des éléments pertinents, et conservez l’association entre chaque résultat renvoyé et la définition qui l’a produit.\n\nLes résultats par comportement sont des observations indépendantes et non une réponse unique à choix exclusif. La frustration, une excuse et une proposition de transfert peuvent toutes être présentes dans le même échange. Leurs distributions individuelles à trois issues ont un sens au sein de chaque définition ; additionner les valeurs de présence de différents comportements ne produit ni une distribution de catégories normalisée ni un score ordonné sur une grille d’évaluation.\n\n### Conserver le profil sélectionné avec ses résultats\n\nLe concepteur documente les noms Lite et standard avec une forme de requête et de résultat commune. Ce contrat permet de préparer les traces et d’interpréter les probabilités de comportement pour l’un ou l’autre des profils nommés. Il n’établit pas que Lite possède les mêmes poids, le même nombre de paramètres ou la même qualité que l’autre édition. Gardez le profil sélectionné identifiable lors de la revue de ses résultats plutôt que d’échanger silencieusement des résultats issus d’éditions différentes.\n\nUtilisez des conversations étiquetées issues de la tâche visée pour choisir les seuils de journalisation, de routage ou de revue. Conservez pour inspection les résultats à forte probabilité non observable et les observations limites, et comparez toute erreur apparente avec le tour d’origine et la définition du comportement. L’artefact final utile contient l’identifiant du segment de texte, la définition, le profil sélectionné et le résultat probabiliste complet à trois issues. Une étape ultérieure de l’application décide de la suite à donner à cette observation ; la sortie de notation de Lite n’exécute pas elle-même un transfert, ne bloque pas une réponse et ne génère pas de correction.",
    "alias_of": null,
    "aliases": [],
    "author": "Respan",
    "available": null,
    "canonical_model": "respan/span-01-lite",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text"
      ],
      "manufacturer_output": [
        "decisions"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ],
        "summary": "La tarification complète de la configuration figure dans les détails."
      }
    ],
    "ctx": null,
    "entity_type": "model",
    "formats": [
      "systemone"
    ],
    "id": "respan/span-01-lite",
    "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-lite"
                ],
                "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-lite"
                  ],
                  "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",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Palier 1 de longueur de requête",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "{\n  \"model\": \"respan/span-01-lite\",\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-lite'\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,
        "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",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "respan/span-01-lite",
        "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,
            "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",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "respan/span-01-lite",
        "request_model_id": "respan/span-01-lite",
        "route_label": "Ultra"
      }
    ],
    "name": "Respan: Span-01 Lite",
    "price": {
      "in": 0,
      "in_label": null,
      "out": 0,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0,
      "sort_out": 0,
      "varies": true
    },
    "pricing_profiles": [
      {
        "dimensions": {
          "regime": "base"
        },
        "label": "System One · Base token rates",
        "units": [
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      },
      {
        "dimensions": {
          "max_context_tokens_inclusive": null,
          "min_context_tokens_exclusive": 0
        },
        "label": "System One · Request-length tier 1",
        "units": [
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "public_id": "respan/span-01-lite",
    "short": "Span-01 Lite est le profil de notation des comportements de Respan, désigné sous un nom distinct, pour les conversations textuelles et les traces d’agents. Il s’appuie sur des comportements définis par l’appelant et renvoie pour chacun les probabilités présent, absent et non observable, selon le même processus de notation documenté que Span-01."
  },
  "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 Lite est le profil de notation des comportements de Respan, désigné sous un nom distinct, pour les conversations textuelles et les traces d’agents. Il s’appuie sur des comportements définis par l’appelant et renvoie pour chacun les probabilités présent, absent et non observable, selon le même processus de notation documenté que Span-01.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "97c8ed71c20a2e435db8da70f69f888e4aa9a36bfcdb1192df9c9c503ead724f",
    "renderer_sha256": "44d2db1deadc475e1793597083716540bae7bbc53606f05f58780fec5f115dd4"
  },
  "sourceRevision": "739ddbbd59c95d3fdb7fc584563fec59fa8faf9063b202a75277673b4f0e7822"
}
