📌 À retenir
- L'API REST de Cloudflare permet d'appeler typesafe/jev en un seul POST authentifié, sans écrire ni déployer de Worker.
- Le corps de la requête est identique à celui du binding Worker : mêmes clés model, state et questions.
- n8n et Make se configurent avec les mêmes trois réglages : méthode POST, en-tête Authorization Bearer, corps JSON.
- La Refonte n'a pas encore branché ce scénario en production : ce guide suit la documentation officielle et signale les limites de débit et de contexte publiées par Cloudflare.
Outils du scénario
Deux interfaces no-code, le même appel HTTP
Les marques ci-dessous sont les ressources officielles des outils réellement configurés dans ce guide.
n8n
Le nœud HTTP Request envoie la requête et transmet la réponse aux nœuds Switch ou If.
Ressource officielleMake
Le module HTTP exécute l'appel ; Router distribue ensuite les réponses du modèle.
Ressource officielleAppeler Jev depuis n8n ou Make sans passer par un Worker : le principe
Sur Cloudflare Workers AI, le modèle typesafe/jev se déclare le plus souvent dans un Worker : un fichier de configuration, un binding AI, du code déployé. C'est la voie mise en avant dans notre guide d'implémentation Worker.
Ce que fait un Worker aujourd'hui
Un Worker reçoit une requête, appelle env.AI.run avec l'identifiant typesafe/jev, lit la réponse et déclenche une action. Il porte à la fois le code d'appel et la logique métier qui suit.
Ce que l'appel direct change concrètement
La même fiche modèle documente un second chemin : un appel REST classique, avec le compte Cloudflare comme seule dépendance. n8n et Make savent tous deux poser un appel HTTP authentifié. Aucun Worker à écrire ni à déployer : le scénario existant reçoit un nœud ou un module de plus.
Ce guide ne part pas d'un formulaire précis. Il documente l'appel générique : un scénario qui reçoit un ticket, un email ou un enregistrement CRM le pose de la même façon, quel que soit le déclencheur en amont.
Avec un Worker intermédiaire
- Un Worker Cloudflare à écrire, déployer et maintenir
- Un binding AI déclaré dans wrangler.toml
- Le code d'appel et la logique métier vivent dans le même service
Appel direct depuis n8n ou Make
- Aucun code à déployer : un nœud ou un module dans le scénario existant
- Le même endpoint REST, appelé avec un jeton API Cloudflare
- Le corps de la requête reste celui de la fiche officielle : model, state et questions
Le circuit sans Worker : de n8n ou Make à la réponse de Jev
Authentification : la clé API Cloudflare, sans compte TypeSafe
Le modèle typesafe/jev est un modèle tiers routé par Cloudflare. Aucune inscription chez TypeSafe AI n'est nécessaire : un compte Cloudflare avec Workers AI activé suffit, avec un identifiant de compte et un jeton API.
Ce jeton se crée dans le tableau de bord, rubrique Workers AI, page « Use REST API ». Il porte les permissions Workers AI - Read et Workers AI - Edit. Il s'utilise ensuite dans l'en-tête Authorization, sous la forme Bearer suivi du jeton.
Un jeton porte les mêmes droits que celui utilisé dans un Worker : le stocker en clair dans un scénario partagé revient à l'exposer à toute l'équipe qui y a accès. n8n et Make proposent chacun un emplacement dédié pour ce type de secret, séparé du corps de la requête.
| 01Élément | 02Où le trouver | 03Usage dans la requête |
|---|---|---|
| 01Account ID | Tableau de bord Cloudflare, rubrique Workers AI, page « Use REST API » | Dans l'URL de l'endpoint, à la place de {account_id} |
| 02Jeton API (API Token) | Même page, bouton « Create a Workers AI API Token », permissions Workers AI - Read et Workers AI - Edit | Dans l'en-tête Authorization, valeur Bearer suivie du jeton |
| 03Identifiant du modèle | Fiche modèle Cloudflare, champ typesafe/jev | Dans le corps JSON, propriété model |
Account ID
- Où le trouver
- Tableau de bord Cloudflare, rubrique Workers AI, page « Use REST API »
- Usage dans la requête
- Dans l'URL de l'endpoint, à la place de {account_id}
Jeton API (API Token)
- Où le trouver
- Même page, bouton « Create a Workers AI API Token », permissions Workers AI - Read et Workers AI - Edit
- Usage dans la requête
- Dans l'en-tête Authorization, valeur Bearer suivie du jeton
Identifiant du modèle
- Où le trouver
- Fiche modèle Cloudflare, champ typesafe/jev
- Usage dans la requête
- Dans le corps JSON, propriété model
Le corps de la requête : state et questions typées, identiques au Worker
L'endpoint REST attend un corps JSON avec deux clés : model, qui vaut « typesafe/jev », et input. input porte lui-même state, le texte ou l'objet à évaluer, et questions, un objet de questions typées.
Trois types de question existent : noul pour une probabilité, choice pour une option parmi plusieurs, score pour une position sur une échelle. Chaque question porte des instructions et des critères. La fiche Cloudflare fournit un exemple complet, repris ci-dessous sans modification.
Le state accepte aussi un objet plutôt qu'une chaîne, quand la décision dépend de plusieurs sources : un message, une commande, une règle interne. Les instructions des questions peuvent alors désigner les champs de cet objet, comme le montre l'exemple structuré de notre guide Worker.
Les critères d'une question choice ou score gagnent à rester courts et mutuellement exclusifs. Une consigne floue ou deux catégories qui se recoupent produisent des probabilités difficiles à trancher ensuite dans le scénario.

