OpenAI CLI : installer et appeler l’API OpenAI depuis votre terminal

OpenAI CLI : installer et appeler l’API OpenAI depuis votre terminal

OpenAI CLI : installer et appeler l’API OpenAI depuis votre terminalAntoine Laurent

OpenAI CLI : installer et appeler l’API OpenAI depuis votre terminal L'OpenAI CLI est...

OpenAI CLI : installer et appeler l’API OpenAI depuis votre terminal

L'OpenAI CLI est l'outil officiel en ligne de commande d'OpenAI pour l'API REST OpenAI. Vous installez un seul binaire openai, définissez OPENAI_API_KEY, et appelez l'API depuis votre terminal ou un script shell : openai responses create, openai files upload, openai batches create, openai images generate. Ce n'est pas Codex CLI. Codex est un agent de codage ; openai envoie une requête API par commande.

Essayez Apidog dès aujourd'hui

Ce guide couvre l'installation, l'authentification, les premières commandes à exécuter, et comment il se compare à Codex CLI et à l'ancienne commande openai que le SDK Python plaçait dans votre PATH. Chaque commande et sortie ci-dessous provient de la version 1.44.1, installée et exécutée le 28 octobre 2026.

Qu'est-ce que l'OpenAI CLI ?

L'OpenAI CLI est un binaire Go open source, publié par OpenAI sur github.com/openai/openai-cli sous licence Apache 2.0. Ses commandes reflètent les ressources de l'API (responses, files, batches, images, audio, vector-stores, admin), donc tout ce que vous enverriez avec curl ou un SDK devient une seule commande terminal avec des options.

Il n'est pas tout nouveau. La version 1.0.0 est sortie le 5 mai 2026, et le projet a publié 99 versions depuis ; la 1.44.1 est arrivée le 27 octobre 2026. Considérez-le donc comme un outil mature que vous avez peut-être manqué, et non comme un lancement.

Voici ce que vous obtenez lors d'une première exécution :

openai --version and openai --help output from OpenAI CLI v1.44.1

L'aide regroupe les commandes par tâche : générer du contenu (responses, chat, images, audio, videos), données et récupération (files, uploads, vector-stores, embeddings), modèles et tâches, administration, et un ensemble d'outils locaux qui ne touchent jamais le réseau. L'aide elle-même ne nécessite ni clé API ni connexion, ce qui fait de openai <command> --help le moyen le plus rapide d'apprendre les options.

Il convient aux développeurs qui testent une invite sans écrire de script, aux équipes d'exploitation qui veulent des téléversements de fichiers et des lots dans une tâche cron, et aux agents de codage qui ont besoin d'une interface documentée plutôt que de curl écrit à la main.

Comment installer l'OpenAI CLI

Vous avez trois méthodes d'installation, toutes listées dans le README du projet :

  1. Binaire précompilé. Téléchargez l'archive pour votre système d'exploitation et votre architecture depuis GitHub Releases (des builds macOS, Linux et Windows sont publiés), extrayez-la et placez openai dans votre PATH.
  2. Homebrew.
   brew install openai/tools/openai
Enter fullscreen mode Exit fullscreen mode
  1. Go. Nécessite Go 1.26 ou ultérieur.
   go install 'github.com/openai/openai-cli/cmd/openai@latest'
   export PATH="$PATH:$(go env GOPATH)/bin"
Enter fullscreen mode Exit fullscreen mode

Les installations de version auto-gérées peuvent se mettre à jour pendant les exécutions interactives. Si vous épinglez des versions dans CI, définissez OPENAI_CLI_NO_AUTO_UPDATE=1 pour arrêter les installations automatiques, ou OPENAI_CLI_NO_UPDATE_CHECK=1 pour désactiver complètement les vérifications de mise à jour. Les installations Homebrew et Go conservent leurs notifications de mise à jour mais laissent les mises à niveau au gestionnaire de paquets.

Comment fonctionne l'authentification de l'OpenAI CLI

L'interface lit une clé API standard à partir de OPENAI_API_KEY (ou de l'option --api-key, que vous devriez éviter car elle atterrit dans l'historique du shell). Si vous n'en avez pas encore, notre guide pour obtenir une clé API OpenAI vous explique la procédure.

La configuration la plus rapide est le guide intégré :

openai help setup
Enter fullscreen mode Exit fullscreen mode

Il vous dirige vers la page des clés API et vous donne une ligne read -rs OPENAI_API_KEY pour Bash ou zsh, afin que la clé soit saisie en mode masqué et jamais affichée.

Oubliez la clé et vous obtenez un échec clair et scriptable. Voici la sortie réelle sans clé définie :

OpenAI CLI returns HTTP 401 Unauthorized when no API key is configured

Il se termine avec le statut 1 et vous indique exactement d'où une clé peut provenir. Ajoutez --format-error json lorsqu'un script a besoin du corps d'erreur brut.

Les autres paramètres d'authentification :

