Documentation

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.

n8n 2.41.4 — identifiant OpenAI
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/completions
Conservez /v1 dans l’URL de base. n8n teste les identifiants avec GET {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 ».
L’option Use Responses API est activée par défaut. Dans la version actuelle d’OpenAI Chat Model (version de nœud 1.3), un nouveau nœud envoie 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.
Ce qui a été exécuté. L’image Docker officielle de n8n 2.41.4 a d’abord été dirigée vers un simulateur local qui enregistre les requêtes — pas vers Kunavo ni vers un modèle — afin de voir quels chemins chaque réglage utilise, puis vers le véritable 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.
Pas encore de clé ? Créez un compte Kunavo, créez une clé (elle commence par 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

  1. Créez une clé sur /app/keys et copiez-la — elle n’est affichée qu’une seule fois.
  2. 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/v1 de Base URL par https://api.kunavo.com/v1. Enregistrez.
  3. 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 exemple claude-sonnet-5. La liste fonctionne aussi, mais saisir l’ID rend le workflow plus lisible.
  4. 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.
  5. 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 /v1 a 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.

Voici la version courte. Le guide complet — choix du modèle, coût d’une session réelle et modes d’échec — se trouve dans Coût de l’API d’IA dans n8n.

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èleEntrée / sortie sur KunavoOù cela s’intègre dans n8n
claude-sonnet-5$1.40 / $7.00Nœuds AI Agent qui appellent des outils et doivent choisir le bon
claude-haiku-4-5$0.70 / $3.50Classification, extraction et acheminement par élément dans une boucle — le volume détermine le coût
claude-opus-5$3.50 / $17.50Une seule étape de planification ou de révision, où une mauvaise réponse coûte une exécution entière
La facturation se fait au token à partir d’un solde prépayé, sans frais mensuels — consultez la facturation. Avec un contexte répété — ce qu’envoient la plupart des éditeurs et clients de chat — la mise en cache des prompts influe davantage sur la facture que le choix du modèle.

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.