curl https://api.cloudflare.com/client/v4/accounts/$CLOUDFLARE_ACCOUNT_ID/ai/run \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"model": "typesafe/jev",
"input": {
"state": "Help! My payouts have been failing for 3 days.",
"questions": {
"is_urgent": {
"type": "noul",
"instructions": "Does this convey urgency?",
"criteria": { "true": "Explicitly time-sensitive", "false": "No urgency expressed" }
},
"department": {
"type": "choice",
"instructions": "Which team should handle this?",
"criteria": {
"billing": "Payments, invoicing, refunds",
"technical": "Bugs, outages, integrations",
"sales": "Pricing, upgrades, new accounts"
}
},
"frustration": {
"type": "score",
"instructions": "How frustrated is the customer?",
"criteria": ["Calm", "Frustrated", "Very angry"]
}
}
}
}'Lire la réponse : l'enveloppe Cloudflare et les réponses de Jev
Comme tout appel à l'API REST Cloudflare, la réponse arrive dans une enveloppe commune : un champ result, un champ success à true ou false, et des tableaux errors et messages.
Le contenu utile de Jev se trouve dans result : le nom du modèle, un objet answers avec une entrée par question posée, et un champ usage qui compte les tokens consommés. Un scénario n8n ou Make doit descendre dans result avant de lire les réponses.
Un scénario n8n peut brancher sur result.answers.department.choice avec un nœud Switch, ou sur result.answers.is_urgent.noul avec un nœud If. Dans Make, un module Router lit les mêmes champs dans le corps renvoyé par le module HTTP.
Le champ confidence, présent sur les questions choice et score, indique la certitude du modèle sur sa réponse. Une valeur basse signale un cas ambigu, à traiter comme les autres : par une règle de seuil dans le scénario, pas par un chiffre isolé lu à l'œil.
{
"result": {
"model": "jev-1.13.0",
"answers": {
"is_urgent": { "type": "noul", "noul": 0.95 },
"department": {
"type": "choice",
"choice": "billing",
"confidence": 0.8,
"probabilities": { "billing": 0.87, "sales": 0, "technical": 0.13 }
},
"frustration": {
"type": "score",
"score": 1.04,
"confidence": 0.94,
"legend": { "0": "Calm", "1": "Frustrated", "2": "Very angry" },
"probabilities": { "0": 0, "1": 0.96, "2": 0.04 }
}
},
"usage": { "input_tokens": 426, "output_tokens": 73 }
},
"success": true,
"errors": [],
"messages": []
}Configurer l'appel dans n8n
Dans un scénario n8n, un seul nœud pose cet appel : HTTP Request. Il remplace la fonction que jouerait un Worker, sans code à écrire ni à déployer. Le détail des réglages suit.
Un test depuis le bouton d'exécution du nœud affiche la réponse complète, y compris l'enveloppe result. C'est le moment de vérifier que le chemin result.answers correspond aux questions posées, avant de brancher un nœud Switch ou If derrière. Le nœud propose aussi un réglage de délai d'attente, sous l'onglet Options : une valeur généreuse absorbe un pic de latence sans bloquer tout le scénario.
Le nœud HTTP Request, réglage par réglage
- 1
Étape 1
Method
Choisissez POST : le corps de la requête porte model et input.
- 2
Étape 2
URL
Collez l'endpoint https://api.cloudflare.com/client/v4/accounts/{account_id}/ai/run, avec votre identifiant de compte.
- 3
Étape 3
Authentication
Sélectionnez « Generic Credential Type », puis « Header Auth ». Créez une credential avec le nom Authorization et la valeur Bearer suivie du jeton API.
- 4
Étape 4
Send Body
Activez l'option, réglez « Body Content Type » sur JSON et « Specify Body » sur « Using JSON », puis collez le corps complet.
Configurer l'appel dans Make
Dans un scénario Make, le module HTTP « Effectuer une requête » (Make a request) joue le même rôle. Les réglages sont proches de ceux de n8n, avec un vocabulaire propre à Make.
Un clic sur « Run once » exécute le module seul et affiche la sortie dans le panneau de droite. Les modules suivants du scénario accèdent ensuite aux champs de la réponse par la carte de données habituelle de Make, sans configuration supplémentaire. Le module propose un réglage de délai d'attente équivalent, dans son onglet avancé.

