Comment intégrer l'API OpenAI dans votre application
Pour intégrer l'API OpenAI, créez une clé API dans un projet OpenAI, stockez-la comme secret côté serveur nommé OPENAI_API_KEY, et appelez l'API depuis une route de votre propre serveur à l'aide du SDK officiel d'OpenAI, jamais depuis du code de navigateur. En septembre 2026, le guide de démarrage rapide d'OpenAI présente la Responses API comme point de départ pour les nouveaux projets. Définissez un plafond de dépense avant le lancement, limitez la longueur des réponses, restreignez la fréquence à laquelle chaque utilisateur peut appeler la fonctionnalité, et gérez les erreurs de limitation de débit par des nouvelles tentatives.
Ce guide couvre la configuration, le flux de requête, des prompts pour un créateur d'applications IA et les erreurs qui exposent les clés ou font exploser les coûts. Les informations sur OpenAI proviennent de sa documentation officielle de septembre 2026. Pour les concepts généraux (tokens, fenêtres de contexte, tarification), lisez d'abord comment utiliser les API LLM.
Ce que vous pouvez construire avec
- Un assistant conversationnel dans votre application (comment créer une application chatbot IA)
- Des boutons « Résumer ceci », « Reformuler ceci » ou « Rédiger une réponse »
- L'extraction de données structurées à partir de texte libre : transformer un e-mail en commande, classer des tickets de support
- La recherche et les réponses à des questions sur votre propre contenu
- Des fonctionnalités de génération d'images, de voix et d'autres médias, selon les modèles disponibles
D'autres idées figurent dans comment ajouter des fonctionnalités IA à votre application.
Configurer votre compte OpenAI
- Créez un compte et un projet sur la plateforme OpenAI. Les bonnes pratiques de production d'OpenAI recommandent des projets distincts pour la préproduction et la production, afin que chacun ait ses propres clés et limites.
- Créez une clé API de projet. OpenAI recommande de définir une date d'expiration et de renouveler les clés régulièrement.
- Définissez des alertes de dépense et un plafond de dépense strict sur la page des limites. Le guide d'OpenAI indique que les alertes vous préviennent lorsque l'usage dépasse un montant, et qu'un plafond strict impose un maximum mensuel.
- Ajoutez un moyen de paiement. La documentation d'OpenAI sur les limites de débit décrit des niveaux d'usage : vos limites augmentent automatiquement à mesure que vous dépensez davantage au fil du temps.
Le flux de requête
Navigateur -> votre route serveur -> API OpenAI
<- réponse (streamée) <-
- L'utilisateur clique sur un bouton ou envoie un message.
- Le navigateur appelle votre route, par exemple
POST /api/summarise. - Votre serveur vérifie que l'utilisateur est connecté et autorisé à utiliser la fonctionnalité.
- Le serveur construit la requête : instructions, saisie de l'utilisateur et données de votre base nécessaires à la tâche.
- Il appelle OpenAI avec la clé issue de l'environnement. Les SDK d'OpenAI lisent automatiquement
OPENAI_API_KEY. - Il diffuse ou renvoie la réponse, et journalise la consommation de tokens.
Les paquets SDK officiels d'OpenAI s'appellent openai, pour JavaScript/TypeScript (npm) comme pour Python (pip).
Choisir un modèle
OpenAI propose plusieurs modèles à des prix et des vitesses différents, et la gamme change souvent. Commencez avec un modèle plus petit et moins cher, mesurez la qualité sur des exemples réels, et ne passez à un modèle supérieur que si nécessaire. Gardez le nom du modèle dans une valeur de configuration ou un secret pour pouvoir le changer sans réécrire le code. Consultez la page tarifaire d'OpenAI pour les tarifs actuels.
Options et compromis
| Décision | Choix simple | Pour aller plus loin |
|---|---|---|
| Streaming | Renvoyer la réponse complète | Utilisez le streaming pour le chat et les réponses longues ; l'utilisateur voit le texte immédiatement |
| Mémoire de conversation | Renvoyer les messages récents à chaque fois | Résumer les anciens messages quand les conversations s'allongent |
| Format de sortie | Texte brut | Demander un JSON structuré lorsque votre code doit lire des champs |
| Vos données | Inclure l'enregistrement pertinent dans la requête | Ajouter une recherche sur votre contenu quand il y en a trop pour être inclus (voir qu'est-ce que le RAG) |
| Traitement en masse non urgent | Boucler sur les éléments | Utiliser l'option de traitement par lots d'OpenAI pour un coût réduit lorsque les résultats peuvent attendre |
Prompts à donner à votre créateur d'applications IA
Une première fonctionnalité :
Ajoute un bouton « Résumer » sur la page du ticket. Il appelle une route serveur POST /api/summarise qui vérifie que l'utilisateur est connecté, charge le ticket et appelle la Responses API d'OpenAI avec le SDK officiel openai et le secret OPENAI_API_KEY. Lis le nom du modèle dans le secret OPENAI_MODEL. Instructions : « Résume en 3 puces, puis propose une courte réponse. N'invente pas de numéros de commande. » Limite la longueur de la sortie, diffuse la réponse vers la page et n'envoie jamais la clé au navigateur.
Garde-fous :
Limite chaque utilisateur à 30 requêtes IA par heure, stockées dans la base de données. Journalise les tokens d'entrée et de sortie de chaque requête avec l'identifiant de l'utilisateur et le nom de la fonctionnalité. Si OpenAI renvoie un 429, respecte l'en-tête Retry-After et réessaie avec un backoff exponentiel et une gigue, jusqu'à 3 fois ; après cela, affiche « L'IA est occupée, réessayez dans une minute. ». Affiche un message d'erreur convivial pour tout autre échec et laisse le reste de la page fonctionnel.
Gérer les erreurs et les limites
OpenAI mesure les limites de débit de plusieurs façons, notamment en requêtes par minute et en tokens par minute, et vous atteignez celle qui est épuisée en premier. Lorsque vous dépassez l'une d'elles, l'API renvoie un 429 accompagné d'un en-tête Retry-After. La documentation d'OpenAI indique de traiter cette valeur comme un minimum et d'ajouter un petit délai aléatoire pour que les clients ne réessaient pas tous en même temps.
Prévoyez aussi :
- Des délais d'expiration pour les générations longues. Le streaming aide, tout comme un plafond raisonnable de longueur de sortie.
- Des pannes du fournisseur. La fonctionnalité IA doit échouer proprement sans casser la page.
- Des sorties incorrectes. Validez les sorties structurées avant de les enregistrer, et ne laissez pas une sortie du modèle déclencher une action sensible sans contrôle dans votre code.
Erreurs fréquentes
- Clé dans le frontend ou dans le dépôt. Le code du navigateur est public, et une clé divulguée peut être exploitée en quelques minutes. Voir comment protéger vos clés API.
- Absence de plafond de dépense. Une boucle ou un utilisateur abusif peut faire grimper la facture très vite.
- Absence de limites par utilisateur. La limite de votre fournisseur protège votre portefeuille, pas vos autres utilisateurs.
- Faire confiance au prompt pour la sécurité. Les utilisateurs peuvent taper « ignore les instructions précédentes ». Les permissions doivent être dans le code serveur.
- Envoyer plus que nécessaire. Les documents entiers et les historiques longs multiplient le coût. Envoyez ce dont la tâche a besoin.
- Coder en dur le nom du modèle. Les modèles sont mis à jour et retirés ; faites-en un paramètre.
- Envoyer des données personnelles sans réfléchir. Lisez les conditions d'utilisation des données d'OpenAI et n'envoyez que ce dont la fonctionnalité a besoin.
Liste de contrôle
- Projets OpenAI (ou clés) distincts pour les tests et la production
- Clé stockée comme secret côté serveur, jamais dans le code du navigateur ni dans le dépôt
- Alertes de dépense et plafond de dépense strict définis
- Tous les appels passent par votre serveur et vérifient les permissions de l'utilisateur
- Longueur de sortie limitée ; nom du modèle configurable
- Limite de débit par utilisateur dans votre application
- Gestion du 429 avec Retry-After, backoff et gigue
- État d'erreur convivial ; la page fonctionne sans l'IA
- Consommation de tokens journalisée par fonctionnalité
- Testé avec des saisies longues, vides et malveillantes
Utiliser l'API OpenAI dans Mythex
Les fonctionnalités IA des applications que vous créez sur Mythex utilisent votre propre clé OpenAI, facturée sur votre compte OpenAI et non sur vos crédits de création Mythex. Ajoutez OPENAI_API_KEY comme secret de projet via /secrets, les paramètres du projet ou la carte de secrets que l'agent affiche lorsqu'il a besoin d'une clé, puis décrivez la fonctionnalité avec un prompt comme ceux ci-dessus. Après avoir modifié des secrets sur une application publiée, republiez-la pour qu'elle les prenne en compte. Le guide Ajouter des fonctionnalités IA avec vos propres clés API propose un prompt de départ, et Secrets dans le chat explique la carte de secrets. Vous comparez les fournisseurs ? Consultez comment intégrer l'API Claude.
Questions
Quelle API OpenAI utiliser pour une nouvelle application ?
En septembre 2026, le guide de démarrage rapide d'OpenAI présente la Responses API comme point de départ pour les nouveaux projets, avec des exemples utilisant client.responses.create() dans ses SDK officiels. Vérifiez la documentation d'OpenAI pour la recommandation actuelle avant de commencer.
Puis-je appeler l'API OpenAI depuis le navigateur ?
Pas avec votre clé secrète. N'importe qui peut lire le code du navigateur et réutiliser la clé pour faire grimper votre facture. Le navigateur doit appeler votre propre route serveur, et votre serveur appelle OpenAI avec la clé stockée dans une variable d'environnement.
Comment éviter que l'API OpenAI coûte trop cher ?
Le guide de production d'OpenAI recommande des alertes de dépense et un plafond de dépense mensuel strict, configurés sur la page des limites. Dans votre application, limitez la longueur des réponses, restreignez le nombre de requêtes par utilisateur et journalisez la consommation de tokens pour voir quelles fonctionnalités coûtent le plus cher.
Que signifie une erreur 429 d'OpenAI ?
Elle signifie que vous avez atteint une limite de débit. La documentation d'OpenAI indique que la réponse contient un en-tête Retry-After : attendez au moins ce délai, ajoutez un petit délai aléatoire et réessayez avec un backoff exponentiel.