Toutes les pages
Sur cette page

OpenAI et OpenAI Image

OAR propose deux fournisseurs qui tournent sur votre propre clé d’API OpenAI, et vous n’enregistrez la clé qu’une fois pour les deux.

  • OpenAI (BYOK) est un agent de code. C’est le runtime GitHub Copilot, dirigé vers l’API OpenAI (ou un endpoint compatible) avec votre clé au lieu des modèles d’un forfait Copilot. Il lit des fichiers, lance des commandes et modifie du code comme une conversation Copilot.
  • OpenAI Image (BYOK) n’est pas un agent. C’est un chat dans lequel chaque message devient une requête à l’API Images d’OpenAI, et chaque réponse est une ou plusieurs images.

Les deux sont facturés sur votre compte OpenAI. L’agent OpenAI a besoin de la CLI GitHub Copilot sur l’hôte du relais, parce que c’est le runtime Copilot qui le fait tourner ; voir GitHub Copilot. Le fournisseur d’images n’utilise pas la CLI Copilot.

La mise en place #

Ouvrez Settings → Providers → OpenAI (Réglages → Fournisseurs → OpenAI).

Champ Ce que c’est Par défaut
OpenAI API key (Clé d’API OpenAI) Votre clé. Tant qu’aucune clé n’est enregistrée, le texte indicatif montre le début d’une clé OpenAI ; ensuite, il affiche Saved API key (enter to replace) (Clé d’API enregistrée, saisir pour la remplacer). aucune
Enable OpenAI API key for New Chat model selection (Activer la clé d’API OpenAI dans le choix du modèle des nouveaux chats) Propose OpenAI (BYOK) et OpenAI Image (BYOK) dans New Chat (Nouveau chat). Il est activé dès que vous enregistrez une clé, et indisponible tant qu’aucune clé n’existe. activé après le premier enregistrement
OpenAI model ID (ID de modèle OpenAI) Le modèle qu’utilise l’agent OpenAI par défaut. gpt-4o
Base URL (URL de base) (facultatif) Où partent les requêtes. Laissez-le vide pour OpenAI lui-même. https://api.openai.com/v1

Appuyez sur Save OpenAI settings (Enregistrer les réglages OpenAI). Le relais demande alors à l’endpoint sa liste de modèles (/models sous l’URL de base) et ajoute ce qu’il trouve aux sélecteurs de modèle. Si cela échoue, les réglages sont quand même enregistrés et une notification en indique la raison ; les modèles d’avant restent.

La clé est stockée dans la base de données du relais, sur l’hôte. Le champ ne l’affiche plus jamais : une fois une clé enregistrée, son texte indicatif affiche Saved API key (enter to replace). Laissez-le vide pour garder la clé enregistrée, ou tapez-en une nouvelle pour la remplacer.

La ligne d’état sous les champs vous indique où vous en êtes :

OpenAI API is enabled. Select OpenAI in New Chat to use model gpt-4o.
API key saved but currently disabled. Enable it to allow OpenAI selection in New Chat.
Not configured. New conversations use GitHub Copilot.

Désactiver OpenAI ou supprimer la clé #

Ce que vous faites Ce qui se passe
Vous désactivez l’interrupteur d’activation New Chat ne propose plus les deux fournisseurs. La clé et la liste des modèles restent enregistrées. Les conversations qui n’ont pas encore envoyé de message restent où elles sont.
Vous appuyez sur Remove saved key (Supprimer la clé enregistrée) Après une confirmation, la clé et la liste des modèles sont supprimées et OpenAI est désactivé. Les conversations qui n’ont pas encore envoyé de message et n’ont rien en file passent sur Copilot. Une notification indique que les nouvelles conversations utilisent GitHub Copilot.
Vous appuyez sur Remove saved key alors qu’une conversation OpenAI a un message ou un élément en file Refusé. Une alerte affiche Cannot remove OpenAI API key while N active OpenAI conversation(s) still exist. Disable OpenAI for new conversations instead. et la clé reste.