Paramètre Option Variable d'environnement Utilisation
Clé API --api-key OPENAI_API_KEY Pour chaque appel API normal
Clé d'administration --admin-api-key OPENAI_ADMIN_KEY openai admin ... (utilisation, projets) ; une clé de projet ne peut pas la remplacer
URL de base --base-url OPENAI_BASE_URL Pour pointer l'interface vers un autre hôte ou une passerelle
Certificat et clé mTLS --mtls-client-cert-file, --mtls-client-key-file OPENAI_MTLS_CLIENT_CERT_FILE, OPENAI_MTLS_CLIENT_KEY_FILE Pour le TLS mutuel, qui nécessite une URL de base HTTPS explicite

Premières commandes OpenAI CLI à exécuter

La forme des commandes suit celle de l'API : openai <resource> [subresource...] <command> [flags...]. Voici les commandes qui méritent leur place dans une boîte à outils.

Effectuer un appel à l'API Responses

openai responses create \
  --model gpt-5.5 \
  --input "Say this is a test"
Enter fullscreen mode Exit fullscreen mode

Les invites longues n'ont pas besoin d'échappement. Les options d'entrée JSON lisent depuis un fichier avec @path :

openai responses create --model gpt-5.5 --input @prompt.txt
Enter fullscreen mode Exit fullscreen mode

Si vous dirigez du JSON ou du YAML depuis une source non fiable, définissez OPENAI_UNTRUSTED_STDIN=1 pour que cette entrée ne puisse pas déclencher de lectures de fichiers locaux.

Téléverser et récupérer des fichiers

openai files upload report.txt --purpose user_data
openai files get file-example
openai files download file-example --output downloaded-report.txt
Enter fullscreen mode Exit fullscreen mode

Exécuter un lot

Placez une requête par ligne dans requests.jsonl, chacune avec un custom_id unique, puis :

openai files upload requests.jsonl --purpose batch
openai batches create --input-file-id file-example \
  --endpoint /v1/responses --completion-window 24h
openai batches wait batch_example --output-dir ./results
Enter fullscreen mode Exit fullscreen mode

batches wait interroge jusqu'à ce que le lot soit terminé et enregistre les fichiers de résultats, ce qui supprime la boucle d'interrogation que vous auriez sinon écrite. Le guide des lots du projet liste les limites actuelles : 50 000 requêtes et 200 Mo par fichier d'entrée, avec une fenêtre d'achèvement de 24h. La tarification des lots diffère de celle des appels synchrones ; consultez notre analyse des tarifs de l'API OpenAI avant de mettre en file d'attente une tâche volumineuse.

Compter les tokens localement, sans clé

La commande tokenizer fonctionne entièrement hors ligne : aucun identifiant, aucun réseau, aucune entrée enregistrée.

openai tokenizer count output in text and JSON formats

L'encodage par défaut est o200k_base, et openai tokenizer encodings liste les autres (cl100k_base, plus deux hérités). L'aide est honnête sur les limites : un comptage en texte brut exclut la structure de la requête et les entrées multimodales, donc ce n'est pas un chiffre de facturation. Pour un comptage côté serveur, utilisez openai responses input-tokens count.

Obtenir une sortie qu'un script peut analyser

La sortie par défaut est du texte lisible, même lorsqu'elle est redirigée. Demandez explicitement des données :

openai models list --format jsonl | jq '.id'
openai files list --format json > files.json
openai files get file-example --transform filename --raw-output
Enter fullscreen mode Exit fullscreen mode

--format accepte auto, text, json, jsonl, yaml, explore (une visionneuse JSON interactive) et pretty. --transform extrait des champs avec la syntaxe GJSON, et jq gère tout ce qui est plus sophistiqué. Vérifiez toujours le statut de sortie avant de faire confiance à un fichier redirigé : une requête échouée peut en laisser un partiel.

Lorsqu'un appel se comporte mal, --debug ajoute le minutage HTTP par tentative ; nettoyez ses journaux avant de les partager. Si vous recevez des 429, notre guide des limites de débit d'OpenAI explique les niveaux.

OpenAI CLI vs Codex CLI vs l'ancienne commande openai

Trois outils partagent un fournisseur et deux partagent un nom. Voici la version courte :

Comparison of OpenAI CLI, Codex CLI and Apidog CLI: what each terminal tool is for

OpenAI CLI Codex CLI Ancien openai Python
Commande openai codex openai
Ce que c'est Un client pour l'API REST Un agent de codage qui lit, modifie et exécute du code dans votre projet Une interface en ligne de commande fournie avec le paquet Python openai
Installation Binaire, Homebrew ou Go npm install -g @openai/codex ou brew install --cask codex pip install openai
Authentification OPENAI_API_KEY Gère sa propre connexion Clé API
Quand l'utiliser Vous voulez un appel API spécifique, ou des étapes API dans un script Vous voulez qu'un agent implémente ou débogue un changement Vous maintenez d'anciens scripts construits dessus

