すべてのページ
このページの内容

OpenAI と OpenAI Image

OAR には、自分の OpenAI API キーで動くプロバイダーが 2 つあり、キーは両方のために一度保存するだけです。

  • OpenAI (BYOK) はコーディングエージェントです。GitHub Copilot のランタイムを、Copilot プランのモデルではなく、自分のキーで OpenAI API(または互換エンドポイント)に向けたものです。Copilot の会話と同じように、ファイルを読み、コマンドを実行し、コードを編集します。
  • OpenAI Image (BYOK) はエージェントではありません。すべてのメッセージが OpenAI Images API へのリクエストになり、すべての返信が 1 枚以上の画像になるチャットです。

どちらも自分の OpenAI アカウントに課金されます。OpenAI のエージェントは Copilot のランタイムが実行するため、リレーのホストに GitHub Copilot CLI が必要です。GitHub Copilot を参照してください。画像のプロバイダーは Copilot CLI を使いません。

設定する #

Settings → Providers → OpenAI(設定 → プロバイダー → OpenAI)を開きます。

項目 内容 既定
OpenAI API key(OpenAI API キー) 自分のキーです。キーを保存するまでは、プレースホルダーに OpenAI のキーの先頭部分が表示されます。保存後は Saved API key (enter to replace)(保存済みの API キー、入力すると置き換え)と表示されます。 なし
Enable OpenAI API key for New Chat model selection(新しいチャットのモデル選択で OpenAI API キーを有効にする) New Chat(新しいチャット)に OpenAI (BYOK) と OpenAI Image (BYOK) を表示します。キーを保存するとすぐにオンになり、キーがない間は使えません。 最初の保存後はオン
OpenAI model ID(OpenAI モデル ID) OpenAI のエージェントが既定で使うモデルです。 gpt-4o
Base URL(ベース URL)(任意) リクエストの送り先です。OpenAI 自身を使う場合は空のままにします。 https://api.openai.com/v1

Save OpenAI settings(OpenAI の設定を保存)を押します。リレーはエンドポイントにモデルの一覧(ベース URL の下の /models)を問い合わせ、見つかったものをモデルの選択欄に追加します。失敗した場合も設定は保存され、通知に理由が表示されます。以前のモデルは残ります。

キーは、ホスト上のリレーのデータベースに保存されます。入力欄にキーが再び表示されることはありません。キーを保存すると、プレースホルダーには Saved API key (enter to replace) と表示されます。保存済みのキーをそのまま使うには空のままにし、置き換えるには新しいキーを入力します。

入力欄の下のステータス行に、現在の状態が表示されます。

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.

無効にする、またはキーを削除する #

操作 結果
有効化のスイッチをオフにする New Chat に両方のプロバイダーが表示されなくなります。キーとモデルの一覧は保存されたままです。まだメッセージを送っていない会話はそのままです。
Remove saved key(保存したキーを削除)を押す 確認の後、キーとモデルの一覧が削除され、OpenAI がオフになります。まだメッセージを送っておらず、キューにも何もない会話は Copilot に移ります。新しい会話は GitHub Copilot を使うという通知が表示されます。
OpenAI の会話にメッセージまたはキューの項目がある間に Remove saved key を押す 拒否されます。Cannot remove OpenAI API key while N active OpenAI conversation(s) still exist. Disable OpenAI for new conversations instead. というアラートが表示され、キーは残ります。

ここでは、画像チャットも OpenAI の会話として数えられます。実際には、メッセージのある OpenAI と OpenAI Image の会話をすべて削除して初めて、キーを削除できます。新しい OpenAI のチャットを止めたいだけなら、代わりにスイッチをオフにします。ほかのプロバイダーの会話は関係ありません。

別のエンドポイント #

