Utiliser l’API de ChatGPT en NodeJS

NicolasBrondinBernard

Auteur
@NicolasBrondinBernard

Utilisez la puissance de l'intelligence artificielle (LLM) la plus populaire au monde dans vos applications !

Article publié le 04/06/2025, dernière mise à jour le 06/01/2026

Dans ce tutoriel, vous allez découvrir que dialoguer avec ChatGPT directement depuis son API est simple comme bonjour !

Et ce grâce notamment au fait qu’OpenAI fournisse leur propre SDK pour NodeJS.

Commençons par la première étape la moins fun mais indispensable pour la suite du tutoriel, la configuration du projet.

Configurer le projet

Récupérer sa clé d’API

Avant toute chose, il faut savoir que chaque appel à l’API de ChatGPT est payant.

Mais ne vous inquiétez pas, les prix sont très bas.

Chaque appel consomme quelques “tokens”, et avec quelques euros, vous pouvez utilisez plusieurs millions de tokens !

Pour commencer à utiliser vos tokens, il faut récupérer votre clé d’API. Pour se faire, rendez-vous sur : https://platform.openai.com/apps

Choisissez API, ensuite connectez-vous en cliquant sur login, puis dans le panneau de gauche cliquez sur API keys

Vous pourrez alors cliquer sur le bouton “Create new secret key”, et copier la clé qui vous aura été générée.

Stocker sa clé

Pensez bien à stocker votre clé dans un fichier de configuration appelé .env, à l’intérieur de votre dossier projet, comme ceci :

OPENAI_API_KEY=XX-XXXX-XXXXXXXXXXXX

Ne partagez jamais cette clé, et ne l’ajoutez jamais dans un dépôt Git (ajoutez .env à votre .gitignore)

Vérifiez votre solde de crédit

Dans le panneau de gauche sur OpenAI, naviguez vers Billing pour vérifier que vous possédez quelques crédits dans la section “Free Trial”.

Si ce n’est pas le cas, il faudra ajouter une méthode de paiement, et acheter quelques crédits.

Attention, votre solde pourra mettre quelques minutes à s’actualiser chez OpenAI, il se peut que vos premiers appels API reviennent avec l’erreur “Crédits insuffisants”.

Créer les bases du script

Maintenant que nous avons notre clé d’API dans le fichier .env de notre projet, nous allons pouvoir installer les dépendances.

Exécutez la commande npm install --save dotenv openai dans votre terminal.

Ensuite, il faudra créer un fichier index.js et y coller le code suivant :

const dotenv = import('dotenv');
dotenv.config();

// La création du client doit se faire après l'initialisation de dotenv, car le SDK récupère directement la variable `OPENAI_API_KEY`
const OpenAI = import("openai");
const client = new OpenAI();

Tout le reste du tutoriel se passera dans ce fichier index.js.

Utiliser le SDK

Pour notre tutoriel nous allons utiliser l’api responses du SDK, qui est la version de remplacement de chat.completion (aujourd'hui dépréciée).

Nous allons enfin pouvoir pour dialoguer avec ChatGPT :

const response = await client.responses.create({
    model: "gpt-5.2",
    input:  [
        { role: "system", content: "Tu es un assistant poète, ton style est moderne et ton langage soutenu. Tu n'ajoute aucun formattage à tes réponses." },
        { role: "user", content: `Rédige un poème de 4 vers, avec des rhymes sous la forme ABBA, sur le thème de la programmation` },
    ]
});

console.log(response.output_text);

À savoir que :

  • le role system permet d’envoyer des indications de configuration à l’IA
  • le role user permet de dialoguer directement et de demander une réponse

Voyons maintenant ce qu’il se passe lorsqu’on exécute ce code.

Résultat

Pour lancer notre script, il suffit d’ouvrir un terminal à la racine du projet, et d’exécuter la commande : node index.js

Et voici ce qui sera affiché par notre console.log :

Dans la nuit de l’écran, je compose un algorithme clair,  
Les variables murmurent, et la logique se révèle,
Chaque bug, lentement, se dissout puis se révèle,
Au bout du code, enfin, le programme tient, presque clair.

À savoir évidemment que vous aurez un résultat différent à chaque fois que vous exécuterez votre script.

Comprendre la réponse

Vous aurez remarqué que pour afficher la réponse de l’IA, nous avons été chercher la propriété output_text, cette propriété n'est pas propre à l'API mais au SDK officiel, qui concatène toutes les réponses textuelles de l'API en une seule chaîne de caractères.

Si vous voulez avoir le détails des propriétés de l’objet réponse, vous pouvez consulter la documentation officielle

Il y a d'autres informations importantes supplémentaires dans la réponse de l’API :

  • output qui va contenir chaque réponse individuelle (message) du chat
  • usage qui va vous indiquer le nombre de tokens utilisés pour traiter la requête et générer une réponse

Utiliser l'API Vision pour décrire une image

Il est également possible d'envoyer des fichiers, comme des images, pour demander à ChatGPT d'analyser cette dernière.

Au lieu d'envoyer un simple message dans input, nous allons désormais envoyer un message de type input_image, comme ceci :

const response2 = await client.responses.create({
    model: "gpt-4.1-mini",
    input: [{
        role: "user",
        content: [
            { type: "input_text", text: "Décris cette image" },
            {
                type: "input_image",
                image_url: "https://lirp.cdn-website.com/1b3c7062/dms3rep/multi/opt/shutterstock_1308748093-1920w.jpg",
            },
        ],
    }],
});

console.log(response2.output_text);

Vous pouvez également envoyer des images au format Base64, comme expliqué dans la documentation officielle

Fonctionnalité dépréciée

Avec l'API chat.completion il était possible de fournir une seed et de générer des réponses reproductibles.

Cette fonctionnalité a disparu avec les nouvelles versions de l'API (mais disponible dans chat.completion pour l'instant)

Code complet

Voici le code complet du fichier index.js utilisé lors de ce tutoriel :

import dotenv from "dotenv";
dotenv.config();
import OpenAI from "openai";
const client = new OpenAI();

const response = await client.responses.create({
    model: "gpt-5.2",
    input:  [
        { role: "system", content: "Tu es un assistant poète, ton style est moderne et ton langage soutenu. Tu n'ajoute aucun formattage à tes réponses." },
        { role: "user", content: `Rédige un poème de 4 vers, avec des rhymes sous la forme ABBA, sur le thème de la programmation` },
    ]
});

console.log(response);

const response2 = await client.responses.create({
    model: "gpt-4.1-mini",
    input: [{
        role: "user",
        content: [
            { type: "input_text", text: "Décris cette image" },
            {
                type: "input_image",
                image_url: "https://lirp.cdn-website.com/1b3c7062/dms3rep/multi/opt/shutterstock_1308748093-1920w.jpg",
            },
        ],
    }],
});

console.log(response2.output_text);

Et voilà, vous savez désormais utiliser l’API de ChatGPT en NodeJS !


Vous avez terminé l'article ?
Nos cours complets
Passez à la vitesse supérieure grâce à nos formations !

Des cours complets, des exercices et des certificats pour vraiment apprendre la programmation !

4,8 en moyenne

Commentaires (0)

pour laisser un commentaire

Aucun commentaire pour l'instant