Exécutez openai codex et l'OpenAI CLI affiche lui-même les commandes d'installation de Codex, en notant qu'il s'agit d'un outil séparé avec sa propre connexion. Notre guide de Codex CLI couvre le côté agent, et le code source se trouve sur github.com/openai/codex.

Attention au conflit de PATH

Le paquet Python openai installe également un binaire nommé openai. Si vous avez déjà exécuté pip install openai, vous en avez peut-être deux :

which -a openai shows two openai binaries: the new OpenAI CLI and the legacy Python SDK command

Sur ce Mac, celui en Python indique openai 2.30.0 et propose les sous-commandes api, tools, migrate et grit ; celui en Go indique openai version 1.44.1. Le répertoire qui apparaît en premier dans votre PATH l'emporte. Exécutez which -a openai et openai --version après l'installation. Si la sortie indique openai version 1.44.1 (ou plus récent), vous avez le bon. Si elle affiche un simple numéro de version comme openai 2.30.0, réorganisez votre PATH ou appelez le nouveau binaire par son chemin complet.

Où se situe Apidog CLI à côté de l'OpenAI CLI

L'OpenAI CLI effectue des appels vers OpenAI. Il ne connaît pas votre propre API : les points de terminaison que votre application expose au-dessus d'OpenAI, les environnements dans lesquels vous déployez, ou les assertions qui prouvent qu'une version n'a rien cassé. C'est un autre travail, et c'est là qu'intervient Apidog CLI. Vous ne choisissez pas l'un plutôt que l'autre ; la plupart des équipes qui livrent une fonctionnalité d'IA veulent les deux.

Mieux encore, laissez votre agent de codage exécuter les deux. Configurez Apidog CLI une fois :

npm install -g apidog-cli@latest
apidog login --with-token <YOUR_TOKEN>
npx -y skills add https://apidog.com   # pick your agent when prompted
Enter fullscreen mode Exit fullscreen mode

Ensuite, donnez un seul prompt à votre agent :

Use the openai CLI to confirm my key works with one responses create call on gpt-5.5.
Then import ./openapi.yaml into Apidog project <id>, create a test case for
POST /v1/summarize that asserts a 200 and a non-empty "summary" field, run it
against the staging environment and summarize any failures.
Enter fullscreen mode Exit fullscreen mode

L'agent vérifie la clé avec openai, puis travaille avec Apidog CLI. Il lit le schéma avant d'écrire une charge utile, valide le fichier, et seulement ensuite crée et exécute le cas :

apidog import --project <id> --format openapi --file ./openapi.yaml
apidog cli-schema get test-case-create
apidog cli-schema validate test-case-create --file case.json
apidog test-case create --project <id> --file case.json
apidog run --test-case <caseId> --project <id> -e <envId> -r cli,json
Enter fullscreen mode Exit fullscreen mode

Deux détails de apidog test-case create --help évitent un aller-retour : le cas nécessite un categoryId valide (listez-les avec apidog test-case category --project <id>), et les charges utiles doivent provenir de cli-schema, jamais de mémoire. La même ligne apidog run avec -r junit s'intègre dans CI, comme le montre notre guide CI/CD d'Apidog CLI. Si Codex est votre agent, commencez par Apidog CLI dans Codex.

Le plan gratuit d'Apidog couvre jusqu'à 4 utilisateurs, donc une petite équipe peut essayer cela sans décision d'achat.

FAQ

L'OpenAI CLI est-il gratuit ? L'outil est gratuit et open source sous Apache 2.0. Les appels API qu'il effectue sont facturés à votre compte OpenAI aux tarifs API normaux. Les commandes locales comme openai tokenizer et chaque page --help ne coûtent rien et ne nécessitent aucune clé.

L'OpenAI CLI est-il identique à Codex CLI ? Non. openai envoie des requêtes API directes, une par commande. codex est un agent de codage qui lit et modifie votre projet et exécute des commandes. Ils s'installent séparément et s'authentifient séparément.

Comment installer l'OpenAI CLI sur un Mac ? Exécutez brew install openai/tools/openai, ou téléchargez le zip macos_arm64 (Apple Silicon) ou macos_amd64 (Intel) depuis GitHub Releases et placez le binaire dans votre PATH. Ensuite, exécutez openai --version pour confirmer que vous n'utilisez pas l'ancienne commande openai de Python.

L'OpenAI CLI fonctionne-t-il dans les scripts shell et la CI ? Oui, c'est son principal objectif de conception. Utilisez --format json ou jsonl pour une sortie analysable, vérifiez le statut de sortie, conservez la clé dans OPENAI_API_KEY à partir de votre gestionnaire de secrets, et définissez OPENAI_CLI_NO_AUTO_UPDATE=1 pour garder la version épinglée.

Quand l'OpenAI CLI a-t-il été publié ? La version 1.0.0 a été publiée sur GitHub le 5 mai 2026. Au 28 octobre 2026, la dernière version est la 1.44.1, datant du 27 octobre.