Les chats d’image comptent ici comme des conversations OpenAI. En pratique, la clé ne peut être supprimée qu’une fois supprimées toutes les conversations OpenAI ou OpenAI Image qui ont un message. Si vous voulez seulement arrêter les nouveaux chats OpenAI, désactivez plutôt l’interrupteur. Les conversations des autres fournisseurs ne comptent pas.

Un autre endpoint #

Mettez dans Base URL l’adresse de n’importe quel endpoint qui parle l’API OpenAI, par exemple https://llm.example.com/v1, et dans OpenAI API key la clé qu’attend cet endpoint. L’agent s’adresse à lui pour les conversations, le relais pour la découverte des modèles et pour les images. Enregistrer de nouveau l’adresse par défaut efface la valeur stockée.

L’agent a besoin d’un modèle qui prend en charge l’appel d’outils et le streaming, avec une fenêtre de contexte d’au moins 128k tokens pour de meilleurs résultats. C’est l’exigence de la CLI Copilot pour tout modèle apporté avec votre propre clé ; OAR ne le vérifie pas. Un chat d’image a besoin d’un endpoint qui a la route de génération d’images et, pour les modifications, la route de modification d’images, et qui liste un modèle d’image.

OpenAI, l’agent #

Choisissez OpenAI (BYOK) comme Provider (Fournisseur) dans New Chat. La liste des modèles est celle enregistrée pour votre clé. La conversation se comporte ensuite comme une conversation Copilot : le même sélecteur de mode, la même queue, le même pilotage, les mêmes cartes de question et les mêmes outils de fichiers. Voir Démarrer une conversation pour la boîte de dialogue et Modes du relais pour les modes.

Ce qui découle du fait de tourner sur le runtime Copilot :

  • Le moteur Copilot décide des fonctionnalités. C’est le choix valable pour tout le relais dans Settings → Providers → Copilot → Copilot engine (Réglages → Fournisseurs → Copilot → Moteur Copilot), lu au démarrage du worker d’une conversation. Le pilotage, le panneau des tâches de fond et les cartes de question en dépendent ; voir GitHub Copilot.

  • Le modèle est figé. Après le premier message, la zone de saisie est verrouillée sur le modèle avec lequel la conversation a démarré, et la note au-dessus du champ de saisie le nomme.

  • L’effort de raisonnement dépend du modèle. Les options de Reasoning effort (Effort de raisonnement) suivent le nom du modèle. La première option est présélectionnée, sauf si vous en avez utilisé une autre la dernière fois.

    Le nom du modèle commence par Options
    gpt-5, codex none, low, medium, high, xhigh
    o1, o3, o4 low, medium, high
    tout le reste none
  • Format d’échange. Les modèles gpt-5, codex-, o1, o1-, o3, o3- et o4- utilisent la Responses API ; les autres utilisent Chat Completions. Cela compte si votre endpoint ne prend en charge que l’une des deux.

  • Pas de consommation du forfait. Les turns OpenAI n’ont pas de ligne de consommation sous la réponse et pas d’entrée dans Check Usage (Vérifier la consommation) ; elles sont réservées à Copilot. Le compactage, les redémarrages et la reprise fonctionnent comme pour Copilot : voir Compactage et Redémarrages et reprise.

OpenAI Image, le chat d’image #

Un chat d’image sert à créer et retravailler des images à partir d’une description. Il n’y a pas d’agent : le relais envoie votre message à l’API Images et affiche ce qui revient dans le chat.