Le module HTTP, réglage par réglage
- 1
Étape 1
Method
Sélectionnez POST.
- 2
Étape 2
URL
Renseignez le même endpoint /ai/run, avec l'identifiant de votre compte Cloudflare.
- 3
Étape 3
Headers
Ajoutez deux en-têtes : Authorization avec la valeur Bearer suivie du jeton, et Content-Type avec la valeur application/json.
- 4
Étape 4
Body type
Choisissez application/json comme type de contenu, puis collez le corps JSON complet dans le champ prévu pour la requête.
Erreurs, limites de débit et fenêtre de contexte à connaître
Trois limites documentées méritent d'être connues avant de brancher ce scénario sur un volume réel. Elles ne dépendent pas de n8n ni de Make : elles s'appliquent à tout appel à l'API Cloudflare.
La fenêtre de contexte de typesafe/jev est fixée à 32 000 tokens : un state trop long doit être résumé avant l'appel. Le débit de l'API Cloudflare est plafonné à 1 200 requêtes par compte, toutes les cinq minutes ; au-delà, une réponse HTTP 429 bloque les appels suivants pour la période.
Concrètement, un historique de conversation ou un long fil d'emails dépasse vite cette limite de contexte. Un nœud ou un module de résumé, placé avant l'appel à Jev, ramène le state à l'essentiel sans changer la structure des questions.
Le tarif du modèle typesafe/jev sur Cloudflare n'est pas public : il s'affiche dans le tableau de bord du compte, pas sur la fiche modèle. n8n et Make proposent chacun une option de nouvelle tentative sur le nœud ou le module HTTP, utile pour une erreur ponctuelle, mais elle ne remplace pas la lecture du tableau de bord si les erreurs 429 deviennent fréquentes.

