{
  "aboutHtml": "<p>Span-01 Lite est un profil de modèle nommé séparément dans la famille Span-01 d’évaluation des comportements de Respan. Le guide de démarrage et le tableau des modèles du producteur identifient Lite comme l’un des deux profils utilisant le même processus d’évaluation. Il reçoit une interaction textuelle et des définitions de comportements 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 enregistrement de comportement avec une incertitude explicite, plutôt qu’une réponse écrite à la conversation.</p><h4>Choisir l’observation et sa délimitation</h4><p>Définissez le comportement avec des mots correspondant à votre tâche. Pour vérifier un transfert à une personne, précisez si cela signifie que l’utilisateur demande explicitement une personne, que l’assistant affirme qu’un transfert est nécessaire ou que l’une de ces deux conditions est satisfaite. Si une simple déception ne doit pas compter, indiquez-le. Pour vérifier des excuses, définissez les formulations qui constituent des excuses, plutôt que de vous appuyer sur un libellé flou. Chaque définition possède un identifiant que l’évaluateur renvoie avec ses probabilités.</p><p>L’ensemble des comportements appartient à l’appelant. Des exemples tels que la frustration, les promesses non étayé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. Gardez chaque définition observable dans l’interaction fournie. Un court extrait peut permettre de déterminer si l’assistant s’est excusé tout en ne contenant pas d’éléments établissant qu’un problème externe a réellement été résolu.</p><h4>Préparer l’extrait de conversation</h4><p>L’entrée documentée de Respan place les messages précédents dans span.input et le tour évalué dans span.output. Le contenu des messages est une chaîne de caractères. Préservez le contexte nécessaire à la compréhension du tour, notamment les rôles des interlocuteurs, la demande pertinente de l’utilisateur et les éléments textuels utilisés par l’assistant. Pour un contrôle qualité, fournissez le tour réel, plutôt qu’une paraphrase qui supprimerait le comportement évalué.</p><p>Une vérification illustrative peut prendre un message 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 un résultat d’outil importe pour déterminer si une affirmation était étayée, conservez le texte pertinent de ce résultat dans le contexte. La sortie est une évaluation de ces définitions dans l’extrait fourni ; le modèle n’effectue 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 d’évaluation contient l’id du comportement avec p_present, p_absent et p_not_observable, dont la somme vaut approximativement 1. Non observable signifie que la trace ne permet pas de répondre à la question. Cela se distingue d’absent. Pour une définition telle que l’acceptation d’une solution par le client, un extrait s’arrêtant avant sa réaction constitue des éléments incomplets, même si la réponse de l’assistant semble assurée.</p><p>Gardez les trois valeurs lorsque vous préparez un résultat pour vérification. Une catégorie choisie selon la valeur la plus élevée peut être utile pour l’affichage, mais la distribution conserve l’incertitude de l’observation. N’utilisez pas une faible valeur de présence seule pour conclure que le comportement n’a certainement pas eu lieu. Lorsque les éléments manquants dominent, 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 d’évaluation du producteur é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 spécifie aucun plafond de nombre de comportements par requête. Cela n’établit pas une fenêtre universelle de tokens ou une taille de trace illimitée. Gardez des définitions utiles et des éléments pertinents, et préservez l’association entre chaque résultat renvoyé et la définition qui l’a produit.</p><p>Les résultats de comportements sont des observations indépendantes, plutôt qu’une seule réponse à choix exclusif. La frustration, des excuses et un transfert proposé peuvent tous être présents dans un même échange. Leurs distributions individuelles à trois issues ont un sens au sein de chaque définition ; additionner les valeurs de présence de comportements différents ne crée ni une distribution normalisée de catégories ni un score ordonné sur une grille.</p><h4>Conserver le profil sélectionné avec ses résultats</h4><p>Le fabricant documente les noms Lite et standard avec une structure commune de requête et de résultat. Ce contrat permet de préparer des traces et d’interpréter les probabilités de comportements pour chacun 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 lorsque vous examinez ses résultats, plutôt que d’échanger silencieusement des résultats d’éditions différentes.</p><p>Utilisez des conversations annotées issues de la tâche visée pour choisir les seuils de journalisation, d’orientation ou de vérification. Conservez les résultats à forte non-observabilité et les observations limites pour examen, et comparez toute erreur apparente au tour d’origine et à la définition du comportement. L’artefact final utile contient l’identifiant de l’extrait textuel, 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 l’usage de cette observation ; la sortie d’évaluation de Lite n’effectue 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 nommé séparément dans la famille Span-01 d’évaluation des comportements de Respan. Le guide de démarrage et le tableau des modèles du producteur identifient Lite comme l’un des deux profils utilisant le même processus d’évaluation. Il reçoit une interaction textuelle et des définitions de comportements 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 enregistrement de comportement avec une incertitude explicite, plutôt qu’une réponse écrite à la conversation.\n\n### Choisir l’observation et sa délimitation\n\nDéfinissez le comportement avec des mots correspondant à votre tâche. Pour vérifier un transfert à une personne, précisez si cela signifie que l’utilisateur demande explicitement une personne, que l’assistant affirme qu’un transfert est nécessaire ou que l’une de ces deux conditions est satisfaite. Si une simple déception ne doit pas compter, indiquez-le. Pour vérifier des excuses, définissez les formulations qui constituent des excuses, plutôt que de vous appuyer sur un libellé flou. Chaque définition possède un identifiant que l’évaluateur renvoie avec ses probabilités.\n\nL’ensemble des comportements appartient à l’appelant. Des exemples tels que la frustration, les promesses non étayé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. Gardez chaque définition observable dans l’interaction fournie. Un court extrait peut permettre de déterminer si l’assistant s’est excusé tout en ne contenant pas d’éléments établissant qu’un problème externe a réellement été résolu.\n\n### Préparer l’extrait de conversation\n\nL’entrée documentée de Respan place les messages précédents dans span.input et le tour évalué dans span.output. Le contenu des messages est une chaîne de caractères. Préservez le contexte nécessaire à la compréhension du tour, notamment les rôles des interlocuteurs, la demande pertinente de l’utilisateur et les éléments textuels utilisés par l’assistant. Pour un contrôle qualité, fournissez le tour réel, plutôt qu’une paraphrase qui supprimerait le comportement évalué.\n\nUne vérification illustrative peut prendre un message 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 un résultat d’outil importe pour déterminer si une affirmation était étayée, conservez le texte pertinent de ce résultat dans le contexte. La sortie est une évaluation de ces définitions dans l’extrait fourni ; le modèle n’effectue 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 d’évaluation contient l’id du comportement avec p_present, p_absent et p_not_observable, dont la somme vaut approximativement 1. Non observable signifie que la trace ne permet pas de répondre à la question. Cela se distingue d’absent. Pour une définition telle que l’acceptation d’une solution par le client, un extrait s’arrêtant avant sa réaction constitue des éléments incomplets, même si la réponse de l’assistant semble assurée.\n\nGardez les trois valeurs lorsque vous préparez un résultat pour vérification. Une catégorie choisie selon la valeur la plus élevée peut être utile pour l’affichage, mais la distribution conserve l’incertitude de l’observation. N’utilisez pas une faible valeur de présence seule pour conclure que le comportement n’a certainement pas eu lieu. Lorsque les éléments manquants dominent, 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 d’évaluation du producteur é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 spécifie aucun plafond de nombre de comportements par requête. Cela n’établit pas une fenêtre universelle de tokens ou une taille de trace illimitée. Gardez des définitions utiles et des éléments pertinents, et préservez l’association entre chaque résultat renvoyé et la définition qui l’a produit.\n\nLes résultats de comportements sont des observations indépendantes, plutôt qu’une seule réponse à choix exclusif. La frustration, des excuses et un transfert proposé peuvent tous être présents dans un même échange. Leurs distributions individuelles à trois issues ont un sens au sein de chaque définition ; additionner les valeurs de présence de comportements différents ne crée ni une distribution normalisée de catégories ni un score ordonné sur une grille.\n\n### Conserver le profil sélectionné avec ses résultats\n\nLe fabricant documente les noms Lite et standard avec une structure commune de requête et de résultat. Ce contrat permet de préparer des traces et d’interpréter les probabilités de comportements pour chacun 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 lorsque vous examinez ses résultats, plutôt que d’échanger silencieusement des résultats d’éditions différentes.\n\nUtilisez des conversations annotées issues de la tâche visée pour choisir les seuils de journalisation, d’orientation ou de vérification. Conservez les résultats à forte non-observabilité et les observations limites pour examen, et comparez toute erreur apparente au tour d’origine et à la définition du comportement. L’artefact final utile contient l’identifiant de l’extrait textuel, 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 l’usage de cette observation ; la sortie d’évaluation de Lite n’effectue 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": "e56891774580eedebe907db403cbd2163797959ee66232992294335b64c5a00d",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "fr-ca",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Respan: Span-01 Lite (free)</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:free</code><button type=\"button\" id=\"copy-id\">Copier l’ID</button></div><nav class=\"card-jump-nav\" aria-label=\"Rubriques de la fiche modèle\"><button type=\"button\" data-card-jump=\"overview\">Pour commencer</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%3Afree\">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\">Pour commencer</h3><p class=\"mdesc-full\">Span-01 Lite est le profil d’évaluation des comportements de Respan, nommé séparément, pour les conversations textuelles et les traces d’agents. Il utilise des comportements définis par l’appelant et renvoie pour chacun des probabilités de présence, d’absence et de non-observabilité, selon le même processus d’évaluation 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 nommé séparément dans la famille Span-01 d’évaluation des comportements de Respan. Le guide de démarrage et le tableau des modèles du producteur identifient Lite comme l’un des deux profils utilisant le même processus d’évaluation. Il reçoit une interaction textuelle et des définitions de comportements 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 enregistrement de comportement avec une incertitude explicite, plutôt qu’une réponse écrite à la conversation.</p><h4>Choisir l’observation et sa délimitation</h4><p>Définissez le comportement avec des mots correspondant à votre tâche. Pour vérifier un transfert à une personne, précisez si cela signifie que l’utilisateur demande explicitement une personne, que l’assistant affirme qu’un transfert est nécessaire ou que l’une de ces deux conditions est satisfaite. Si une simple déception ne doit pas compter, indiquez-le. Pour vérifier des excuses, définissez les formulations qui constituent des excuses, plutôt que de vous appuyer sur un libellé flou. Chaque définition possède un identifiant que l’évaluateur renvoie avec ses probabilités.</p><p>L’ensemble des comportements appartient à l’appelant. Des exemples tels que la frustration, les promesses non étayé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. Gardez chaque définition observable dans l’interaction fournie. Un court extrait peut permettre de déterminer si l’assistant s’est excusé tout en ne contenant pas d’éléments établissant qu’un problème externe a réellement été résolu.</p><h4>Préparer l’extrait de conversation</h4><p>L’entrée documentée de Respan place les messages précédents dans span.input et le tour évalué dans span.output. Le contenu des messages est une chaîne de caractères. Préservez le contexte nécessaire à la compréhension du tour, notamment les rôles des interlocuteurs, la demande pertinente de l’utilisateur et les éléments textuels utilisés par l’assistant. Pour un contrôle qualité, fournissez le tour réel, plutôt qu’une paraphrase qui supprimerait le comportement évalué.</p><p>Une vérification illustrative peut prendre un message 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 un résultat d’outil importe pour déterminer si une affirmation était étayée, conservez le texte pertinent de ce résultat dans le contexte. La sortie est une évaluation de ces définitions dans l’extrait fourni ; le modèle n’effectue 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 d’évaluation contient l’id du comportement avec p_present, p_absent et p_not_observable, dont la somme vaut approximativement 1. Non observable signifie que la trace ne permet pas de répondre à la question. Cela se distingue d’absent. Pour une définition telle que l’acceptation d’une solution par le client, un extrait s’arrêtant avant sa réaction constitue des éléments incomplets, même si la réponse de l’assistant semble assurée.</p><p>Gardez les trois valeurs lorsque vous préparez un résultat pour vérification. Une catégorie choisie selon la valeur la plus élevée peut être utile pour l’affichage, mais la distribution conserve l’incertitude de l’observation. N’utilisez pas une faible valeur de présence seule pour conclure que le comportement n’a certainement pas eu lieu. Lorsque les éléments manquants dominent, 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 d’évaluation du producteur é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 spécifie aucun plafond de nombre de comportements par requête. Cela n’établit pas une fenêtre universelle de tokens ou une taille de trace illimitée. Gardez des définitions utiles et des éléments pertinents, et préservez l’association entre chaque résultat renvoyé et la définition qui l’a produit.</p><p>Les résultats de comportements sont des observations indépendantes, plutôt qu’une seule réponse à choix exclusif. La frustration, des excuses et un transfert proposé peuvent tous être présents dans un même échange. Leurs distributions individuelles à trois issues ont un sens au sein de chaque définition ; additionner les valeurs de présence de comportements différents ne crée ni une distribution normalisée de catégories ni un score ordonné sur une grille.</p><h4>Conserver le profil sélectionné avec ses résultats</h4><p>Le fabricant documente les noms Lite et standard avec une structure commune de requête et de résultat. Ce contrat permet de préparer des traces et d’interpréter les probabilités de comportements pour chacun 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 lorsque vous examinez ses résultats, plutôt que d’échanger silencieusement des résultats d’éditions différentes.</p><p>Utilisez des conversations annotées issues de la tâche visée pour choisir les seuils de journalisation, d’orientation ou de vérification. Conservez les résultats à forte non-observabilité et les observations limites pour examen, et comparez toute erreur apparente au tour d’origine et à la définition du comportement. L’artefact final utile contient l’identifiant de l’extrait textuel, 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 l’usage de cette observation ; la sortie d’évaluation de Lite n’effectue 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>Entrée</dt><dd><code>text</code></dd></div><div><dt>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:free</div></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr 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 : requis; noul : facultatif. Les critères de choice forment un objet; score est un tableau avec minItems1.</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>Jetons de contexte, plus de</th><th>Jetons 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 jetons</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=\"Jetons de contexte, plus de\"><span class=\"card-cell-label\">Jetons de contexte, plus de</span>—</td><td data-cell-label=\"Jetons de contexte, jusqu’à la limite incluse\"><span class=\"card-cell-label\">Jetons 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 · Jetons en entrée</span> <b>$0</b> <span class=\"price-unit\">/ 1K jetons</span></div><div><span>Sortie · Jetons en sortie</span> <b>$0</b> <span class=\"price-unit\">/ 1K jetons</span></div><div><span>Entrée · Lecture du cache</span> <b>—</b> <span class=\"price-unit\">/ 1K jetons</span></div><div><span>Entrée · Écriture dans le cache</span> <b>—</b> <span class=\"price-unit\">/ 1K jetons</span></div><div><span>Entrée · Écriture dans le cache, 1 h</span> <b>—</b> <span class=\"price-unit\">/ 1K jetons</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=\"Jetons de contexte, plus de\"><span class=\"card-cell-label\">Jetons de contexte, plus de</span>0</td><td data-cell-label=\"Jetons de contexte, jusqu’à la limite incluse\"><span class=\"card-cell-label\">Jetons 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 · Jetons en entrée</span> <b>$0</b> <span class=\"price-unit\">/ 1K jetons</span></div><div><span>Sortie · Jetons en sortie</span> <b>$0</b> <span class=\"price-unit\">/ 1K jetons</span></div><div><span>Entrée · Lecture du cache</span> <b>—</b> <span class=\"price-unit\">/ 1K jetons</span></div><div><span>Entrée · Écriture dans le cache</span> <b>—</b> <span class=\"price-unit\">/ 1K jetons</span></div><div><span>Entrée · Écriture dans le cache, 1 h</span> <b>—</b> <span class=\"price-unit\">/ 1K jetons</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-ca/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-2560-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2560-panel-0\" aria-selected=\"true\" tabindex=\"0\">Structure officielle de la requête conservée ; exemple de documentation</button><button class=\"cg-tab\" id=\"model-code-2560-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-2560-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Utilisez les éléments réels 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-2560-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-2560-tab-0\"><pre data-lang=\"json\"><code>{\n  &quot;model&quot;: &quot;respan/span-01-lite:free&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-2560-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-2560-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:free&#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, sa confiance, ses probabilités et sa légende. Le JSON d’origine complet est stocké et retourné 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 la demande 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 requis, représentation ou valeur invalide</td><td data-cell-label=\"Étape suivante\"><span class=\"card-cell-label\">Étape suivante</span>Corrigez le champ de demande 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%3Afree&amp;route=Ultra&amp;caller=respan%2Fspan-01-lite%3Afree&amp;fmt=systemone\"><code>respan/span-01-lite:free</code></a></span></p><h4>Alias des chemins de méthode</h4><p class=\"note-s\">Utilisez les chemins de méthode indiqués ci-dessus.</p><h4>ID d’appel associés</h4><p class=\"note-s\"><a href=\"#m=respan%2Fspan-01-lite%3Afree&amp;route=Ultra&amp;caller=respan%2Fspan-01-lite%3Afree&amp;fmt=systemone\"><code>respan/span-01-lite:free</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "respan/span-01-lite:free",
        "fmt": "systemone",
        "http": "POST",
        "path": "/v1/systemone",
        "request_model_id": "respan/span-01-lite:free",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|systemone|/v1/systemone|respan%2Fspan-01-lite%3Afree",
      "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 requis, représentation ou valeur invalide",
                "http_status": 400,
                "recovery": "Corrigez le champ de demande 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 la demande 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, sa confiance, ses probabilités et sa légende. Le JSON d’origine complet est stocké et retourné 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:free"
                ],
                "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 : requis; noul : facultatif. Les critères de choice forment un objet; score est un tableau avec minItems1.",
                "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:free"
                  ],
                  "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 jetons",
            "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:free\",\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:free'\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:free",
        "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:free",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "b2a4729fae7c479dac33f07b3654a73f0d645e19a915bcd1d35987a397a016b8",
    "input_html_sha256": "055e17fa43d73db66aa1c7328477021d5cba47d19004c3d6ab2a39313d46fc88",
    "private_audit_sha256": "19ac7b874cd8771fcf6e34be627898bfc03c53ace7238ecbfc4001bb22f57877",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/fr-ca/respan-span-01-lite-u003a-free/",
    "description": "Span-01 Lite est le profil d’évaluation des comportements de Respan, nommé séparément, pour les conversations textuelles et les traces d’agents. Il utilise des comportements définis par l’appelant et renvoie pour chacun des probabilités de présence, d’absence et de non-observabilité, selon le même processus d’évaluation documenté que Span-01.",
    "locale": "fr-ca",
    "md_url": "https://ailoot.ai/models/fr-ca/respan-span-01-lite-u003a-free/index.md",
    "title": "Respan: Span-01 Lite (free) — Ailoot",
    "url": "https://ailoot.ai/models/fr-ca/respan-span-01-lite-u003a-free/"
  },
  "rawModel": {
    "about": "Span-01 Lite est un profil de modèle nommé séparément dans la famille Span-01 d’évaluation des comportements de Respan. Le guide de démarrage et le tableau des modèles du producteur identifient Lite comme l’un des deux profils utilisant le même processus d’évaluation. Il reçoit une interaction textuelle et des définitions de comportements 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 enregistrement de comportement avec une incertitude explicite, plutôt qu’une réponse écrite à la conversation.\n\n### Choisir l’observation et sa délimitation\n\nDéfinissez le comportement avec des mots correspondant à votre tâche. Pour vérifier un transfert à une personne, précisez si cela signifie que l’utilisateur demande explicitement une personne, que l’assistant affirme qu’un transfert est nécessaire ou que l’une de ces deux conditions est satisfaite. Si une simple déception ne doit pas compter, indiquez-le. Pour vérifier des excuses, définissez les formulations qui constituent des excuses, plutôt que de vous appuyer sur un libellé flou. Chaque définition possède un identifiant que l’évaluateur renvoie avec ses probabilités.\n\nL’ensemble des comportements appartient à l’appelant. Des exemples tels que la frustration, les promesses non étayé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. Gardez chaque définition observable dans l’interaction fournie. Un court extrait peut permettre de déterminer si l’assistant s’est excusé tout en ne contenant pas d’éléments établissant qu’un problème externe a réellement été résolu.\n\n### Préparer l’extrait de conversation\n\nL’entrée documentée de Respan place les messages précédents dans span.input et le tour évalué dans span.output. Le contenu des messages est une chaîne de caractères. Préservez le contexte nécessaire à la compréhension du tour, notamment les rôles des interlocuteurs, la demande pertinente de l’utilisateur et les éléments textuels utilisés par l’assistant. Pour un contrôle qualité, fournissez le tour réel, plutôt qu’une paraphrase qui supprimerait le comportement évalué.\n\nUne vérification illustrative peut prendre un message 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 un résultat d’outil importe pour déterminer si une affirmation était étayée, conservez le texte pertinent de ce résultat dans le contexte. La sortie est une évaluation de ces définitions dans l’extrait fourni ; le modèle n’effectue 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 d’évaluation contient l’id du comportement avec p_present, p_absent et p_not_observable, dont la somme vaut approximativement 1. Non observable signifie que la trace ne permet pas de répondre à la question. Cela se distingue d’absent. Pour une définition telle que l’acceptation d’une solution par le client, un extrait s’arrêtant avant sa réaction constitue des éléments incomplets, même si la réponse de l’assistant semble assurée.\n\nGardez les trois valeurs lorsque vous préparez un résultat pour vérification. Une catégorie choisie selon la valeur la plus élevée peut être utile pour l’affichage, mais la distribution conserve l’incertitude de l’observation. N’utilisez pas une faible valeur de présence seule pour conclure que le comportement n’a certainement pas eu lieu. Lorsque les éléments manquants dominent, 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 d’évaluation du producteur é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 spécifie aucun plafond de nombre de comportements par requête. Cela n’établit pas une fenêtre universelle de tokens ou une taille de trace illimitée. Gardez des définitions utiles et des éléments pertinents, et préservez l’association entre chaque résultat renvoyé et la définition qui l’a produit.\n\nLes résultats de comportements sont des observations indépendantes, plutôt qu’une seule réponse à choix exclusif. La frustration, des excuses et un transfert proposé peuvent tous être présents dans un même échange. Leurs distributions individuelles à trois issues ont un sens au sein de chaque définition ; additionner les valeurs de présence de comportements différents ne crée ni une distribution normalisée de catégories ni un score ordonné sur une grille.\n\n### Conserver le profil sélectionné avec ses résultats\n\nLe fabricant documente les noms Lite et standard avec une structure commune de requête et de résultat. Ce contrat permet de préparer des traces et d’interpréter les probabilités de comportements pour chacun 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 lorsque vous examinez ses résultats, plutôt que d’échanger silencieusement des résultats d’éditions différentes.\n\nUtilisez des conversations annotées issues de la tâche visée pour choisir les seuils de journalisation, d’orientation ou de vérification. Conservez les résultats à forte non-observabilité et les observations limites pour examen, et comparez toute erreur apparente au tour d’origine et à la définition du comportement. L’artefact final utile contient l’identifiant de l’extrait textuel, 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 l’usage de cette observation ; la sortie d’évaluation de Lite n’effectue 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:free",
    "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:free",
    "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 requis, représentation ou valeur invalide",
                "http_status": 400,
                "recovery": "Corrigez le champ de demande 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 la demande 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, sa confiance, ses probabilités et sa légende. Le JSON d’origine complet est stocké et retourné 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:free"
                ],
                "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 : requis; noul : facultatif. Les critères de choice forment un objet; score est un tableau avec minItems1.",
                "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:free"
                  ],
                  "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 jetons",
            "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:free\",\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:free'\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:free",
        "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:free",
        "request_model_id": "respan/span-01-lite:free",
        "route_label": "Ultra"
      }
    ],
    "name": "Respan: Span-01 Lite (free)",
    "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:free",
    "short": "Span-01 Lite est le profil d’évaluation des comportements de Respan, nommé séparément, pour les conversations textuelles et les traces d’agents. Il utilise des comportements définis par l’appelant et renvoie pour chacun des probabilités de présence, d’absence et de non-observabilité, selon le même processus d’évaluation 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 d’évaluation des comportements de Respan, nommé séparément, pour les conversations textuelles et les traces d’agents. Il utilise des comportements définis par l’appelant et renvoie pour chacun des probabilités de présence, d’absence et de non-observabilité, selon le même processus d’évaluation documenté que Span-01.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "632b147815febececc8ab108c1af0521ab7a91a5fa0b4569af4d15e9b05814ce",
    "renderer_sha256": "98cb81b9c4ef4923c22e586170e7cdf67056351148a1666fb03dd6a4a26716a3"
  },
  "sourceRevision": "cb1beda64a74981abc399a04c106608fc92549a32719b53f3edc7589fe982c82"
}