OpenAI API に対応した任意のエンドポイントのアドレスを Base URL に入れ(例:https://llm.example.com/v1)、そのエンドポイントが求めるキーを OpenAI API key に入れます。会話ではエージェントがそのエンドポイントと通信し、モデルの検出と画像ではリレーが通信します。既定のアドレスをもう一度保存すると、保存されている値が消去されます。

エージェントには、ツール呼び出しとストリーミングに対応したモデルが必要です。最良の結果を得るには、コンテキストウィンドウが 128k トークン以上のモデルを使います。これは自分のキーを使うモデル全般に対する Copilot CLI の要件で、OAR は確認しません。画像チャットには、画像生成のルートと、編集の場合は画像編集のルートを持ち、画像モデルを一覧に載せているエンドポイントが必要です。

エージェントとしての OpenAI #

New Chat で Provider(プロバイダー)に OpenAI (BYOK) を選びます。モデルの一覧は、キーに対して保存された一覧です。その後の会話は Copilot の会話と同じように動作します。同じモードの選択欄、キュー、軌道修正、質問カード、ファイルツールがあります。ダイアログについては会話を始めるを、モードについてはリレーモードを参照してください。

Copilot のランタイムで動くことから、次のことが言えます。

  • Copilot のエンジンが機能を決めます。 これはリレー全体の選択で、Settings → Providers → Copilot → Copilot engine(設定 → プロバイダー → Copilot → Copilot エンジン)にあり、会話のワーカーの起動時に読み込まれます。軌道修正、バックグラウンドタスクのパネル、質問カードはエンジンに依存します。GitHub Copilot を参照してください。

  • モデルは固定されます。 最初のメッセージの後、入力欄は会話を始めたときのモデルにロックされ、入力欄の上の注記にそのモデルの名前が表示されます。

  • reasoning effort はモデルによって変わります。 Reasoning effort の選択肢はモデルの名前に従います。前回ほかの選択肢を使っていなければ、最初の選択肢があらかじめ選ばれています。

    モデル名の先頭 選択肢
    gpt-5、codex none、low、medium、high、xhigh
    o1、o3、o4 low、medium、high
    それ以外 none
  • ワイヤーフォーマット。 gpt-5、codex-、o1、o1-、o3、o3-、o4- のモデルは Responses API を使い、それ以外は Chat Completions を使います。エンドポイントがどちらか一方にしか対応していない場合に関係します。

  • プランの使用状況はありません。 OpenAI のターンでは、返信の下に使用状況の行がなく、Check Usage(使用状況の確認)にも項目がありません。これらは Copilot 専用です。コンパクト化、再起動、再開は Copilot と同じように動作します。コンパクト化と再起動と再開を参照してください。

画像チャットとしての OpenAI Image #

画像チャットは、説明から画像を作ったり作り直したりするためのものです。エージェントはありません。リレーはメッセージを Images API に送り、返ってきたものをチャットに表示します。

画像チャットを始める #

  1. New Chat を開き、Provider を OpenAI Image (BYOK) にします。OpenAI が有効になると、OpenAI (BYOK) の隣に表示されます。
  2. Model(モデル)を選びます。表示されるのは画像モデル、つまり名前が gpt-image- または dall-e- で始まるモデルだけです。リレーのモデルの検出では、名前が gpt-、chatgpt-、o1、o3、o4-、codex-、openai/ で始まるものだけが残ります。そのため gpt-image-* のモデルはエンドポイントから見つかりますが、dall-e-* のモデルは、その ID を OpenAI model ID に入力した場合にだけ表示されます。画像モデルが 1 つも表示されない場合は、選べるものがありません。
  3. Quality(品質)と Size(サイズ)を設定します。
  4. Start chat(チャットを開始)を押し、画像の内容を説明します。

画像モデル以外のモデルでのチャットは拒否されます:OpenAI image provider requires an image model (received "model-name")

選択欄 選択肢 既定
Quality auto、low、medium、high 前回使った選択肢(Reasoning effort と記憶を共有します)。なければ auto
Size、gpt-image-* とその他の画像モデル auto、1024x1024、1536x1024、1024x1536 前回使ったサイズ。なければ auto
Size、dall-e-3 1024x1024、1792x1024、1024x1792 前回使ったサイズ(提供されている場合)。なければ 1024x1024
Size、dall-e-2 256x256、512x512、1024x1024 前回使ったサイズ(提供されている場合)。なければ 256x256

「前回使った」ものは、ブラウザーごとに記憶されます。開いているチャットでは、入力欄にこの 2 つが選択欄として残るので、メッセージごとに変更できます。品質は reasoning effort の位置にあってタイトルは Quality、サイズのタイトルは Image size(画像サイズ)です。1 つのメッセージで 1 枚の画像が作られます。品質とサイズの設定については、会話を始めるでも説明しています。

編集と続きのメッセージ #

新しいメッセージは新しい画像になります。すでにある画像を作り直すには、その下の Edit this image(この画像を編集)を使います。

  1. 画像の下の Edit this image を押します。入力欄の上に、Editing(編集中)と画像の名前を示すチップが、取り消し用のボタンとともに表示されます。入力欄には Describe how to edit this image… と表示されます。
  2. 変更したい内容を入力して送信します。リレーはその画像そのものとテキストを Images API の編集ルートに送り、新しい画像が返信として表示されます。
  3. 新しい画像にも Edit this image があり、元の画像に戻る Edited from previous image(前の画像から編集)のリンクもあります。

編集はボタンを押した下の画像から始まるので、分岐させることができます。後の画像を引き継がずに、古い画像をもう一度編集できます。チップはメッセージの送信後に消えます。

画像チャットのメッセージには、自分の画像を添付することもできます。最初に添付した画像が編集の対象になります。使われるのは最初の 1 枚だけです。

無効にする

Edit this image は Generated-image continuity(生成画像の継続性)の設定に属します。この設定は Settings → Features(設定 → 機能)にあり、既定でオンです。オフにするとボタンはなくなり、続きのメッセージは以前の画像とつながりません。ただし、画像を添付すれば引き続きその画像を編集できます。

画像の保存場所 #

リレーは生成した画像をそれぞれファイルとしてホストに保存します。場所は Copilot CLI のセッション状態フォルダー(~/.copilot/session-state、または COPILOT_SESSION_STATE_DIR で指定したフォルダー)の、会話の下です。チャットではそこから画像を表示し、共有の読み取り専用リンクでも表示されます。画像は会話がある限り残ります。会話を削除すると、その画像も削除されます。

画像チャットにないもの #

リクエストに含まれるのは、テキストと、編集の場合は 1 枚の画像だけです。そのため、読み書きする作業フォルダー、ツール、エージェントからの質問、実行中のターンの軌道修正、バックグラウンドタスク、コンパクト化はありません。モードの選択欄は表示されますが、効果はありません。リレーモードを参照してください。リレーのホストで動くのはリクエストだけです。

リクエストが失敗した場合、チャットの返信に理由が表示されます。エンドポイントがクライアントエラー(ステータス 400 から 499)として報告した失敗は再試行されず、ターンは Error code: relay.image-provider-rejected. で失敗します。ネットワークエラーやサーバーエラーは再試行されます。画像がすでに作られた可能性がある時点でリレーが中断された場合は、重複を避けるため、再実行されません。

費用 #

どちらのプロバイダーも、自分の OpenAI アカウント、またはエンドポイントが属するアカウントに課金されます。OAR は使用量を計測しません。OpenAI のターンには使用状況の行がなく、Check Usage にも項目がなく、画像のリクエストにも費用は表示されません。支出はプロバイダーのダッシュボードで確認してください。1 つの画像メッセージで、画像のリクエストは 1 回です。エージェントのターンは、ツールの各ステップが 1 回の往復になるため、多数のモデルリクエストを行うことがあります。

比較 #

OpenAI (BYOK) OpenAI Image (BYOK)
動くもの Copilot のランタイム(自分のキーを使用) リレー(Images API を呼び出す)
Copilot CLI が必要 はい いいえ
返信 テキスト、コード、ツールのアクティビティ メッセージごとに画像 1 枚
モデル 検出されたチャットモデル。既定は gpt-4o gpt-image-* と dall-e-*
New Chat の選択欄 Reasoning effort Quality と Size
ツール、作業フォルダー、リレーモード はい いいえ(モードの選択欄は効果なし)
軌道修正、バックグラウンドタスク、質問カード はい(SDK エンジン) いいえ
続きのメッセージ 会話が続く Edit this image、または添付した画像

うまくいかないとき #

表示される内容 原因と対処
Provider に OpenAI (BYOK) と OpenAI Image (BYOK) がない キーが保存されていないか、有効化のスイッチがオフです。Settings → Providers → OpenAI を開きます。
チャットの開始時に OpenAI API key is not configured と表示される キーが保存されていません。もう一度保存します。
Save an OpenAI API key before enabling OpenAI. キーを保存していない状態でスイッチをオンにしました。キーを入力し、Save OpenAI settings を押します。
保存後に、モデルの検出が失敗したという通知が表示される(例:OpenAI model discovery failed (401)) エンドポイントがキーを拒否したか、ベース URL が間違っています。設定は保存されています。キーまたは URL を直して、もう一度保存します。
OpenAI model "name" is not available そのモデルが保存済みの一覧にありません。OpenAI model ID とエンドポイントのモデル一覧を確認するか、Select Models(モデルを選択)で Refresh(再読み込み)を押します。
画像チャットで選べるモデルがない エンドポイントが gpt-image-* や dall-e-* のモデルを一覧に載せていません。
OpenAI image API failed (401) などのステータス エンドポイントがリクエストを拒否しました。ステータスの後に、エンドポイントのメッセージの先頭 240 文字が続きます。よくある原因は、キーが正しくない、そのモデルへのアクセス権がない、サイズや品質が拒否された、のいずれかです。
OpenAI image API request failed リレーがエンドポイントに接続できませんでした。ベース URL とホストのネットワークを確認します。
編集で The parent generated image is unavailable と表示される 画像のファイルがホストからなくなっています。新しい画像から始めます。
Cannot remove OpenAI API key while N active OpenAI conversation(s) still exist… 無効にする、またはキーを削除するを参照してください。
OpenAI のエージェントが起動しない ホストに Copilot CLI がインストールされていること(GitHub Copilot を参照)と、モデルがエンドポイントに合っていること(上記のワイヤーフォーマットを含む)を確認します。