Documentation
n8n
n8n accède à une API personnalisée compatible avec OpenAI par le champ Base URL de ses identifiants OpenAI, et non par le nœud HTTP Request ni par une option du nœud de modèle. Voici ces identifiants configurés pour Kunavo, ce que chaque option envoie et le piège du test des identifiants qui fait paraître correcte une URL erronée.
Le champ Base URL de l’identifiant OpenAI — https://api.kunavo.com/v1, en conservant le /v1 — place chaque OpenAI Chat Model d’un workflow n8n sur Kunavo ; le nœud de modèle lui-même n’a aucun champ d’endpoint.
Credentials → Create credential → OpenAI
API Key sk-kn-...
Organization ID (optional) leave empty
Base URL https://api.kunavo.com/v1 <- keep the /v1
Workflow → AI Agent or Basic LLM Chain → Chat Model: OpenAI Chat Model
Credential to connect with the OpenAI credential above
Model ID mode: claude-sonnet-5
Use Responses API on → POST /v1/responses
off → POST /v1/chat/completionsGET {Base URL}/models et ne vérifie que le code d’état. Jusqu’au 1er octobre 2026, l’omission de /v1 faisait aboutir cette requête sur la page publique du catalogue de modèles Kunavo, qui renvoyait un code 200. n8n affichait donc « Connection successful! » avec n’importe quelle clé (reproduit sur n8n 2.41.4). Depuis, api.kunavo.com répond aux chemins de point de terminaison sans /v1 par une erreur 404 JSON dont le code est missing_v1_prefix ; la même erreur de configuration fait donc désormais échouer le test. Avec /v1 et une clé erronée, le test affiche « Unauthorized ».POST /v1/responses ; si l’option est désactivée, il envoie POST /v1/chat/completions. Kunavo sert tous les modèles de chat sur les deux routes, donc les deux réglages fonctionnent. Cette option influe sur les outils intégrés ci-dessous et sur la forme de requête affichée dans vos journaux.api.kunavo.com avec une clé délibérément invalide pour relever les erreurs produites par un mauvais réglage. Aucune génération, réponse diffusée en continu ni utilisation d’outil par AI Agent n’a encore été exécutée contre Kunavo avec une clé valide.sk-kn-) et ajoutez un crédit à partir de 10 $ — les appels sont payés sur ce solde et les appels échoués ne sont pas facturés. Le tableau de bord s’ouvre ensuite sur la configuration n8n.Étape par étape
- Créez une clé sur
/app/keyset copiez-la — elle n’est affichée qu’une seule fois. - Dans n8n, créez des identifiants de type OpenAI. Saisissez la clé dans API Key, laissez Organization ID (optional) vide et remplacez la valeur par défaut
https://api.openai.com/v1de Base URL parhttps://api.kunavo.com/v1. Enregistrez. - Ajoutez un nœud AI Agent ou Basic LLM Chain, puis associez-lui un sous-nœud OpenAI Chat Model utilisant ces identifiants. Dans le champ Model, remplacez From List par ID et saisissez l’ID tel qu’il apparaît dans
GET /v1/models, par exempleclaude-sonnet-5. La liste fonctionne aussi, mais saisir l’ID rend le workflow plus lisible. - Choisissez si vous activez Use Responses API : laissez cette option activée, sauf si un outil de votre chaîne nécessite Chat Completions ou si vous souhaitez que le journal d’exécution de n8n affiche une requête de type chat completions.
- Exécutez le workflow une fois avec une invite d’une ligne avant de le relier à un déclencheur. Une erreur 401 indique un problème de clé ; une erreur 404 avec le code
missing_v1_prefix(ou, dans les anciennes exécutions, un message commençant par<!DOCTYPE html>) indique que/v1a disparu de l’URL de base.
Vérifié avec Code source des identifiants OpenAI de n8n, balise n8n@2.41.4 le 1 octobre 2026. Les paramètres tiers évoluent ; si le nom d’un champ ne correspond plus à ce que vous voyez ici, cette page fait autorité, pas celle-ci.
Vérifiez avant de déboguer le client
Une requête suffit à déterminer si l’échec vient de l’endpoint, de la clé ou du fichier de configuration. Si cette requête renvoie du JSON, la même URL de base et la même clé fonctionnent dans n8n.
# Settles whether a failure is the endpoint, the key, or the client.
curl -sS https://api.kunavo.com/v1/models \
-H "Authorization: Bearer sk-kn-..."Quel identifiant de modèle saisir dans le champ
Tous les modèles textuels sont accessibles sous forme d’identifiant de modèle — la liste à jour se trouve sur GET /v1/models, et le catalogue avec les prix sur la page des modèles. Les tarifs sont en USD par million de tokens, entrée / sortie.
| Identifiant du modèle | Entrée / sortie sur Kunavo | Où cela s’intègre dans n8n |
|---|---|---|
claude-sonnet-5 | $1.40 / $7.00 | Nœuds AI Agent qui appellent des outils et doivent choisir le bon |
claude-haiku-4-5 | $0.70 / $3.50 | Classification, extraction et acheminement par élément dans une boucle — le volume détermine le coût |
claude-opus-5 | $3.50 / $17.50 | Une seule étape de planification ou de révision, où une mauvaise réponse coûte une exécution entière |
Pourquoi l’URL de base se trouve dans les identifiants
Les anciens tutoriels définissent le point de terminaison dans le nœud de modèle. Dans le code source publié, l’option Base URL intégrée au nœud est masquée à partir de la version 1.1 de celui-ci. Le nœud que vous ajoutez aujourd’hui ne comporte donc pas ce champ, et c’est l’URL de base des identifiants qui compte. Ni la documentation d’OpenAI Chat Model de n8n ni sa page sur les identifiants ne décrivent ce champ ; le code source le fait, avec la description « Remplacer l’URL de base par défaut de l’API ». Le nœud HTTP Request constitue une autre méthode : elle fonctionne, mais vous devez alors construire manuellement la requête qu’un nœud AI Agent construit pour vous.
Activer ou désactiver Responses API
- Activée (valeur par défaut du nœud 1.3) — les requêtes sont envoyées à
/v1/responses. C’est le seul mode qui affiche les Built-in Tools du nœud : Web Search, File Search et Code Interpreter. Ces outils sont hébergés par OpenAI ; personne ne les a testés via Kunavo. N’en faites pas une dépendance de votre workflow sans les avoir d’abord essayés. - Désactivée — les requêtes sont envoyées à
/v1/chat/completions, le format le plus largement pris en charge et celui à utiliser si un appel d’outil se comporte mal avec l’autre réglage. - Les outils que vous associez à un AI Agent sont envoyés au modèle sous forme de définitions de fonctions. Cet aller-retour ne faisait pas partie de cette vérification ; effectuez donc un appel d’outil dans un workflow de test avant de vous y fier.
n8n et OpenRouter
n8n fournit un nœud OpenRouter Chat Model distinct avec ses propres identifiants OpenRouter. Ces identifiants comportent un champ API Key et une URL de base masquée, fixée à https://openrouter.ai/api/v1 ; le test appelle la route /key propre à OpenRouter. Le nœud OpenRouter ne peut donc communiquer qu’avec OpenRouter. Si vous souhaitez utiliser OpenRouter, servez-vous de ce nœud avec une clé OpenRouter ; rien d’autre sur cette page n’est nécessaire.
Tout autre point de terminaison compatible avec OpenAI, Kunavo compris, passe par OpenAI Chat Model et l’URL de base des identifiants OpenAI, comme indiqué plus haut. Faites votre choix selon les différences concrètes — les modèles dont vous avez besoin, le mode de paiement souhaité et votre préférence pour un solde commun à n8n et à vos autres outils — et non selon le nœud. La comparaison du côté de Kunavo est présentée dans Kunavo contre OpenRouter.
Maîtriser le coût d’un workflow sans surveillance
- La valeur par défaut de Max Retries est 2, et celle de Timeout, 60000 ms. Une requête qui expire est réessayée ; chaque nouvelle tentative constitue une requête facturée.
- Définissez Maximum Number of Tokens sur les nœuds exécutés pour chaque élément : une boucle sur 1 000 lignes multiplie le coût d’un appel.
- Utilisez une clé Kunavo distincte pour chaque workflow de production afin que la page d’utilisation indique lequel a dépensé quoi, et que vous puissiez en révoquer une sans toucher aux autres.
À quoi ressemblent les erreurs
- « 401 Missing or invalid API key » — l’URL de base est correcte, mais la clé ne l’est pas. Reproduit sur la version 2.41.4.
- « 404 <!DOCTYPE html>… », classée par LangChain comme MODEL_NOT_FOUND — message trompeur : le modèle est correct, mais il manque
/v1à l’URL de base et la requête a abouti sur le site Web. Reproduit sur la version 2.41.4. - Message JSON indiquant que le modèle n’est pas disponible — l’ID du modèle ne correspond pas exactement à
GET /v1/models.
Questions fréquentes
Comment utiliser une API personnalisée compatible avec OpenAI dans n8n ?
Créez des identifiants OpenAI et remplacez leur URL de base https://api.openai.com/v1 par la racine compatible avec OpenAI du point de terminaison souhaité, en conservant /v1 — pour Kunavo, https://api.kunavo.com/v1 — puis saisissez votre clé dans API Key. Utilisez ensuite le sous-nœud OpenAI Chat Model sous un nœud AI Agent ou Basic LLM Chain, sélectionnez ces identifiants et saisissez l’ID du modèle. Le champ figure dans le code source publié de n8n (identifiants OpenAiApi, n8n@2.41.4), même si la page de documentation sur les identifiants de n8n ne répertorie que API Key et Organization ID.
Pourquoi n8n indique-t-il que la connexion a réussi alors que le workflow échoue avec une erreur 404 ?
Parce que le test des identifiants vérifie uniquement que GET {Base URL}/models renvoie un code d’état de réussite. Si /v1 manque à l’URL de base, le test envoie une requête au chemin /models sur l’hôte racine. Jusqu’au 1er octobre 2026, chez Kunavo, cette requête aboutissait sur la page Web publique du catalogue de modèles, qui renvoyait un code 200. n8n indiquait donc que la connexion avait réussi avec n’importe quelle clé, puis le workflow échouait avec une erreur 404 dont le message était une page HTML (reproduit avec n8n 2.41.4). Depuis, Kunavo répond à ces chemins par une erreur 404 JSON, avec le code missing_v1_prefix ; le test échoue donc à la place. Dans les deux cas, la correction est la même : ajoutez /v1 à l’URL de base. D’autres fournisseurs compatibles avec OpenAI qui servent une page Web sur /models peuvent toujours produire ce faux succès.
Faut-il activer ou désactiver Use Responses API pour un point de terminaison personnalisé ?
Les deux réglages fonctionnent si le point de terminaison sert les deux routes, comme le fait Kunavo pour tous ses modèles de chat. Dans la version 1.3 du nœud, l’option est activée par défaut et envoie POST /v1/responses ; désactivée, elle envoie POST /v1/chat/completions. Ces deux réglages ont été vérifiés en les exécutant sur n8n 2.41.4. Désactivez-la si un appel d’outil ou un format de sortie se comporte mal, car le format chat completions est plus largement pris en charge. La liste Built-in Tools (recherche sur le Web, recherche de fichiers, interpréteur de code) apparaît uniquement lorsque l’option est activée. Ces outils sont hébergés par OpenAI et n’ont pas été testés via Kunavo.
Puis-je diriger le nœud OpenRouter de n8n vers un autre point de terminaison ?
Non. L’URL de base des identifiants OpenRouter est un champ masqué, fixé à https://openrouter.ai/api/v1, et leur test appelle la route /key propre à OpenRouter. Le nœud OpenRouter Chat Model ne communique donc qu’avec OpenRouter. Pour tout autre point de terminaison compatible avec OpenAI, utilisez OpenAI Chat Model avec des identifiants OpenAI dont vous modifiez l’URL de base.
Kunavo a-t-il testé n8n ?
En partie. Le 1er octobre 2026, l’image Docker officielle de n8n 2.41.4 a été exécutée contre un point de terminaison simulé local pour confirmer les chemins utilisés par chaque réglage, puis contre la véritable API Kunavo avec une clé invalide pour vérifier les erreurs du test des identifiants et du workflow décrites ici. Aucune génération réussie, réponse diffusée en continu ni utilisation d’outil par AI Agent n’a encore été exécutée contre Kunavo avec une clé valide. Considérez donc votre première exécution comme la vérification de bout en bout.