En démarrer un #

  1. Ouvrez New Chat et réglez Provider sur OpenAI Image (BYOK). Il apparaît à côté d’OpenAI (BYOK) dès qu’OpenAI est activé.
  2. Choisissez un Model (Modèle). Seuls les modèles d’image sont listés : ceux dont le nom commence par gpt-image- ou dall-e-. La découverte des modèles du relais ne garde que les noms qui commencent par gpt-, chatgpt-, o1, o3, o4-, codex- ou openai/ : les modèles gpt-image-* sont donc trouvés sur votre endpoint, mais un modèle dall-e-* n’apparaît que si vous saisissez son ID comme OpenAI model ID. Si aucun modèle d’image n’est listé, il n’y a rien à choisir.
  3. Réglez Quality (Qualité) et Size (Taille).
  4. Appuyez sur Start chat (Démarrer le chat), puis décrivez l’image.

Un chat avec un modèle qui n’est pas un modèle d’image est refusé : OpenAI image provider requires an image model (received "model-name").

Sélecteur Options Par défaut
Quality auto, low, medium, high L’option utilisée la dernière fois (elle partage la mémoire de Reasoning effort), sinon auto
Size, gpt-image-* et autres modèles d’image auto, 1024x1024, 1536x1024, 1024x1536 La taille utilisée la dernière fois, sinon auto
Size, dall-e-3 1024x1024, 1792x1024, 1024x1792 La taille utilisée la dernière fois si elle est proposée, sinon 1024x1024
Size, dall-e-2 256x256, 512x512, 1024x1024 La taille utilisée la dernière fois si elle est proposée, sinon 256x256

« Utilisée la dernière fois » est mémorisé par navigateur. Dans le chat ouvert, la zone de saisie garde les deux sous forme de sélecteurs : la qualité à la place de l’effort de raisonnement, intitulée Quality, et la taille, intitulée Image size (Taille de l’image). Vous pouvez donc les changer d’un message à l’autre. Chaque message crée une image. La qualité et la taille se règlent aussi dans Démarrer une conversation.

Modifications et suites #

Un nouveau message donne une image nouvelle. Pour retravailler une image que vous avez déjà, utilisez Edit this image (Modifier cette image) sous celle-ci :

  1. Appuyez sur Edit this image sous l’image. Une puce au-dessus de la zone de saisie affiche Editing (Modification) et le nom de l’image, avec un bouton pour annuler, et le champ de saisie demande Describe how to edit this image….
  2. Tapez ce qu’il faut changer et envoyez. Le relais envoie exactement cette image et votre texte à la route de modification de l’API Images, et la nouvelle image apparaît comme réponse.
  3. La nouvelle image a elle aussi Edit this image, et un lien Edited from previous image (Modifiée à partir de l’image précédente) qui ramène à celle dont elle est issue.

Comme la modification part de l’image sous laquelle vous avez appuyé sur le bouton, vous pouvez créer des branches : modifier de nouveau une image plus ancienne sans entraîner les suivantes. La puce disparaît une fois le message envoyé.

Vous pouvez aussi joindre une de vos propres images à un message dans un chat d’image. La première image jointe est celle qui est modifiée. Seule la première est utilisée.

La désactiver

Edit this image dépend du réglage Generated-image continuity (Continuité des images générées) dans Settings → Features (Réglages → Fonctionnalités), activé par défaut. Quand il est désactivé, le bouton disparaît et une suite n’a pas de lien vers une image antérieure, mais joindre une image la modifie toujours.

Où vivent les images #

Le relais enregistre chaque image générée comme un fichier sur l’hôte, dans le dossier d’état de session de la CLI Copilot (~/.copilot/session-state, ou le dossier indiqué par COPILOT_SESSION_STATE_DIR), sous la conversation. Il les affiche dans le chat à partir de là, et un lien partagé en lecture seule les affiche aussi. Elles restent aussi longtemps que la conversation ; supprimer la conversation supprime ses images.

Ce qu’un chat d’image n’a pas #

La requête se compose seulement de votre texte et, pour une modification, d’une image. Il n’y a donc pas de dossier de travail à lire ou à écrire, pas d’outils, pas de questions d’un agent, pas de pilotage d’un turn en cours, pas de tâches de fond et pas de compactage. Le sélecteur de mode s’affiche toujours, mais n’a aucun effet ; voir Modes du relais. Rien ne tourne sur l’hôte du relais à part la requête.