| 01Situation | 02Ce qui se passe | 03Source et date |
|---|---|---|
| 01Jeton invalide ou permission manquante | Une erreur HTTP est renvoyée hors de l'enveloppe de succès ; la fiche ne publie pas d'exemple précis pour ce modèle, à vérifier dans les journaux de votre scénario | Cloudflare, API REST Workers AI, consultée le 20/09/2026 |
| 02Plus de 1 200 requêtes en 5 minutes sur le compte | Code HTTP 429 « Too Many Requests » ; les appels suivants sont bloqués pour les cinq minutes qui suivent | Cloudflare, limites de l'API, page datée du 25/08/2026, consultée le 20/09/2026 |
| 03State ou questions dépassant la fenêtre de contexte | Fenêtre de contexte du modèle limitée à 32 000 tokens ; un état trop long doit être résumé avant l'appel | Cloudflare, fiche modèle typesafe/jev, consultée le 20/09/2026 |
| 04Coût du modèle typesafe/jev sur Cloudflare | Non public sur la fiche modèle ; affiché uniquement dans le tableau de bord du compte | Cloudflare, fiche modèle typesafe/jev, consultée le 20/09/2026 |
Jeton invalide ou permission manquante
- Ce qui se passe
- Une erreur HTTP est renvoyée hors de l'enveloppe de succès ; la fiche ne publie pas d'exemple précis pour ce modèle, à vérifier dans les journaux de votre scénario
- Source et date
- Cloudflare, API REST Workers AI, consultée le 20/09/2026
Plus de 1 200 requêtes en 5 minutes sur le compte
- Ce qui se passe
- Code HTTP 429 « Too Many Requests » ; les appels suivants sont bloqués pour les cinq minutes qui suivent
- Source et date
- Cloudflare, limites de l'API, page datée du 25/08/2026, consultée le 20/09/2026
State ou questions dépassant la fenêtre de contexte
- Ce qui se passe
- Fenêtre de contexte du modèle limitée à 32 000 tokens ; un état trop long doit être résumé avant l'appel
- Source et date
- Cloudflare, fiche modèle typesafe/jev, consultée le 20/09/2026
Coût du modèle typesafe/jev sur Cloudflare
- Ce qui se passe
- Non public sur la fiche modèle ; affiché uniquement dans le tableau de bord du compte
- Source et date
- Cloudflare, fiche modèle typesafe/jev, consultée le 20/09/2026
Avant de brancher ce scénario en production
Le nœud ou le module HTTP fonctionne, mais un scénario qui agit sur un volume réel mérite les mêmes garde-fous qu'un Worker : secret hors du code, journal des réponses, seuil de confiance.
La confiance renvoyée par Jev reste une probabilité, pas une décision. C'est au scénario n8n ou Make de fixer le seuil à partir duquel il agit seul, et de transmettre les cas sous ce seuil à une personne.
Un scénario qui trie des tickets ou des leads en continu mérite le même regard qu'un Worker en production : qui a accès au jeton, qui relit les cas transmis, à quelle fréquence le seuil est réévalué avec l'équipe métier. La démo publique askjev.ai, décrite dans notre guide Worker, donne un ordre de grandeur de latence utile pour fixer un délai d'attente réaliste, sans remplacer une mesure sur vos propres appels.
Pour aller plus loin
Pour le détail du modèle Jev et sa place face à un modèle de langage, direction notre article sur le modèle Jev. Pour l'appel depuis un Worker Cloudflare, avec les mêmes exemples de code, lisez le guide d'implémentation Worker.
Pour comparer un modèle de décision à un LLM sur un cas concret, consultez modèle de décision ou LLM. Pour une vue d'ensemble de l'automatisation sans code, lisez notre article sur l'automatisation des tâches. Pour cadrer ce type d'automatisation avec ses garde-fous, le parcours IA de La Refonte en présente le programme.
Retenez l'essentiel : le nœud ou le module HTTP remplace le Worker pour l'appel lui-même, pas pour la décision qui suit. Cette décision, avec son seuil et sa relecture humaine, reste à écrire dans le scénario, où qu'il tourne.
Sources
Dernière mise à jour : 20 septembre 2026
- Cloudflare, fiche modèle typesafe/jevExemple curl complet vers /ai/run, exemple TypeScript pour le Worker, fenêtre de contexte de 32 000 tokens et renvoi au tableau de bord pour le tarif. Consultée le 20 septembre 2026.
- Cloudflare, API REST Workers AIEnveloppe de réponse (result, success, errors, messages), création du jeton API avec les permissions Workers AI - Read et Workers AI - Edit, localisation de l'Account ID. Consultée le 20 septembre 2026.
- Cloudflare, limites de l'APIPlafond de 1 200 requêtes par période de cinq minutes par jeton ou utilisateur, réponse HTTP 429 au-delà. Page datée du 25 août 2026, consultée le 20 septembre 2026.
- n8n, documentation du nœud HTTP RequestRéglages Method, Authentication en Generic Credential Type / Header Auth, Send Body en JSON. Consultée le 20 septembre 2026.
- Make, module HTTPChamps URL, Method, Headers et type de contenu application/json du module de requête HTTP « Make a request ». Consultée le 20 septembre 2026.
Passer de l'essai au scénario fiable
La Refonte accompagne les équipes qui veulent brancher une décision Jev sur un scénario n8n ou Make réel, avec seuil de confiance, journal des réponses et relecture humaine.




