{
  "aboutHtml": "<p>Inkling est le modèle multimodal à poids ouverts de Thinking Machines Lab pour le raisonnement, le code, la conversation et les applications agentiques. Il accepte du texte, des images et de l’audio et retourne du texte. Sa conception à mélange d’experts compte 975 milliards de paramètres au total, dont 41 milliards actifs, ce qui en fait le plus grand modèle de la famille. Inkling-Small est un modèle distinct de 276 milliards de paramètres, dont 12 milliards actifs, plutôt qu’un réglage qui modifie la longueur des réponses d’Inkling.</p><p>Pour une tâche de programmation importante, fournissez le contenu pertinent du dépôt, le comportement observé et le résultat souhaité. Demandez au modèle de retracer le chemin responsable, de proposer une modification et de rapporter les éléments issus des vérifications réellement exécutées dans l’environnement connecté. Pour une comparaison de documents, étiquetez les sections sources et demandez les différences pertinentes, les éléments à l’appui et toute question sans réponse. Les applications visées comprennent les assistants de code, les agents conversationnels, la génération augmentée par récupération et les agents utilisant des outils, avec un résultat final adapté à l’application qui le consomme.</p><p>Inkling prend en charge jusqu’à un million de jetons de contexte. Utilisez cet espace pour réunir un contenu source substantiel et les faits importants de la conversation, en l’organisant autour d’une question précise. Distinguez les faits sources des hypothèses et laissez de la place pour le livrable écrit complet. Le contexte élargi permet de travailler sur une vaste collection; il ne transforme pas la réponse en vue en direct d’un système dont l’information actuelle n’a pas été fournie.</p><p>L’effort de réflexion est une commande continue allant de 0.0 inclusivement à moins de 1.0. Les préréglages de départ du fournisseur sont none 0.0, minimal 0.1, low 0.2, medium 0.7, high 0.9 et xhigh 0.99, avec high comme valeur par défaut du moteur de rendu. L’effort et le budget de jetons de génération sont indépendants. Un effort plus élevé peut favoriser plus de raisonnement et nécessiter plus d’espace avant la réponse finale, tandis que none oriente le modèle vers l’absence de raisonnement sans imposer de restriction stricte. Choisissez une valeur adaptée au travail et rendez explicites le livrable attendu et la condition d’achèvement.</p><p>L’entrée visuelle permet de décrire des images, de poser des questions sur leur contenu visible, d’interpréter des graphiques et des diagrammes et de faire du raisonnement mathématique visuel. Pour de bonnes performances, utilisez des dimensions d’image entre 40 et 4 096 pixels. Gardez lisibles les étiquettes et le contexte du diagramme pertinents. Inkling peut utiliser un outil Python configuré pour zoomer, recadrer ou examiner une image par programmation, en reliant les observations visuelles au raisonnement par code. Une réponse utile sur un graphique conserve les valeurs observées et montre comment elles appuient la conclusion, plutôt que de supposer qu’un recadrage ou un calcul a été fait simplement parce qu’il a été proposé.</p><p>L’entrée audio utilise WAV échantillonné à 16 kHz, et le fabricant recommande des enregistrements d’au plus 20 minutes pour des performances optimales. C’est une recommandation de préparation. Inkling peut transcrire la parole, suivre des consignes orales, répondre à des questions sur des enregistrements et raisonner sur des contenus audio plus longs. Fournissez l’enregistrement pertinent avec la question écrite et les références nécessaires à son interprétation. Un livrable de réunion peut séparer les faits énoncés oralement d’un résumé ou d’une interprétation ultérieure. Le modèle produit du texte; sa compréhension audio est donc distincte de la synthèse d’une réponse parlée.</p><p>Pour un travail fondé sur les outils, décrivez les opérations disponibles et leurs arguments, et conservez les observations réelles retournées par l’application. Un résultat de recherche peut fournir des éléments actuels; un calcul peut fournir le travail numérique; une opération de fichier peut établir le contenu examiné. L’action proposée par le modèle et le résultat exécuté sont des parties distinctes de la conversation. Gardez la réponse finale liée à ces observations, surtout lorsqu’elle propose une modification de code ou une prochaine étape de l’application.</p><p>Inkling a été entraîné pour la calibration et le suivi des consignes, y compris l’expression de l’incertitude lorsqu’une réponse n’est pas établie. Pour une prévision ou une analyse fondée sur des éléments de preuve, demandez les hypothèses, les éléments et les conditions non résolues dans le résultat écrit. Pour l’extraction, définissez la représentation d’une valeur absente plutôt que d’exiger que chaque champ contienne un fait inventé. Ces consignes rendent le résultat utile pour la vérification sans traiter la confiance ou un long raisonnement comme une preuve de justesse.</p><p>Les poids ouverts permettent l’ajustement fin et l’intégration en aval. Un modèle spécialisé est développé à partir d’exemples représentatifs et d’un comportement cible, tandis qu’une requête d’inférence ordinaire fournit du contexte pour la tâche actuelle. Le fournisseur présente la personnalisation comme un flux distinct; une réponse normale ne passe pas silencieusement à de nouveaux poids. Conservez les éléments d’origine et les contraintes demandées avec le livrable final pour qu’un suivi puisse réviser un fait, préciser la formulation ou examiner un autre chemin de code tout en gardant la cohérence du travail.</p>",
  "aboutText": "Inkling est le modèle multimodal à poids ouverts de Thinking Machines Lab pour le raisonnement, le code, la conversation et les applications agentiques. Il accepte du texte, des images et de l’audio et retourne du texte. Sa conception à mélange d’experts compte 975 milliards de paramètres au total, dont 41 milliards actifs, ce qui en fait le plus grand modèle de la famille. Inkling-Small est un modèle distinct de 276 milliards de paramètres, dont 12 milliards actifs, plutôt qu’un réglage qui modifie la longueur des réponses d’Inkling.\n\nPour une tâche de programmation importante, fournissez le contenu pertinent du dépôt, le comportement observé et le résultat souhaité. Demandez au modèle de retracer le chemin responsable, de proposer une modification et de rapporter les éléments issus des vérifications réellement exécutées dans l’environnement connecté. Pour une comparaison de documents, étiquetez les sections sources et demandez les différences pertinentes, les éléments à l’appui et toute question sans réponse. Les applications visées comprennent les assistants de code, les agents conversationnels, la génération augmentée par récupération et les agents utilisant des outils, avec un résultat final adapté à l’application qui le consomme.\n\nInkling prend en charge jusqu’à un million de jetons de contexte. Utilisez cet espace pour réunir un contenu source substantiel et les faits importants de la conversation, en l’organisant autour d’une question précise. Distinguez les faits sources des hypothèses et laissez de la place pour le livrable écrit complet. Le contexte élargi permet de travailler sur une vaste collection; il ne transforme pas la réponse en vue en direct d’un système dont l’information actuelle n’a pas été fournie.\n\nL’effort de réflexion est une commande continue allant de 0.0 inclusivement à moins de 1.0. Les préréglages de départ du fournisseur sont none 0.0, minimal 0.1, low 0.2, medium 0.7, high 0.9 et xhigh 0.99, avec high comme valeur par défaut du moteur de rendu. L’effort et le budget de jetons de génération sont indépendants. Un effort plus élevé peut favoriser plus de raisonnement et nécessiter plus d’espace avant la réponse finale, tandis que none oriente le modèle vers l’absence de raisonnement sans imposer de restriction stricte. Choisissez une valeur adaptée au travail et rendez explicites le livrable attendu et la condition d’achèvement.\n\nL’entrée visuelle permet de décrire des images, de poser des questions sur leur contenu visible, d’interpréter des graphiques et des diagrammes et de faire du raisonnement mathématique visuel. Pour de bonnes performances, utilisez des dimensions d’image entre 40 et 4 096 pixels. Gardez lisibles les étiquettes et le contexte du diagramme pertinents. Inkling peut utiliser un outil Python configuré pour zoomer, recadrer ou examiner une image par programmation, en reliant les observations visuelles au raisonnement par code. Une réponse utile sur un graphique conserve les valeurs observées et montre comment elles appuient la conclusion, plutôt que de supposer qu’un recadrage ou un calcul a été fait simplement parce qu’il a été proposé.\n\nL’entrée audio utilise WAV échantillonné à 16 kHz, et le fabricant recommande des enregistrements d’au plus 20 minutes pour des performances optimales. C’est une recommandation de préparation. Inkling peut transcrire la parole, suivre des consignes orales, répondre à des questions sur des enregistrements et raisonner sur des contenus audio plus longs. Fournissez l’enregistrement pertinent avec la question écrite et les références nécessaires à son interprétation. Un livrable de réunion peut séparer les faits énoncés oralement d’un résumé ou d’une interprétation ultérieure. Le modèle produit du texte; sa compréhension audio est donc distincte de la synthèse d’une réponse parlée.\n\nPour un travail fondé sur les outils, décrivez les opérations disponibles et leurs arguments, et conservez les observations réelles retournées par l’application. Un résultat de recherche peut fournir des éléments actuels; un calcul peut fournir le travail numérique; une opération de fichier peut établir le contenu examiné. L’action proposée par le modèle et le résultat exécuté sont des parties distinctes de la conversation. Gardez la réponse finale liée à ces observations, surtout lorsqu’elle propose une modification de code ou une prochaine étape de l’application.\n\nInkling a été entraîné pour la calibration et le suivi des consignes, y compris l’expression de l’incertitude lorsqu’une réponse n’est pas établie. Pour une prévision ou une analyse fondée sur des éléments de preuve, demandez les hypothèses, les éléments et les conditions non résolues dans le résultat écrit. Pour l’extraction, définissez la représentation d’une valeur absente plutôt que d’exiger que chaque champ contienne un fait inventé. Ces consignes rendent le résultat utile pour la vérification sans traiter la confiance ou un long raisonnement comme une preuve de justesse.\n\nLes poids ouverts permettent l’ajustement fin et l’intégration en aval. Un modèle spécialisé est développé à partir d’exemples représentatifs et d’un comportement cible, tandis qu’une requête d’inférence ordinaire fournit du contexte pour la tâche actuelle. Le fournisseur présente la personnalisation comme un flux distinct; une réponse normale ne passe pas silencieusement à de nouveaux poids. Conservez les éléments d’origine et les contraintes demandées avec le livrable final pour qu’un suivi puisse réviser un fait, préciser la formulation ou examiner un autre chemin de code tout en gardant la cohérence du travail.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "507f0198cc9cadb4a2a2f4db6572ac4affbd3dc3578a1c6de120e6192cb36d04",
    "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\">Thinking Machines: Inkling (free)</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Fermer\">×</button></div><div class=\"idline\"><span>Thinking Machines /</span><code>thinkingmachines/inkling: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|chat|/v1/chat/completions|thinkingmachines%2Finkling%3Afree\">Chat</button><button type=\"button\" role=\"tab\" tabindex=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-1\" data-card-method=\"Ultra|messages|/v1/messages|thinkingmachines%2Finkling%3Afree\">Messages</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Pour commencer</h3><p class=\"mdesc-full\">Inkling est un modèle multimodal à poids ouverts pour le raisonnement général, le code et l’utilisation agentique d’outils. Il combine texte, images et audio dans un vaste contexte, avec un effort de réflexion réglable et des sorties écrites pour l’analyse de sources, le code et les applications conversationnelles.</p><dl class=\"card-io\" data-card-io><div><dt>Entrées acceptées</dt><dd>Texte</dd></div><div><dt>Résultats</dt><dd>Texte</dd></div></dl><details class=\"card-about\"><summary>À propos du modèle</summary><p class=\"note-s\" data-model-method-boundary>Cette description présente les capacités du modèle. Les entrées, sorties et options disponibles dans Ailoot pour la méthode sélectionnée figurent ci-dessous.</p><div class=\"mabout\" id=\"m-about\"><p>Inkling est le modèle multimodal à poids ouverts de Thinking Machines Lab pour le raisonnement, le code, la conversation et les applications agentiques. Il accepte du texte, des images et de l’audio et retourne du texte. Sa conception à mélange d’experts compte 975 milliards de paramètres au total, dont 41 milliards actifs, ce qui en fait le plus grand modèle de la famille. Inkling-Small est un modèle distinct de 276 milliards de paramètres, dont 12 milliards actifs, plutôt qu’un réglage qui modifie la longueur des réponses d’Inkling.</p><p>Pour une tâche de programmation importante, fournissez le contenu pertinent du dépôt, le comportement observé et le résultat souhaité. Demandez au modèle de retracer le chemin responsable, de proposer une modification et de rapporter les éléments issus des vérifications réellement exécutées dans l’environnement connecté. Pour une comparaison de documents, étiquetez les sections sources et demandez les différences pertinentes, les éléments à l’appui et toute question sans réponse. Les applications visées comprennent les assistants de code, les agents conversationnels, la génération augmentée par récupération et les agents utilisant des outils, avec un résultat final adapté à l’application qui le consomme.</p><p>Inkling prend en charge jusqu’à un million de jetons de contexte. Utilisez cet espace pour réunir un contenu source substantiel et les faits importants de la conversation, en l’organisant autour d’une question précise. Distinguez les faits sources des hypothèses et laissez de la place pour le livrable écrit complet. Le contexte élargi permet de travailler sur une vaste collection; il ne transforme pas la réponse en vue en direct d’un système dont l’information actuelle n’a pas été fournie.</p><p>L’effort de réflexion est une commande continue allant de 0.0 inclusivement à moins de 1.0. Les préréglages de départ du fournisseur sont none 0.0, minimal 0.1, low 0.2, medium 0.7, high 0.9 et xhigh 0.99, avec high comme valeur par défaut du moteur de rendu. L’effort et le budget de jetons de génération sont indépendants. Un effort plus élevé peut favoriser plus de raisonnement et nécessiter plus d’espace avant la réponse finale, tandis que none oriente le modèle vers l’absence de raisonnement sans imposer de restriction stricte. Choisissez une valeur adaptée au travail et rendez explicites le livrable attendu et la condition d’achèvement.</p><p>L’entrée visuelle permet de décrire des images, de poser des questions sur leur contenu visible, d’interpréter des graphiques et des diagrammes et de faire du raisonnement mathématique visuel. Pour de bonnes performances, utilisez des dimensions d’image entre 40 et 4 096 pixels. Gardez lisibles les étiquettes et le contexte du diagramme pertinents. Inkling peut utiliser un outil Python configuré pour zoomer, recadrer ou examiner une image par programmation, en reliant les observations visuelles au raisonnement par code. Une réponse utile sur un graphique conserve les valeurs observées et montre comment elles appuient la conclusion, plutôt que de supposer qu’un recadrage ou un calcul a été fait simplement parce qu’il a été proposé.</p><p>L’entrée audio utilise WAV échantillonné à 16 kHz, et le fabricant recommande des enregistrements d’au plus 20 minutes pour des performances optimales. C’est une recommandation de préparation. Inkling peut transcrire la parole, suivre des consignes orales, répondre à des questions sur des enregistrements et raisonner sur des contenus audio plus longs. Fournissez l’enregistrement pertinent avec la question écrite et les références nécessaires à son interprétation. Un livrable de réunion peut séparer les faits énoncés oralement d’un résumé ou d’une interprétation ultérieure. Le modèle produit du texte; sa compréhension audio est donc distincte de la synthèse d’une réponse parlée.</p><p>Pour un travail fondé sur les outils, décrivez les opérations disponibles et leurs arguments, et conservez les observations réelles retournées par l’application. Un résultat de recherche peut fournir des éléments actuels; un calcul peut fournir le travail numérique; une opération de fichier peut établir le contenu examiné. L’action proposée par le modèle et le résultat exécuté sont des parties distinctes de la conversation. Gardez la réponse finale liée à ces observations, surtout lorsqu’elle propose une modification de code ou une prochaine étape de l’application.</p><p>Inkling a été entraîné pour la calibration et le suivi des consignes, y compris l’expression de l’incertitude lorsqu’une réponse n’est pas établie. Pour une prévision ou une analyse fondée sur des éléments de preuve, demandez les hypothèses, les éléments et les conditions non résolues dans le résultat écrit. Pour l’extraction, définissez la représentation d’une valeur absente plutôt que d’exiger que chaque champ contienne un fait inventé. Ces consignes rendent le résultat utile pour la vérification sans traiter la confiance ou un long raisonnement comme une preuve de justesse.</p><p>Les poids ouverts permettent l’ajustement fin et l’intégration en aval. Un modèle spécialisé est développé à partir d’exemples représentatifs et d’un comportement cible, tandis qu’une requête d’inférence ordinaire fournit du contexte pour la tâche actuelle. Le fournisseur présente la personnalisation comme un flux distinct; une réponse normale ne passe pas silencieusement à de nouveaux poids. Conservez les éléments d’origine et les contraintes demandées avec le livrable final pour qu’un suivi puisse réviser un fait, préciser la formulation ou examiner un autre chemin de code tout en gardant la cohérence du travail.</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 · OpenAI Chat</b> <code>POST /v1/chat/completions</code></summary><dl class=\"method-capabilities\"><div><dt>Entrée</dt><dd><code>text</code></dd></div><div><dt>Sortie</dt><dd><code>text</code></dd></div><div><dt>Contexte</dt><dd>1 048 576 tokens</dd></div><div><dt>Sortie maximale</dt><dd>262 144 tokens</dd></div><div><dt>Format de sortie</dt><dd>JSON</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Champ</th><th>Type</th><th>Exigence</th><th>Valeurs et limites</th><th>Par défaut</th></tr></thead><tbody><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Obligatoire</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span><div>thinkingmachines/inkling:free</div></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">messages</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>array</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Obligatoire</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">stream</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>boolean</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span><div>false</div></td><td data-cell-label=\"Par défaut\" data-default=\"known\"><span class=\"card-cell-label\">Par défaut</span>false</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">max_tokens</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>integer</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span><div>Minimum: 1</div><div>Maximum: 262 144</div></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">max_completion_tokens</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>integer</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span><div>Minimum: 1</div><div>Maximum: 262 144</div></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">n</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>integer</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span><div>Minimum: 1</div><div>Maximum: 128</div></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">temperature</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>number</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">top_p</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>number</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">seed</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>integer</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">stop</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code></code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">frequency_penalty</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>number</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">presence_penalty</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>number</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">user</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Paramètres et cycle de vie de la méthode</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Paramètre</th><th>Contrat</th></tr></thead><tbody><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>content_type</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>application/json</td></tr><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>required</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>model, messages</td></tr><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>optional</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>stream, max_tokens, max_completion_tokens, n, temperature, top_p, seed, stop, frequency_penalty, presence_penalty, user</td></tr><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>material_types</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>text</td></tr><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>conditions</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>Use literal text messages only. Cache controls, tools, image/audio/video content and streamed responses are unavailable for this method., The complete encoded JSON request must not exceed 1048576 bytes.</td></tr></tbody></table></div><p>Cycle de vie : <code>synchronous_json</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Tarifs</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Les tarifs n’ajoutent pas d’options de requête. Les paramètres pris en charge figurent dans la méthode sélectionnée.</p><dl data-price-conditions><dt>Mode rapide</dt><dd>Tarif standard <span class=\"note-s\">Lorsque le mode rapide est sélectionné</span></dd><dt>Mode Flex</dt><dd>Tarif standard <span class=\"note-s\">Lorsque le mode flex est sélectionné</span></dd><dt>Effort de raisonnement maximal</dt><dd>Tarif standard <span class=\"note-s\">Lorsque l’effort de raisonnement maximal utilise l’ajustement par défaut (default)</span></dd><dt>Tarification du cache explicite</dt><dd>Non activé <span class=\"note-s\">Lorsque la mise en cache explicite est demandée</span></dd><dt>Tarifs nuls pour le texte seulement</dt><dd>Text input and output only. Cache, tools, media and streaming are unavailable. <span class=\"note-s\">Pour des entrées et des sorties contenant seulement du texte</span></dd></dl></div><div data-declared-tariff-pricing><h4>Tarifs Ailoot</h4><h4>Prix par configuration</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Configuration</th><th>Barème tarifaire</th><th>Coût</th></tr></thead><tbody><tr><th data-cell-label=\"Configuration\" scope=\"row\"><span class=\"card-cell-label\">Configuration</span>Tarifs de base 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=\"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 · OpenAI Chat</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-62-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-62-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · créez une seule fois 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-62-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-62-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;thinkingmachines/inkling:free&quot;, &quot;messages&quot;: [{&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: &quot;Summarize the supplied text in three concise points.&quot;}], &quot;stream&quot;: false}&#39;)\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Recevoir et enregistrer les résultats</h3><h4>Ailoot Ultra · OpenAI Chat</h4><p class=\"note-s\">JSON</p><div class=\"card-result-process\" data-all-results><h5>Conserver tous les résultats terminés</h5><p class=\"note-s\">Conservez chaque réponse, fichier et partie de contenu renvoyés dans leur intégralité.</p><p class=\"note-s\">Retain the complete response, all actual results, original identifiers, usage and response headers.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Si la réponse d’origine doit être vérifiée</h5><p class=\"note-s\">Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.</p></div></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Alias</h3><h4>Alias du modèle</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=thinkingmachines%2Finkling%3Afree&amp;route=Ultra&amp;caller=thinkingmachines%2Finkling%3Afree&amp;fmt=chat\"><code>thinkingmachines/inkling: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=thinkingmachines%2Finkling%3Afree&amp;route=Ultra&amp;caller=thinkingmachines%2Finkling%3Afree&amp;fmt=chat\"><code>thinkingmachines/inkling:free</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "thinkingmachines/inkling:free",
        "fmt": "chat",
        "http": "POST",
        "path": "/v1/chat/completions",
        "request_model_id": "thinkingmachines/inkling:free",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|chat|/v1/chat/completions|thinkingmachines%2Finkling%3Afree",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "example_body": {
              "messages": [
                {
                  "content": "Summarize the supplied text in three concise points.",
                  "role": "user"
                }
              ],
              "model": "thinkingmachines/inkling:free",
              "stream": false
            },
            "lifecycle": {
              "cancel_endpoint": null,
              "create": {
                "http": "POST",
                "path": "/v1/chat/completions"
              },
              "mode": "synchronous_json",
              "status": [],
              "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
              "family": "text",
              "format": "JSON"
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "thinkingmachines/inkling:free"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "content": {
                      "type": "string"
                    },
                    "role": {
                      "enum": [
                        "user",
                        "assistant",
                        "system",
                        "developer"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "role",
                    "content"
                  ],
                  "type": "object"
                },
                "minItems": 1,
                "name": "messages",
                "required": true,
                "type": "array"
              },
              {
                "default": false,
                "default_known": true,
                "enum": [
                  false
                ],
                "enum_known": true,
                "name": "stream",
                "required": false,
                "type": "boolean"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maximum": 262144,
                "minimum": 1,
                "name": "max_tokens",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maximum": 262144,
                "minimum": 1,
                "name": "max_completion_tokens",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maximum": 128,
                "minimum": 1,
                "name": "n",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "top_p",
                "required": false,
                "type": "number"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "seed",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "stop",
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                ],
                "required": false
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "frequency_penalty",
                "required": false,
                "type": "number"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "presence_penalty",
                "required": false,
                "type": "number"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "string"
              }
            ],
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "frequency_penalty": {
                  "type": "number"
                },
                "max_completion_tokens": {
                  "maximum": 262144,
                  "minimum": 1,
                  "type": "integer"
                },
                "max_tokens": {
                  "maximum": 262144,
                  "minimum": 1,
                  "type": "integer"
                },
                "messages": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "content": {
                        "type": "string"
                      },
                      "role": {
                        "enum": [
                          "user",
                          "assistant",
                          "system",
                          "developer"
                        ],
                        "type": "string"
                      }
                    },
                    "required": [
                      "role",
                      "content"
                    ],
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "thinkingmachines/inkling:free"
                  ],
                  "type": "string"
                },
                "n": {
                  "maximum": 128,
                  "minimum": 1,
                  "type": "integer"
                },
                "presence_penalty": {
                  "type": "number"
                },
                "seed": {
                  "type": "integer"
                },
                "stop": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    }
                  ]
                },
                "stream": {
                  "default": false,
                  "enum": [
                    false
                  ],
                  "type": "boolean"
                },
                "temperature": {
                  "type": "number"
                },
                "top_p": {
                  "type": "number"
                },
                "user": {
                  "type": "string"
                }
              },
              "required": [
                "model",
                "messages"
              ],
              "type": "object"
            },
            "schema_template": {
              "body": {
                "messages": [
                  {
                    "content": "Summarize the supplied text in three concise points.",
                    "role": "user"
                  }
                ],
                "model": "thinkingmachines/inkling:free",
                "stream": false
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Use literal text messages only. Cache controls, tools, image/audio/video content and streamed responses are unavailable for this method.",
              "The complete encoded JSON request must not exceed 1048576 bytes."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [
              "stream",
              "max_tokens",
              "max_completion_tokens",
              "n",
              "temperature",
              "top_p",
              "seed",
              "stop",
              "frequency_penalty",
              "presence_penalty",
              "user"
            ],
            "required": [
              "model",
              "messages"
            ]
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "create": {
              "http": "POST",
              "path": "/v1/chat/completions"
            },
            "mode": "synchronous_json",
            "status": [],
            "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/chat/completions"
          },
          "method_aliases": [],
          "output": {
            "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
            "family": "text",
            "format": "JSON"
          }
        },
        "ctx": 1048576,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"thinkingmachines/inkling:free\", \"messages\": [{\"role\": \"user\", \"content\": \"Summarize the supplied text in three concise points.\"}], \"stream\": false}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n",
            "label": "curl · create once and retain the complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "chat",
        "hints": [
          "Send exact model ID with messages.",
          "Context length is not an output cap.",
          "A text file may supply literal text; image/audio/file-object inputs need exact binding."
        ],
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 0,
        "input": [
          "text"
        ],
        "label": "OpenAI Chat",
        "max_out": 262144,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 0,
        "output": [
          "text"
        ],
        "path": "/v1/chat/completions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Standard rate",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Standard rate",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Standard rate",
            "when": "When maximum reasoning effort uses the default adjustment"
          },
          {
            "label": "Explicit cache pricing",
            "value": "Not enabled",
            "when": "When explicit cache is requested"
          },
          {
            "label": "Text-only zero rates",
            "value": "Text input and output only. Cache, tools, media and streaming are unavailable.",
            "when": "For text-only input and output"
          }
        ],
        "pricing": {
          "allow_explicit_cache": false,
          "billing_mode": "token",
          "cache_read_price": null,
          "cache_write_1h_price": null,
          "cache_write_price": null,
          "fast_multiplier": 1,
          "flex_multiplier": 1,
          "image_input_price": null,
          "image_output_price": null,
          "input_price": 0,
          "intervals": [],
          "max_reasoning_effort_multiplier": 1,
          "output_price": 0,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "thinkingmachines/inkling:free",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "unit": "token",
        "units": [
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    },
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Thinking Machines: Inkling (free)</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Fermer\">×</button></div><div class=\"idline\"><span>Thinking Machines /</span><code>thinkingmachines/inkling: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=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-0\" data-card-method=\"Ultra|chat|/v1/chat/completions|thinkingmachines%2Finkling%3Afree\">Chat</button><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-1\" data-card-method=\"Ultra|messages|/v1/messages|thinkingmachines%2Finkling%3Afree\">Messages</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-1\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Pour commencer</h3><p class=\"mdesc-full\">Inkling est un modèle multimodal à poids ouverts pour le raisonnement général, le code et l’utilisation agentique d’outils. Il combine texte, images et audio dans un vaste contexte, avec un effort de réflexion réglable et des sorties écrites pour l’analyse de sources, le code et les applications conversationnelles.</p><dl class=\"card-io\" data-card-io><div><dt>Entrées acceptées</dt><dd>Texte</dd></div><div><dt>Résultats</dt><dd>Texte</dd></div></dl><details class=\"card-about\"><summary>À propos du modèle</summary><p class=\"note-s\" data-model-method-boundary>Cette description présente les capacités du modèle. Les entrées, sorties et options disponibles dans Ailoot pour la méthode sélectionnée figurent ci-dessous.</p><div class=\"mabout\" id=\"m-about\"><p>Inkling est le modèle multimodal à poids ouverts de Thinking Machines Lab pour le raisonnement, le code, la conversation et les applications agentiques. Il accepte du texte, des images et de l’audio et retourne du texte. Sa conception à mélange d’experts compte 975 milliards de paramètres au total, dont 41 milliards actifs, ce qui en fait le plus grand modèle de la famille. Inkling-Small est un modèle distinct de 276 milliards de paramètres, dont 12 milliards actifs, plutôt qu’un réglage qui modifie la longueur des réponses d’Inkling.</p><p>Pour une tâche de programmation importante, fournissez le contenu pertinent du dépôt, le comportement observé et le résultat souhaité. Demandez au modèle de retracer le chemin responsable, de proposer une modification et de rapporter les éléments issus des vérifications réellement exécutées dans l’environnement connecté. Pour une comparaison de documents, étiquetez les sections sources et demandez les différences pertinentes, les éléments à l’appui et toute question sans réponse. Les applications visées comprennent les assistants de code, les agents conversationnels, la génération augmentée par récupération et les agents utilisant des outils, avec un résultat final adapté à l’application qui le consomme.</p><p>Inkling prend en charge jusqu’à un million de jetons de contexte. Utilisez cet espace pour réunir un contenu source substantiel et les faits importants de la conversation, en l’organisant autour d’une question précise. Distinguez les faits sources des hypothèses et laissez de la place pour le livrable écrit complet. Le contexte élargi permet de travailler sur une vaste collection; il ne transforme pas la réponse en vue en direct d’un système dont l’information actuelle n’a pas été fournie.</p><p>L’effort de réflexion est une commande continue allant de 0.0 inclusivement à moins de 1.0. Les préréglages de départ du fournisseur sont none 0.0, minimal 0.1, low 0.2, medium 0.7, high 0.9 et xhigh 0.99, avec high comme valeur par défaut du moteur de rendu. L’effort et le budget de jetons de génération sont indépendants. Un effort plus élevé peut favoriser plus de raisonnement et nécessiter plus d’espace avant la réponse finale, tandis que none oriente le modèle vers l’absence de raisonnement sans imposer de restriction stricte. Choisissez une valeur adaptée au travail et rendez explicites le livrable attendu et la condition d’achèvement.</p><p>L’entrée visuelle permet de décrire des images, de poser des questions sur leur contenu visible, d’interpréter des graphiques et des diagrammes et de faire du raisonnement mathématique visuel. Pour de bonnes performances, utilisez des dimensions d’image entre 40 et 4 096 pixels. Gardez lisibles les étiquettes et le contexte du diagramme pertinents. Inkling peut utiliser un outil Python configuré pour zoomer, recadrer ou examiner une image par programmation, en reliant les observations visuelles au raisonnement par code. Une réponse utile sur un graphique conserve les valeurs observées et montre comment elles appuient la conclusion, plutôt que de supposer qu’un recadrage ou un calcul a été fait simplement parce qu’il a été proposé.</p><p>L’entrée audio utilise WAV échantillonné à 16 kHz, et le fabricant recommande des enregistrements d’au plus 20 minutes pour des performances optimales. C’est une recommandation de préparation. Inkling peut transcrire la parole, suivre des consignes orales, répondre à des questions sur des enregistrements et raisonner sur des contenus audio plus longs. Fournissez l’enregistrement pertinent avec la question écrite et les références nécessaires à son interprétation. Un livrable de réunion peut séparer les faits énoncés oralement d’un résumé ou d’une interprétation ultérieure. Le modèle produit du texte; sa compréhension audio est donc distincte de la synthèse d’une réponse parlée.</p><p>Pour un travail fondé sur les outils, décrivez les opérations disponibles et leurs arguments, et conservez les observations réelles retournées par l’application. Un résultat de recherche peut fournir des éléments actuels; un calcul peut fournir le travail numérique; une opération de fichier peut établir le contenu examiné. L’action proposée par le modèle et le résultat exécuté sont des parties distinctes de la conversation. Gardez la réponse finale liée à ces observations, surtout lorsqu’elle propose une modification de code ou une prochaine étape de l’application.</p><p>Inkling a été entraîné pour la calibration et le suivi des consignes, y compris l’expression de l’incertitude lorsqu’une réponse n’est pas établie. Pour une prévision ou une analyse fondée sur des éléments de preuve, demandez les hypothèses, les éléments et les conditions non résolues dans le résultat écrit. Pour l’extraction, définissez la représentation d’une valeur absente plutôt que d’exiger que chaque champ contienne un fait inventé. Ces consignes rendent le résultat utile pour la vérification sans traiter la confiance ou un long raisonnement comme une preuve de justesse.</p><p>Les poids ouverts permettent l’ajustement fin et l’intégration en aval. Un modèle spécialisé est développé à partir d’exemples représentatifs et d’un comportement cible, tandis qu’une requête d’inférence ordinaire fournit du contexte pour la tâche actuelle. Le fournisseur présente la personnalisation comme un flux distinct; une réponse normale ne passe pas silencieusement à de nouveaux poids. Conservez les éléments d’origine et les contraintes demandées avec le livrable final pour qu’un suivi puisse réviser un fait, préciser la formulation ou examiner un autre chemin de code tout en gardant la cohérence du travail.</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 · Anthropic Messages</b> <code>POST /v1/messages</code></summary><dl class=\"method-capabilities\"><div><dt>Entrée</dt><dd><code>text</code></dd></div><div><dt>Sortie</dt><dd><code>text</code></dd></div><div><dt>Contexte</dt><dd>1 048 576 tokens</dd></div><div><dt>Sortie maximale</dt><dd>262 144 tokens</dd></div><div><dt>Format de sortie</dt><dd>JSON</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Champ</th><th>Type</th><th>Exigence</th><th>Valeurs et limites</th><th>Par défaut</th></tr></thead><tbody><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Obligatoire</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span><div>thinkingmachines/inkling:free</div></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">messages</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>array</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Obligatoire</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">stream</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>boolean</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span><div>false</div></td><td data-cell-label=\"Par défaut\" data-default=\"known\"><span class=\"card-cell-label\">Par défaut</span>false</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">system</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>string</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">max_tokens</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>integer</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Obligatoire</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span><div>Minimum: 1</div><div>Maximum: 262 144</div></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">temperature</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>number</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">top_p</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>number</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">top_k</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>integer</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">stop_sequences</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>array</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr><tr><th data-cell-label=\"Champ\" scope=\"row\"><span class=\"card-cell-label\">Champ</span><code class=\"card-field-name\">metadata</code></th><td data-cell-label=\"Type\" data-field-type><span class=\"card-cell-label\">Type</span><code>object</code></td><td data-cell-label=\"Exigence\"><span class=\"card-cell-label\">Exigence</span>Facultatif</td><td data-cell-label=\"Valeurs et limites\"><span class=\"card-cell-label\">Valeurs et limites</span></td><td data-cell-label=\"Par défaut\" data-default=\"unspecified\"><span class=\"card-cell-label\">Par défaut</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Paramètres et cycle de vie de la méthode</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Paramètre</th><th>Contrat</th></tr></thead><tbody><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>content_type</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>application/json</td></tr><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>required</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>model, messages, max_tokens</td></tr><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>optional</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>stream, system, temperature, top_p, top_k, stop_sequences, metadata</td></tr><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>material_types</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>text</td></tr><tr><th data-cell-label=\"Paramètre\" scope=\"row\"><span class=\"card-cell-label\">Paramètre</span><code>conditions</code></th><td data-cell-label=\"Contrat\"><span class=\"card-cell-label\">Contrat</span>Use literal text messages only. Cache controls, tools, image/audio/video content and streamed responses are unavailable for this method., The complete encoded JSON request must not exceed 1048576 bytes.</td></tr></tbody></table></div><p>Cycle de vie : <code>synchronous_json</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Tarifs</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Les tarifs n’ajoutent pas d’options de requête. Les paramètres pris en charge figurent dans la méthode sélectionnée.</p><dl data-price-conditions><dt>Mode rapide</dt><dd>Tarif standard <span class=\"note-s\">Lorsque le mode rapide est sélectionné</span></dd><dt>Mode Flex</dt><dd>Tarif standard <span class=\"note-s\">Lorsque le mode flex est sélectionné</span></dd><dt>Effort de raisonnement maximal</dt><dd>Tarif standard <span class=\"note-s\">Lorsque l’effort de raisonnement maximal utilise l’ajustement par défaut (default)</span></dd><dt>Tarifs nuls pour le texte seulement</dt><dd>Text input and output only. Cache, tools, media and streaming are unavailable. <span class=\"note-s\">Pour des entrées et des sorties contenant seulement du texte</span></dd></dl></div><div data-declared-tariff-pricing><h4>Tarifs Ailoot</h4><h4>Prix par configuration</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Configuration</th><th>Barème tarifaire</th><th>Coût</th></tr></thead><tbody><tr><th data-cell-label=\"Configuration\" scope=\"row\"><span class=\"card-cell-label\">Configuration</span>Tarifs de base 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=\"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 · Anthropic Messages</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-63-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-63-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · créez une seule fois 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-63-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-63-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;thinkingmachines/inkling:free&quot;, &quot;messages&quot;: [{&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: &quot;Summarize the supplied text in three concise points.&quot;}], &quot;stream&quot;: false, &quot;max_tokens&quot;: 256}&#39;)\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Recevoir et enregistrer les résultats</h3><h4>Ailoot Ultra · Anthropic Messages</h4><p class=\"note-s\">JSON</p><div class=\"card-result-process\" data-all-results><h5>Conserver tous les résultats terminés</h5><p class=\"note-s\">Conservez chaque réponse, fichier et partie de contenu renvoyés dans leur intégralité.</p><p class=\"note-s\">Retain the complete response, all actual results, original identifiers, usage and response headers.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Si la réponse d’origine doit être vérifiée</h5><p class=\"note-s\">Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.</p></div></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Alias</h3><h4>Alias du modèle</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=thinkingmachines%2Finkling%3Afree&amp;route=Ultra&amp;caller=thinkingmachines%2Finkling%3Afree&amp;fmt=messages\"><code>thinkingmachines/inkling: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=thinkingmachines%2Finkling%3Afree&amp;route=Ultra&amp;caller=thinkingmachines%2Finkling%3Afree&amp;fmt=messages\"><code>thinkingmachines/inkling:free</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "thinkingmachines/inkling:free",
        "fmt": "messages",
        "http": "POST",
        "path": "/v1/messages",
        "request_model_id": "thinkingmachines/inkling:free",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|messages|/v1/messages|thinkingmachines%2Finkling%3Afree",
      "ordinal": 1,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "example_body": {
              "max_tokens": 256,
              "messages": [
                {
                  "content": "Summarize the supplied text in three concise points.",
                  "role": "user"
                }
              ],
              "model": "thinkingmachines/inkling:free",
              "stream": false
            },
            "lifecycle": {
              "cancel_endpoint": null,
              "create": {
                "http": "POST",
                "path": "/v1/messages"
              },
              "mode": "synchronous_json",
              "status": [],
              "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
              "family": "text",
              "format": "JSON"
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "thinkingmachines/inkling:free"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "content": {
                      "type": "string"
                    },
                    "role": {
                      "enum": [
                        "user",
                        "assistant"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "role",
                    "content"
                  ],
                  "type": "object"
                },
                "minItems": 1,
                "name": "messages",
                "required": true,
                "type": "array"
              },
              {
                "default": false,
                "default_known": true,
                "enum": [
                  false
                ],
                "enum_known": true,
                "name": "stream",
                "required": false,
                "type": "boolean"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "system",
                "required": false,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maximum": 262144,
                "minimum": 1,
                "name": "max_tokens",
                "required": true,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "top_p",
                "required": false,
                "type": "number"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "top_k",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum_known": false,
                "items": {
                  "type": "string"
                },
                "name": "stop_sequences",
                "required": false,
                "type": "array"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "metadata",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "max_tokens": {
                  "maximum": 262144,
                  "minimum": 1,
                  "type": "integer"
                },
                "messages": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "content": {
                        "type": "string"
                      },
                      "role": {
                        "enum": [
                          "user",
                          "assistant"
                        ],
                        "type": "string"
                      }
                    },
                    "required": [
                      "role",
                      "content"
                    ],
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                },
                "metadata": {
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "thinkingmachines/inkling:free"
                  ],
                  "type": "string"
                },
                "stop_sequences": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "stream": {
                  "default": false,
                  "enum": [
                    false
                  ],
                  "type": "boolean"
                },
                "system": {
                  "type": "string"
                },
                "temperature": {
                  "type": "number"
                },
                "top_k": {
                  "type": "integer"
                },
                "top_p": {
                  "type": "number"
                }
              },
              "required": [
                "model",
                "messages",
                "max_tokens"
              ],
              "type": "object"
            },
            "schema_template": {
              "body": {
                "max_tokens": 256,
                "messages": [
                  {
                    "content": "Summarize the supplied text in three concise points.",
                    "role": "user"
                  }
                ],
                "model": "thinkingmachines/inkling:free",
                "stream": false
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Use literal text messages only. Cache controls, tools, image/audio/video content and streamed responses are unavailable for this method.",
              "The complete encoded JSON request must not exceed 1048576 bytes."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [
              "stream",
              "system",
              "temperature",
              "top_p",
              "top_k",
              "stop_sequences",
              "metadata"
            ],
            "required": [
              "model",
              "messages",
              "max_tokens"
            ]
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "create": {
              "http": "POST",
              "path": "/v1/messages"
            },
            "mode": "synchronous_json",
            "status": [],
            "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/messages"
          },
          "method_aliases": [],
          "output": {
            "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
            "family": "text",
            "format": "JSON"
          }
        },
        "ctx": 1048576,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"thinkingmachines/inkling:free\", \"messages\": [{\"role\": \"user\", \"content\": \"Summarize the supplied text in three concise points.\"}], \"stream\": false, \"max_tokens\": 256}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n",
            "label": "curl · create once and retain the complete result",
            "language": "bash"
          }
        ],
        "family": "anthropic",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "messages",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 0,
        "input": [
          "text"
        ],
        "label": "Anthropic Messages",
        "max_out": 262144,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 0,
        "output": [
          "text"
        ],
        "path": "/v1/messages",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Standard rate",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Standard rate",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Standard rate",
            "when": "When maximum reasoning effort uses the default adjustment"
          },
          {
            "label": "Text-only zero rates",
            "value": "Text input and output only. Cache, tools, media and streaming are unavailable.",
            "when": "For text-only input and output"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "cache_read_price": null,
          "cache_write_1h_price": null,
          "cache_write_price": null,
          "fast_multiplier": 1,
          "flex_multiplier": 1,
          "image_input_price": null,
          "image_output_price": null,
          "input_price": 0,
          "intervals": [],
          "max_reasoning_effort_multiplier": 1,
          "output_price": 0,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "thinkingmachines/inkling:free",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "unit": "token",
        "units": [
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    }
  ],
  "model_id": "thinkingmachines/inkling:free",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "cb07c1fec9327e7d26b59251512ece2ba642dafb90d683511eb431d94e1ac4c4",
    "input_html_sha256": "cc279a11c7bafb642d6bfcc0ee3feb85f74136d600ed5ad2ed40c6508b742197",
    "private_audit_sha256": "3ae91a8a931903d2ecd27d004e31c97ebcb7d9d4ab7cd0b6b2724b7ea8c63535",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/fr-ca/thinkingmachines-inkling-u003a-free/",
    "description": "Inkling est un modèle multimodal à poids ouverts pour le raisonnement général, le code et l’utilisation agentique d’outils. Il combine texte, images et audio dans un vaste contexte, avec un effort de réflexion réglable et des sorties écrites pour l’analyse de sources, le code et les applications conversationnelles.",
    "locale": "fr-ca",
    "md_url": "https://ailoot.ai/models/fr-ca/thinkingmachines-inkling-u003a-free/index.md",
    "title": "Thinking Machines: Inkling (free) — Ailoot",
    "url": "https://ailoot.ai/models/fr-ca/thinkingmachines-inkling-u003a-free/"
  },
  "rawModel": {
    "about": "Inkling est le modèle multimodal à poids ouverts de Thinking Machines Lab pour le raisonnement, le code, la conversation et les applications agentiques. Il accepte du texte, des images et de l’audio et retourne du texte. Sa conception à mélange d’experts compte 975 milliards de paramètres au total, dont 41 milliards actifs, ce qui en fait le plus grand modèle de la famille. Inkling-Small est un modèle distinct de 276 milliards de paramètres, dont 12 milliards actifs, plutôt qu’un réglage qui modifie la longueur des réponses d’Inkling.\n\nPour une tâche de programmation importante, fournissez le contenu pertinent du dépôt, le comportement observé et le résultat souhaité. Demandez au modèle de retracer le chemin responsable, de proposer une modification et de rapporter les éléments issus des vérifications réellement exécutées dans l’environnement connecté. Pour une comparaison de documents, étiquetez les sections sources et demandez les différences pertinentes, les éléments à l’appui et toute question sans réponse. Les applications visées comprennent les assistants de code, les agents conversationnels, la génération augmentée par récupération et les agents utilisant des outils, avec un résultat final adapté à l’application qui le consomme.\n\nInkling prend en charge jusqu’à un million de jetons de contexte. Utilisez cet espace pour réunir un contenu source substantiel et les faits importants de la conversation, en l’organisant autour d’une question précise. Distinguez les faits sources des hypothèses et laissez de la place pour le livrable écrit complet. Le contexte élargi permet de travailler sur une vaste collection; il ne transforme pas la réponse en vue en direct d’un système dont l’information actuelle n’a pas été fournie.\n\nL’effort de réflexion est une commande continue allant de 0.0 inclusivement à moins de 1.0. Les préréglages de départ du fournisseur sont none 0.0, minimal 0.1, low 0.2, medium 0.7, high 0.9 et xhigh 0.99, avec high comme valeur par défaut du moteur de rendu. L’effort et le budget de jetons de génération sont indépendants. Un effort plus élevé peut favoriser plus de raisonnement et nécessiter plus d’espace avant la réponse finale, tandis que none oriente le modèle vers l’absence de raisonnement sans imposer de restriction stricte. Choisissez une valeur adaptée au travail et rendez explicites le livrable attendu et la condition d’achèvement.\n\nL’entrée visuelle permet de décrire des images, de poser des questions sur leur contenu visible, d’interpréter des graphiques et des diagrammes et de faire du raisonnement mathématique visuel. Pour de bonnes performances, utilisez des dimensions d’image entre 40 et 4 096 pixels. Gardez lisibles les étiquettes et le contexte du diagramme pertinents. Inkling peut utiliser un outil Python configuré pour zoomer, recadrer ou examiner une image par programmation, en reliant les observations visuelles au raisonnement par code. Une réponse utile sur un graphique conserve les valeurs observées et montre comment elles appuient la conclusion, plutôt que de supposer qu’un recadrage ou un calcul a été fait simplement parce qu’il a été proposé.\n\nL’entrée audio utilise WAV échantillonné à 16 kHz, et le fabricant recommande des enregistrements d’au plus 20 minutes pour des performances optimales. C’est une recommandation de préparation. Inkling peut transcrire la parole, suivre des consignes orales, répondre à des questions sur des enregistrements et raisonner sur des contenus audio plus longs. Fournissez l’enregistrement pertinent avec la question écrite et les références nécessaires à son interprétation. Un livrable de réunion peut séparer les faits énoncés oralement d’un résumé ou d’une interprétation ultérieure. Le modèle produit du texte; sa compréhension audio est donc distincte de la synthèse d’une réponse parlée.\n\nPour un travail fondé sur les outils, décrivez les opérations disponibles et leurs arguments, et conservez les observations réelles retournées par l’application. Un résultat de recherche peut fournir des éléments actuels; un calcul peut fournir le travail numérique; une opération de fichier peut établir le contenu examiné. L’action proposée par le modèle et le résultat exécuté sont des parties distinctes de la conversation. Gardez la réponse finale liée à ces observations, surtout lorsqu’elle propose une modification de code ou une prochaine étape de l’application.\n\nInkling a été entraîné pour la calibration et le suivi des consignes, y compris l’expression de l’incertitude lorsqu’une réponse n’est pas établie. Pour une prévision ou une analyse fondée sur des éléments de preuve, demandez les hypothèses, les éléments et les conditions non résolues dans le résultat écrit. Pour l’extraction, définissez la représentation d’une valeur absente plutôt que d’exiger que chaque champ contienne un fait inventé. Ces consignes rendent le résultat utile pour la vérification sans traiter la confiance ou un long raisonnement comme une preuve de justesse.\n\nLes poids ouverts permettent l’ajustement fin et l’intégration en aval. Un modèle spécialisé est développé à partir d’exemples représentatifs et d’un comportement cible, tandis qu’une requête d’inférence ordinaire fournit du contexte pour la tâche actuelle. Le fournisseur présente la personnalisation comme un flux distinct; une réponse normale ne passe pas silencieusement à de nouveaux poids. Conservez les éléments d’origine et les contraintes demandées avec le livrable final pour qu’un suivi puisse réviser un fait, préciser la formulation ou examiner un autre chemin de code tout en gardant la cohérence du travail.",
    "alias_of": null,
    "aliases": [],
    "author": "Thinking Machines",
    "capabilities": {
      "context_length": 1048576,
      "manufacturer_input": [
        "text",
        "image",
        "audio"
      ],
      "manufacturer_output": [
        "text"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ],
        "summary": "La tarification complète de la configuration figure dans les détails."
      }
    ],
    "ctx": null,
    "formats": [
      "chat",
      "messages"
    ],
    "id": "thinkingmachines/inkling:free",
    "input": [
      "text"
    ],
    "kind": "text",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "example_body": {
              "messages": [
                {
                  "content": "Summarize the supplied text in three concise points.",
                  "role": "user"
                }
              ],
              "model": "thinkingmachines/inkling:free",
              "stream": false
            },
            "lifecycle": {
              "cancel_endpoint": null,
              "create": {
                "http": "POST",
                "path": "/v1/chat/completions"
              },
              "mode": "synchronous_json",
              "status": [],
              "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
              "family": "text",
              "format": "JSON"
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "thinkingmachines/inkling:free"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "content": {
                      "type": "string"
                    },
                    "role": {
                      "enum": [
                        "user",
                        "assistant",
                        "system",
                        "developer"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "role",
                    "content"
                  ],
                  "type": "object"
                },
                "minItems": 1,
                "name": "messages",
                "required": true,
                "type": "array"
              },
              {
                "default": false,
                "default_known": true,
                "enum": [
                  false
                ],
                "enum_known": true,
                "name": "stream",
                "required": false,
                "type": "boolean"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maximum": 262144,
                "minimum": 1,
                "name": "max_tokens",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maximum": 262144,
                "minimum": 1,
                "name": "max_completion_tokens",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maximum": 128,
                "minimum": 1,
                "name": "n",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "top_p",
                "required": false,
                "type": "number"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "seed",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "stop",
                "oneOf": [
                  {
                    "type": "string"
                  },
                  {
                    "items": {
                      "type": "string"
                    },
                    "type": "array"
                  }
                ],
                "required": false
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "frequency_penalty",
                "required": false,
                "type": "number"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "presence_penalty",
                "required": false,
                "type": "number"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "user",
                "required": false,
                "type": "string"
              }
            ],
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "frequency_penalty": {
                  "type": "number"
                },
                "max_completion_tokens": {
                  "maximum": 262144,
                  "minimum": 1,
                  "type": "integer"
                },
                "max_tokens": {
                  "maximum": 262144,
                  "minimum": 1,
                  "type": "integer"
                },
                "messages": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "content": {
                        "type": "string"
                      },
                      "role": {
                        "enum": [
                          "user",
                          "assistant",
                          "system",
                          "developer"
                        ],
                        "type": "string"
                      }
                    },
                    "required": [
                      "role",
                      "content"
                    ],
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "thinkingmachines/inkling:free"
                  ],
                  "type": "string"
                },
                "n": {
                  "maximum": 128,
                  "minimum": 1,
                  "type": "integer"
                },
                "presence_penalty": {
                  "type": "number"
                },
                "seed": {
                  "type": "integer"
                },
                "stop": {
                  "oneOf": [
                    {
                      "type": "string"
                    },
                    {
                      "items": {
                        "type": "string"
                      },
                      "type": "array"
                    }
                  ]
                },
                "stream": {
                  "default": false,
                  "enum": [
                    false
                  ],
                  "type": "boolean"
                },
                "temperature": {
                  "type": "number"
                },
                "top_p": {
                  "type": "number"
                },
                "user": {
                  "type": "string"
                }
              },
              "required": [
                "model",
                "messages"
              ],
              "type": "object"
            },
            "schema_template": {
              "body": {
                "messages": [
                  {
                    "content": "Summarize the supplied text in three concise points.",
                    "role": "user"
                  }
                ],
                "model": "thinkingmachines/inkling:free",
                "stream": false
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Use literal text messages only. Cache controls, tools, image/audio/video content and streamed responses are unavailable for this method.",
              "The complete encoded JSON request must not exceed 1048576 bytes."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [
              "stream",
              "max_tokens",
              "max_completion_tokens",
              "n",
              "temperature",
              "top_p",
              "seed",
              "stop",
              "frequency_penalty",
              "presence_penalty",
              "user"
            ],
            "required": [
              "model",
              "messages"
            ]
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "create": {
              "http": "POST",
              "path": "/v1/chat/completions"
            },
            "mode": "synchronous_json",
            "status": [],
            "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/chat/completions"
          },
          "method_aliases": [],
          "output": {
            "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
            "family": "text",
            "format": "JSON"
          }
        },
        "ctx": 1048576,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"thinkingmachines/inkling:free\", \"messages\": [{\"role\": \"user\", \"content\": \"Summarize the supplied text in three concise points.\"}], \"stream\": false}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n",
            "label": "curl · create once and retain the complete result",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "chat",
        "hints": [
          "Send exact model ID with messages.",
          "Context length is not an output cap.",
          "A text file may supply literal text; image/audio/file-object inputs need exact binding."
        ],
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 0,
        "input": [
          "text"
        ],
        "label": "OpenAI Chat",
        "max_out": 262144,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 0,
        "output": [
          "text"
        ],
        "path": "/v1/chat/completions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Standard rate",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Standard rate",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Standard rate",
            "when": "When maximum reasoning effort uses the default adjustment"
          },
          {
            "label": "Explicit cache pricing",
            "value": "Not enabled",
            "when": "When explicit cache is requested"
          },
          {
            "label": "Text-only zero rates",
            "value": "Text input and output only. Cache, tools, media and streaming are unavailable.",
            "when": "For text-only input and output"
          }
        ],
        "pricing": {
          "allow_explicit_cache": false,
          "billing_mode": "token",
          "cache_read_price": null,
          "cache_write_1h_price": null,
          "cache_write_price": null,
          "fast_multiplier": 1,
          "flex_multiplier": 1,
          "image_input_price": null,
          "image_output_price": null,
          "input_price": 0,
          "intervals": [],
          "max_reasoning_effort_multiplier": 1,
          "output_price": 0,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "thinkingmachines/inkling:free",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "unit": "token",
        "units": [
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      },
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "example_body": {
              "max_tokens": 256,
              "messages": [
                {
                  "content": "Summarize the supplied text in three concise points.",
                  "role": "user"
                }
              ],
              "model": "thinkingmachines/inkling:free",
              "stream": false
            },
            "lifecycle": {
              "cancel_endpoint": null,
              "create": {
                "http": "POST",
                "path": "/v1/messages"
              },
              "mode": "synchronous_json",
              "status": [],
              "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
              "unknown_no_replay": true
            },
            "outputs": {
              "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
              "family": "text",
              "format": "JSON"
            },
            "parameters": [
              {
                "default_known": false,
                "enum": [
                  "thinkingmachines/inkling:free"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "content": {
                      "type": "string"
                    },
                    "role": {
                      "enum": [
                        "user",
                        "assistant"
                      ],
                      "type": "string"
                    }
                  },
                  "required": [
                    "role",
                    "content"
                  ],
                  "type": "object"
                },
                "minItems": 1,
                "name": "messages",
                "required": true,
                "type": "array"
              },
              {
                "default": false,
                "default_known": true,
                "enum": [
                  false
                ],
                "enum_known": true,
                "name": "stream",
                "required": false,
                "type": "boolean"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "system",
                "required": false,
                "type": "string"
              },
              {
                "default_known": false,
                "enum_known": false,
                "maximum": 262144,
                "minimum": 1,
                "name": "max_tokens",
                "required": true,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "top_p",
                "required": false,
                "type": "number"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "top_k",
                "required": false,
                "type": "integer"
              },
              {
                "default_known": false,
                "enum_known": false,
                "items": {
                  "type": "string"
                },
                "name": "stop_sequences",
                "required": false,
                "type": "array"
              },
              {
                "default_known": false,
                "enum_known": false,
                "name": "metadata",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "max_tokens": {
                  "maximum": 262144,
                  "minimum": 1,
                  "type": "integer"
                },
                "messages": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "content": {
                        "type": "string"
                      },
                      "role": {
                        "enum": [
                          "user",
                          "assistant"
                        ],
                        "type": "string"
                      }
                    },
                    "required": [
                      "role",
                      "content"
                    ],
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                },
                "metadata": {
                  "type": "object"
                },
                "model": {
                  "enum": [
                    "thinkingmachines/inkling:free"
                  ],
                  "type": "string"
                },
                "stop_sequences": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "stream": {
                  "default": false,
                  "enum": [
                    false
                  ],
                  "type": "boolean"
                },
                "system": {
                  "type": "string"
                },
                "temperature": {
                  "type": "number"
                },
                "top_k": {
                  "type": "integer"
                },
                "top_p": {
                  "type": "number"
                }
              },
              "required": [
                "model",
                "messages",
                "max_tokens"
              ],
              "type": "object"
            },
            "schema_template": {
              "body": {
                "max_tokens": 256,
                "messages": [
                  {
                    "content": "Summarize the supplied text in three concise points.",
                    "role": "user"
                  }
                ],
                "model": "thinkingmachines/inkling:free",
                "stream": false
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "conditions": [
              "Use literal text messages only. Cache controls, tools, image/audio/video content and streamed responses are unavailable for this method.",
              "The complete encoded JSON request must not exceed 1048576 bytes."
            ],
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional": [
              "stream",
              "system",
              "temperature",
              "top_p",
              "top_k",
              "stop_sequences",
              "metadata"
            ],
            "required": [
              "model",
              "messages",
              "max_tokens"
            ]
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "create": {
              "http": "POST",
              "path": "/v1/messages"
            },
            "mode": "synchronous_json",
            "status": [],
            "unknown": "Preserve the original response, headers and X-Client-Request-ID. An uncertain outcome does not authorize another creation.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/messages"
          },
          "method_aliases": [],
          "output": {
            "all_results": "Retain the complete response, all actual results, original identifiers, usage and response headers.",
            "family": "text",
            "format": "JSON"
          }
        },
        "ctx": 1048576,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"thinkingmachines/inkling:free\", \"messages\": [{\"role\": \"user\", \"content\": \"Summarize the supplied text in three concise points.\"}], \"stream\": false, \"max_tokens\": 256}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n# Submit once. Retain the complete result, original identifiers and every response header.\n",
            "label": "curl · create once and retain the complete result",
            "language": "bash"
          }
        ],
        "family": "anthropic",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "fmt": "messages",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": 0,
        "input": [
          "text"
        ],
        "label": "Anthropic Messages",
        "max_out": 262144,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 0,
        "output": [
          "text"
        ],
        "path": "/v1/messages",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Standard rate",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Standard rate",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Standard rate",
            "when": "When maximum reasoning effort uses the default adjustment"
          },
          {
            "label": "Text-only zero rates",
            "value": "Text input and output only. Cache, tools, media and streaming are unavailable.",
            "when": "For text-only input and output"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "cache_read_price": null,
          "cache_write_1h_price": null,
          "cache_write_price": null,
          "fast_multiplier": 1,
          "flex_multiplier": 1,
          "image_input_price": null,
          "image_output_price": null,
          "input_price": 0,
          "intervals": [],
          "max_reasoning_effort_multiplier": 1,
          "output_price": 0,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "thinkingmachines/inkling:free",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "unit": "token",
        "units": [
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "thinkingmachines/inkling:free",
        "request_model_id": "thinkingmachines/inkling:free",
        "route_label": "Ultra"
      }
    ],
    "name": "Thinking Machines: Inkling (free)",
    "price": {
      "in": 0,
      "in_label": null,
      "out": 0,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0,
      "sort_out": 0,
      "varies": true
    },
    "short": "Inkling est un modèle multimodal à poids ouverts pour le raisonnement général, le code et l’utilisation agentique d’outils. Il combine texte, images et audio dans un vaste contexte, avec un effort de réflexion réglable et des sorties écrites pour l’analyse de sources, le code et les applications conversationnelles."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        },
        {
          "contract_json_pointer": "/methods/1/rawMethod/contract",
          "html_json_pointer": "/methods/1/html",
          "method_ordinal": 1
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod",
        "/methods/1/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Inkling est un modèle multimodal à poids ouverts pour le raisonnement général, le code et l’utilisation agentique d’outils. Il combine texte, images et audio dans un vaste contexte, avec un effort de réflexion réglable et des sorties écrites pour l’analyse de sources, le code et les applications conversationnelles.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "460439f70f018b0d91e3424cd7eec6c3cba40c8237a583150e4313d1753857c7",
    "renderer_sha256": "98cb81b9c4ef4923c22e586170e7cdf67056351148a1666fb03dd6a4a26716a3"
  },
  "sourceRevision": "2124fa953c1d74fd2f0651055881cabbfba4feb540257f6235e7617fad41c6d0"
}