Si une requête échoue, le chat affiche la raison dans la réponse. Un échec que l’endpoint signale comme une erreur client (statut 400 à 499) n’est pas réessayé ; le turn échoue avec Error code: relay.image-provider-rejected. Une erreur réseau ou une erreur serveur est réessayée. Si le relais est interrompu alors qu’une image a peut-être déjà été créée, la requête n’est pas relancée, pour éviter les doublons.

Coûts #

Les deux fournisseurs sont facturés sur votre compte OpenAI, ou sur le compte auquel appartient votre endpoint. OAR ne le mesure pas : les turns OpenAI n’ont pas de ligne de consommation ni d’entrée dans Check Usage, et les requêtes d’image n’affichent aucun coût. Surveillez vos dépenses dans le tableau de bord de votre fournisseur. Un message d’image fait une requête d’image ; un turn d’agent peut faire de nombreuses requêtes au modèle, car chaque étape d’outil est un aller-retour de plus.

Côte à côte #

OpenAI (BYOK) OpenAI Image (BYOK)
Ce qui tourne Le runtime Copilot, avec votre clé Le relais, qui appelle l’API Images
A besoin de la CLI Copilot Oui Non
Réponse Texte, code, activité des outils Une image par message
Modèles Les modèles de chat découverts ; par défaut gpt-4o gpt-image-* et dall-e-*
Sélecteurs de New Chat Reasoning effort Quality et Size
Outils, dossier de travail, modes du relais Oui Non (le sélecteur de mode n’a aucun effet)
Pilotage, tâches de fond, cartes de question Oui (moteur SDK) Non
Suite La conversation continue Edit this image, ou une image jointe

Si ça ne marche pas #

Vous voyez Cause et solution
OpenAI (BYOK) et OpenAI Image (BYOK) n’apparaissent pas dans Provider Aucune clé n’est enregistrée, ou l’interrupteur d’activation est désactivé. Ouvrez Settings → Providers → OpenAI.
OpenAI API key is not configured au démarrage d’un chat Aucune clé n’est enregistrée. Enregistrez-en une de nouveau.
Save an OpenAI API key before enabling OpenAI. Vous avez activé l’interrupteur sans clé enregistrée. Saisissez une clé et appuyez sur Save OpenAI settings.
Une notification après l’enregistrement indique que la découverte des modèles a échoué, comme OpenAI model discovery failed (401) L’endpoint a refusé la clé, ou l’URL de base est fausse. Les réglages sont enregistrés ; corrigez la clé ou l’URL et enregistrez de nouveau.
OpenAI model "name" is not available Le modèle n’est pas dans la liste enregistrée. Vérifiez l’OpenAI model ID et la liste des modèles de l’endpoint, ou appuyez sur Refresh (Actualiser) dans Select Models (Sélectionner des modèles).
Un chat d’image n’a aucun modèle à choisir L’endpoint ne liste aucun modèle gpt-image-* ou dall-e-*.
OpenAI image API failed (401) ou un autre statut L’endpoint a rejeté la requête. Les 240 premiers caractères de son message suivent le statut. Une mauvaise clé, l’absence d’accès à ce modèle, ou une taille ou une qualité refusée en sont les causes habituelles.
OpenAI image API request failed Le relais n’a pas pu joindre l’endpoint. Vérifiez l’URL de base et le réseau de l’hôte.
Une modification indique The parent generated image is unavailable Le fichier de l’image a disparu de l’hôte. Repartez d’une nouvelle image.
Cannot remove OpenAI API key while N active OpenAI conversation(s) still exist… Voir Désactiver OpenAI ou supprimer la clé.
L’agent OpenAI ne démarre pas Vérifiez que la CLI Copilot est installée sur l’hôte (voir GitHub Copilot) et que le modèle convient à l’endpoint, y compris le format d’échange décrit plus haut.