Développeurs & agents
Construis sur ta voix
API REST et serveur MCP de Kaneme : branche Claude, ChatGPT ou tes scripts sur ta voix — génération dans ton style, score de fidélité, documents — avec les mêmes crédits que l'app.
Démarrage rapide
Trois minutes, un appel. Le score de voix et la lecture ne coûtent aucun crédit : tu peux tout éprouver avant de dépenser quoi que ce soit.
1Crée ta clé
Dans Kaneme, Réglages → API & MCP. La clé
frq_…s'affiche une seule fois — copie-la tout de suite. Elle ouvre l'API REST et le serveur MCP.2Vérifie qu'elle répond
Cet appel ne coûte rien et dit tout : ton palier, tes crédits restants. S'il renvoie 401, c'est la clé ; s'il renvoie du JSON, tu es prêt.
Ton premier appel
3Écris dans ta voix
Premier appel qui consomme — et tu peux savoir combien AVANT, avec
/api/v1/estimate. Pour brancher un agent plutôt qu'un script, passe directement au serveur MCP.Générer
Trois règles à connaître avant d'intégrer
Une clé, deux portes
La même clé « frq_… » (Réglages → API & MCP) ouvre l’API REST et le serveur MCP. Affichée une seule fois, révocable à tout moment, 5 clés actives max.
Les crédits de l’app, pas un 2e compteur
Générer par API consomme les mêmes crédits que dans l’app — aucun coût caché. Le score de voix et la lecture ne coûtent rien.
Ta voix ne fuit jamais
L’API expose le génome PUBLIC de ta voix (brins actifs, maturité) — jamais ton ADN, tes exemples ni ton guide de style.
Serveur MCP
Ton agent (Claude, ChatGPT…) écrit avec TA voix, vérifie le score, range le résultat dans Kaneme — puis programme la publication via ton outil (Buffer…). Kaneme prépare, tes outils publient.
Endpoint (streamable HTTP)
Connexion depuis Claude Code
Autres clients : tout client MCP qui sait poser un header d'autorisation (ou via le pont mcp-remote).
Outils exposés
get_account — compte & créditsestimate_cost — ce qu’une action coûtera avant de la lancerlist_voices — lister tes voixget_voice — carte d’une voixcreate_voice — créer une voix (interview ou tes textes)list_voice_assets — lire le Coffre d’une voixadd_voice_asset — y verser une preuve (1 crédit)list_beliefs — tes convictions (lecture seule)list_subvoices — tes sous-voix par canal (lecture seule)score_text — fidélité de style (gratuit)verify_authorship — paternité en probabilité (1 crédit)compare_texts — comparer à une référence fournie (1 crédit)generate_in_voice — écrire dans ta voiximprove_in_voice — améliorer un texte dans ta voix (1 crédit)create_project — créer un projet (mémoire de marque)list_projects — lister tes projetsadd_project_context — verser de la matière dans le contexte d’un projet (1 crédit)list_documents — lister les documentsget_document — lire un documentcreate_document — créer un documentupdate_document — corriger un document existantdelete_document — mettre un document à la corbeillecertify_document — certifier un document (page publique, 1 crédit)list_radar_brands — visibilité IA de tes marqueslist_radar_briefs — le plan de contenu du Radarplan_radar_brief — avancer une recommandation dans le planlist_recipes — lister tes recettes (Prompts)run_recipe — rejouer une recette dans ta voixlist_sources — lire ta boîte de réception « Sources »save_source — y déposer une trouvaille (gratuit)Tes recettes deviennent des commandes
Le serveur expose aussi des promptsMCP : chacune de tes recettes apparaît dans le menu de commandes de ton client, avec ses variables en champs à remplir. Tu la lances toi-même, au lieu d'espérer que l'agent y pense. La consigne, elle, reste côté serveur — le prompt appelle run_recipe, il ne recopie pas ton template.
API REST v1
Header Authorization: Bearer frq_… sur chaque appel. Réponses JSON, erreurs explicites (401 clé, 402 crédits, 429 cadence).
/api/v1/mePalier + crédits du compte
/api/v1/estimateCe qu’une action coûtera AVANT de la lancer — sans argument, tout le tarif
/api/v1/voicesListe tes voix (id, laquelle est active, maturité) — pour choisir laquelle utiliser
/api/v1/voiceCarte d’UNE voix : génome public, maturité, calibrage
/api/v1/voicesCrée une voix (interview, ou tes vrais textes — provenance:"human" exigée)
/api/v1/voice/assetsLe COFFRE d’une voix : ce avec quoi tu prouves (preuves, cas clients, témoignages…)
/api/v1/voice/assetsVerse une preuve au Coffre — kind requis, provenance:"human" exigée sur les preuves
/api/v1/voice/beliefsTes convictions : les positions injectées à chaque génération (lecture seule)
/api/v1/voice/subvoicesTes sous-voix par canal — pourquoi un texte sort autrement selon le format
/api/v1/scoreFidélité de style 0-100 — ne dit PAS qui a écrit
/api/v1/verifyPaternité en PROBABILITÉ calibrée — toi vs un autre humain, ou toi vs une IA
/api/v1/compareCompare un texte à une référence FOURNIE (autre auteur collé, ou une autre voix)
/api/v1/generateÉcrit dans ta voix (draft, outline, section, challenge, bar-test, workflow)
/api/v1/improveRéécrit un TEXTE EXISTANT dans ta voix (passe corrective) — « améliore ce contenu »
/api/v1/projectsListe tes projets — pour savoir où ranger
/api/v1/projectsCrée un projet (mémoire de marque) relié à une voix
/api/v1/sourcesAjoute au CONTEXTE d’un projet (recherche web, notes) — nourrit le RAG, pas l’onglet Sources
/api/v1/sources/inboxLit l’onglet Sources : ta matière à trier (inbox · saved · used · archived)
/api/v1/sources/inboxDépose une trouvaille dans l’onglet Sources — gratuit, réversible, c’est toi qui tries
/api/v1/documentsListe tes documents
/api/v1/documentsCrée un document (Markdown, voix, canal, provenance)
/api/v1/documents/{id}Lit un document (texte + HTML)
/api/v1/documents/{id}Corrige un document existant plutôt que d’en créer un second
/api/v1/documents/{id}Met le document à la corbeille (restaurable 30 jours)
/api/v1/certifyÉmet le certificat PUBLIC d’un document (« ce texte signe ma voix »)
/api/v1/radar/brandsVisibilité de tes marques dans les réponses des IA (score, progression)
/api/v1/radar/briefsLe plan de contenu : ce qu’il reste à écrire, avec l’angle et le plan
/api/v1/radar/briefs/{id}Avance une recommandation (draft · planned · published)
/api/v1/recipesTes recettes (Prompts) et le catalogue Kaneme
/api/v1/recipes/{id}/runRejoue une recette sur un texte, dans ta voix
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 calculque le montant débité — pas d'une table tenue à part, qui finirait par mentir.
conditional: trueveut 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.
Lire une liste en entier
Chaque liste rend nextCursor. Tant qu'il n'est pas null, il reste des éléments : rappelle le même endpoint avec ?cursor=…. Nul = tu as tout vu — et cette fois c'est une information, pas une supposition. Le curseur est opaque : recopie-le, ne le fabrique pas. Un curseur illisible est refusé (400) plutôt qu'ignoré, sinon tu boucleras sur la première page en croyant avancer.
Rejouer un appel sans le payer deux fois
Ajoute Idempotency-Key: <ton identifiant> sur les écritures (/generate, /improve, /documents, /voices, /projects, /sources, /certify, /recipes/{id}/run). Si un appel reste sans réponse, retente avec la même clé : tu récupères la réponse du premier, marquée idempotentReplay, sans second débit ni second document. Clé valable 24 h.
La même clé sur une demande différenteest refusée (422) plutôt que rejouée : mieux vaut un refus lisible qu'une réponse qui ne correspond pas. Les mesures (/score, /verify, /compare) n'en prennent pas — une clé y masquerait une re-mesure volontaire.
Le Coffre — et pourquoi une preuve s'atteste
Trois endroits différents, à ne pas confondir : /sources/inbox est ta boîte de réception (gratuite, tu tries), /sourcesnourrit la mémoire d'un projet (ce dont tu parles), et /voice/assets est le Coffre d'une voix : ce avec quoi tu prouves.
kindest requis et fermé (preuve · cas_client · temoignage · resultat · histoire) — c'est lui qui distingue une preuve d'une note. Sur les quatre types de preuve, provenance:"human" est exigée : cette matière sera citée comme vérifiable, donc elle doit être réelle. Un agent n'invente pas un cas client à ta place.
Tes convictions et tes sous-voixse lisent, mais ne s'écrivent pas depuis l'API : une conviction posée par un agent n'est pas une conviction, et activer une sous-voix change tous tes textes sur ce canal. Ces deux gestes restent les tiens, dans l'app.
Créer une voix — et pourquoi la provenance compte
POST /api/v1/voices compile une nouvelle voix. Deux modes : mode:"interview" (une transcription questions/réponses) ou mode:"samples" (de vrais textes déjà écrits, qui deviennent la cadence de référence de la voix, réinjectée à chaque génération).
En interview, ton agent mène l’entretien lui-même— express (~5 questions) ou complet (~15) — puis passe la transcription à compiler. Côté MCP, le script des questions vit dans la description de l’outil create_voice : l’agent a de quoi poser les bonnes questions, une à la fois.
Le mode samples exige provenance:"human". Ce n’est pas une formalité : une voix ancrée sur de l’IA n’est plus ta voix, c’est une IA-en-voix qui se mesurerait elle-même. Un agent ne doit jamais y coller un texte qu’il vient de générer — s’il n’est pas de ta main, c’est le mode interview qui convient. Sans l’attestation, l’appel est refusé, pas dégradé en silence.
Deux nombres, deux questions
/score mesure une fidélité de style : ce texte sonne-t-il travaillé et personnel ? Il ne dit pas qui a écrit — un texte de quelqu’un d’autre peut obtenir 90. /verify répond à la question d’auteur, et rend une probabilité calibrée plutôt qu’un score :question="author" (toi vs un autre humain) ou question="human" (toi vs une IA qui t’imite). Un même score ne vaut pas la même probabilité selon la question.
probability peut valoir null avec un champ unavailable : c’est une abstention assumée quand la mesure ne peut pas trancher — à traiter comme « vérification impossible », jamais comme un score de zéro. Dans ce cas aucun crédit n’est débité. Et c’est un indice, jamais une preuve opposable : face à un texte machine retravaillé pour passer, le haut de l’échelle sur-promet (96 % annoncé, 88 % réel — mesuré, publié sur /methode).
Écrire, ou améliorer ce qui existe déjà
/generate PART d’un sujet et rédige dans ta voix. /improvePART d’un texte déjà écrit — celui que ton agent vient de produire — et le réécrit dans ta voix : « améliore ce contenu avec ma voix ». C’est une passe corrective bornée (elle corrige les défauts constatés, préserve le fond et la longueur) et renvoie le texte + le score avant/après. Rien à corriger ? Le texte revient inchangé, sans débit.
/comparerépond à « ce texte est-il de la même main que celui-ci ? » contre une référence que TU fournis — un autre auteur collé, ou une autre de tes voix. Même honnêteté que /verify : probabilité calibrée, abstention si la mesure ne tranche pas, plancher hors de ton genre.
Un projet, sa mémoire, sa preuve
/projects crée un projet relié à une voix ; /sources y verse ce que ton agent a trouvé (recherche web, notes) — le texte est vectorisé et récupéré ensuite par le RAG. Il suffit alors de passer projectId à /generatepour écrire en héritant de cette mémoire. La boucle « cherche, range, écris » s’enchaîne entièrement depuis ton agent.
/certify émet la page publiqued’un document — « ce texte signe ma voix ». Elle n’est délivrée que si la paternité est réellement mesurée et affirmée : sinon le certificat est refusé, sans débit. Le public ne voit qu’une bande (label + affirmation), jamaisde score. À n’appeler que sur ta demande : ça publie.
Exemple — écrire un post LinkedIn dans ta voix
curl -X POST https://kaneme.com/api/v1/generate \
-H "Authorization: Bearer frq_VOTRE_CLE" \
-H "Content-Type: application/json" \
-d '{"prompt": "3 leçons de mon dernier projet client", "type": "draft", "format": "linkedin_post"}'format (optionnel) cadre le canal : linkedin_post, newsletter, blog, thread, tweet_short, instagram, tiktok_script, marketing_page (page de vente), academic_article (article académique).
Générations : 1 crédit (types rapides) à 2 crédits (draft, outline, section) — mêmes poids que l'app, détail sur la page crédits.
Prêt à brancher ton agent ?
Crée ta clé dans les réglages. L'accès API est une offre Kaneme distincte, proposée prochainement.
Créer ma clé API