Documentation
Ce que la mesure rend, et ce qu’elle coûte
Branche ton code sur la bande, traite les abstentions et les codes à réessayer, et vois le coût avant d’appeler, sans débit si rien n’est rendu.
Brancher ton code sur la bande
Quand le moteur tranche, la réponse porte probability, puis band : signature, plausible, ambiguous ou foreign. C'est la clé sur laquelle brancher ton code. label dit la même bande en mots, toujours en français, pour l'afficher. Ces mots ont changé le 12/10/2026, la clé non.
band | label sur q1 | label sur q2 |
|---|---|---|
signature | Signe cette voix | Signe cette voix |
plausible | Plausiblement cette voix | Plausiblement cette voix |
ambiguous | Ambigu | Ambigu |
foreign | Voix générique | Voix étrangère |
Avant le 12/10/2026, label portait d'autres mots, qu'un relevé archivé peut encore porter : la description de label dans le contrat OpenAPI les liste. Sur un serveur antérieur au contrat 5.3.0, band est absent : reconnais alors label par le tableau ci-dessus et par ces anciens mots. Comme label, band est absent quand le moteur s'abstient.
Quand le moteur s'abstient
probability peut valoir null, avec un champ unavailable. Ce n'est pas une erreur, et surtout jamais un score de zéro : c'est un refus de trancher, à traiter comme « vérification impossible ». Aucun crédit n'est débité.
7 causes, dont une seule est un incident de notre côté. C'est la colonne qui décide si ton code doit réessayer.
| Code | Ce que ça veut dire | Réessayer ? | Que faire |
|---|---|---|---|
self_overlap | Le texte à juger est déjà, pour l’essentiel, dans la référence qui le juge : la mesure porterait sur elle-même. | Non | Juge un texte que la référence ne contient pas — ou retire-le du corpus de cette voix. |
unsupported_language | Le texte ne se lit ni en français ni en anglais, même en départageant ces deux seules langues : le verdict n’est calibré que sur elles, chacune avec son propre moteur. | Non | Lis le champ `language` de la réponse avant d’appeler : hors du français et de l’anglais, ne demande pas de verdict. |
voice_language_mismatch | Le texte et la voix de référence ne sont pas écrits dans la même langue : chaque moteur ne compare un texte qu’à une voix de sa langue. | Non | Juge ce texte avec une voix écrite dans sa langue — crée-la si elle n’existe pas. Ne le traduis pas pour contourner ce refus. |
mixed_language | Le texte est dans la langue de la voix, mais au moins une phrase entière est dans l’autre langue servie : la mesure mêlerait deux moteurs. | Non | Corrige ou retire les passages renvoyés dans `passages` (positions dans le texte), puis relance. Les mots isolés — anglicismes, marques — et les citations entre guillemets ne déclenchent pas ce refus. |
embedding_layerde notre côté | La couche de mesure profonde n’a pas répondu ; sans elle, aucune probabilité n’est calibrée. | Oui | Réessaie dans un instant si la couche de mesure redevient disponible. |
out_of_distribution | Le panel de contraste ne couvre pas le registre de cette voix : la marge existerait, elle ne voudrait rien dire. | Non | Verse dans la voix des textes de référence plus proches du registre mesuré. |
calibration_mismatchde notre côté | La version du moteur ne correspond pas à une calibration validée. | Non | Attends la correction de la configuration du moteur. Ne modifie ni ne traduis le texte pour contourner ce refus. |
Chaque réponse porte aussi selfOverlap — la part du texte jugé déjà présente mot pour mot dans sa référence — même quand elle est basse. Au-delà de notre plancher, le moteur s'abstient ; en dessous, tu peux poser un seuil plus strict que le nôtre. Ce plancher est un choix raisonné, pas une valeur mesurée, et on préfère te donner le nombre plutôt que de décider à ta place.
Langues prises en charge
Le TAMPON est calibré sur le français et sur l’anglais, chacun avec son propre moteur ; Q2 (toi ou un autre humain) rend une lecture indicative en français : sa probabilité est fournie, son libellé ne dépasse pas `Ambigu` ; en anglais, il ne conclut `signature` qu’au-dessus du seuil de son examen scellé, et dit `Ambigu` dessous. Sur un texte qui ne se lit ni en français ni en anglais, la vérification s’abstient et rend `probability: null` avec `unavailable: "unsupported_language"` ; quand la voix de référence n’est pas écrite dans la langue du texte, avec `"voice_language_mismatch"` ; quand une phrase entière, hors citation entre guillemets, est dans l’autre langue, avec `"mixed_language"` et les phrases dans `passages` — ce n’est PAS une panne, et le code se distingue de `embedding_layer` (couche indisponible) et `out_of_distribution` (registre non couvert). Une abstention n’est jamais facturée. Le RELEVÉ d’automatismes, lui, sort dans toutes les langues outillées : il compte ses marqueurs dans la langue qu’il a lue et rend `markerLanguage` pour dire lequel il a appliqué. Le champ `language` de chaque réponse porte la langue lue, `inDomain` dit si un verdict serait valide.
Ce que ça coûte
Savoir ce que ça coûte avant de payer
GET /api/v1/estimate rend le tarif complet et, si tu passes ?operation=…, le prix de cette action confronté à ton solde (affordable). Le montant annoncé sort du même calcul que le montant débité — pas d'une table tenue à part, qui finirait par mentir.
conditional: true veut dire que l'opération est gratuite si elle ne produit rien : moteur qui s'abstient, texte qui n'a rien d'objectif à corriger, certificat refusé. C'est la règle des crédits à la valeur — un prix annoncé sec te ferait renoncer à une vérification qui ne t'aurait rien coûté. Estimation, pas réservation : seule l'exécution débite.
Ce que coûte un verdict, comparé
Nos crédits se paient à l'acte : un verdict coûte pareil sur 200 mots ou sur 9 000. Les tarifs d'API de détection se paient au mot. Les deux modèles ne se croisent qu'une fois — voilà où.
| Offre | 600 mots | 3 000 mots |
|---|---|---|
| Kaneme — Recharge de 10 $ | 0,10 $ | 0,10 $ |
| Kaneme — Recharge de 500 $ | 0,07 $ | 0,07 $ |
| Pangram 4 | 0,30 $ | 1,50 $ |
| Pangram 3 | 0,03 $ | 0,15 $ |
Tarifs concurrents relevés le 01/08/2026 sur leur page de tarifs. Devises non converties — un taux figé ici serait faux dès demain.
Où l’on perd : sur un texte court, un tarif au mot descend sous notre prix à l’acte. Notre modèle gagne à mesure que le texte s’allonge, parce qu’il ne dépend pas de la longueur.
Deux produits différents, mis face à face sur ce qu’ils facturent — pas sur ce qu’ils répondent. Un détecteur d’IA juge un texte seul, sans rien savoir de son auteur. Kaneme répond « est-ce toi ? », ce qui suppose d’abord ton corpus. Le tableau compare des coûts, jamais des verdicts.
Et ce qui ne se facture pas du tout : quand le moteur s'abstient, aucun crédit n'est débité. Une mesure qu'on refuse de rendre n'a pas à être payée.
Générations : 3 crédits par texte, sans quota, tout format et tout canal — mêmes poids que l'app, détail sur la page crédits.