Codex

Codex APIとは?APIキーでの使い方・料金・自動化の方法を解説

INTERCREATE JAPAN 編集部公開 2026.10.15

この記事でわかること

  • 「Codex API」と呼ばれるものの3つの意味
  • ChatGPTでサインインする場合との違いと、APIキーだと使えない機能
  • APIキーの設定手順、保存場所、サインイン状態の確認
  • モデルの指定、APIの料金、費用の上限の設定
  • codex exec・SDK・GitHub Actionでの自動化と、安全面の注意
  • OpenAIのAPIを直接使う場合との違い、キーの管理と困ったときの対処
目次
  1. Codex APIとは
  2. 目的別の早見表
  3. APIキーでCodexを使う
  4. サインインの方式は3種類
  5. APIキーで使えないもの
  6. 管理者の設定とデータの扱い
  7. APIキーでサインインする手順
  8. サインイン状態の確認と切り替え
  9. キーの保存場所を選ぶ
  10. プランとAPIキーを併用する
  11. 会社の方針でサインイン方式を固定する
  12. モデルと費用
  13. モデルを指定する
  14. APIの料金
  15. Codex向けの名前が付いたモデルの扱い
  16. 費用の上限を決める
  17. 費用を抑える工夫
  18. codex execで自動化する
  19. 基本の使い方
  20. 出力を機械で扱う
  21. 書き換えを許す範囲を決める
  22. APIキーを渡す
  23. 自動実行で結果をそろえるための設定
  24. 自動実行の使い方の例
  25. 前回の続きから動かす・Gitの条件
  26. SDKとGitHub Actionで組み込む
  27. Codex SDK
  28. app serverとの使い分け
  29. GitHub Action
  30. 失敗したCIの修正案を作る流れの例
  31. GitHub Actionで気をつけること
  32. OpenAIのAPIを直接使う場合
  33. Responses APIの最小の例
  34. APIを使い始めるまでの準備
  35. CodexとAPIの直接利用の違い
  36. 接続先や認証を変える
  37. キーの管理と困ったとき
  38. キーを守るための基本
  39. CIでの認証の考え方
  40. うまくいかないときの対処
  41. 会社で使う前に決めておくこと
  42. 導入の進め方
  43. よくある質問
  44. まとめ

「Codex APIという言葉を見かけたが、何のことか分からない」「APIキーでCodexを使うと、ChatGPTのプランで使う場合と何が違うのか」「CIや社内のツールからCodexを動かしたい」と調べている方は多いのではないでしょうか。

先に整理しておくと、OpenAIの公式ドキュメントの一覧には、「Codex API」という名前の独立した製品やページは見当たりません(2026年10月時点で確認)。この言葉は、実際にはAPIキーでCodexにサインインして使うこと、プログラムの中からCodexを動かすこと、OpenAIのAPIでモデルを直接呼び出すことのどれかを指して使われています。どれを指しているかで、必要なものも費用のかかり方も変わります。

この記事では、この3つの意味を切り分けたうえで、APIキーでの使い方、モデルと料金、codex exec・SDK・GitHub Actionでの自動化、OpenAIのAPIを直接使う場合の違い、キーの管理までを順に解説します。内容は2026年10月時点の公式情報をもとにしています。料金やモデルは変わることがあるので、契約や導入の前には公式ページもあわせて確認してください。

Codex APIとは

ノートPCの前で、3つの入口を書いたメモを見比べながら整理する担当者

CodexはOpenAIが提供するプログラミング用のAIエージェントで、デスクトップアプリ・ターミナル(文字で命令を打つ画面)のCLI・VS CodeなどのIDE拡張・Web版などから使えます。そのCodexに対して「API」という言葉が付くとき、多くは次の3つのどれかです。

意味やることおもな道具向いている人
1. APIキーでCodexを使うChatGPTのアカウントではなく、OpenAIのAPIキーでサインインして、Codexを使った分だけ支払うCLI・IDE拡張・デスクトップアプリ使用量の上限に達した日に続けたい人、自動化したい人
2. プログラムからCodexを動かす人が画面を操作しなくても、スクリプトやCI、自社のツールからCodexに作業をさせるcodex exec・SDK・GitHub Action定期処理や自動レビューを組みたいエンジニア
3. OpenAIのAPIでモデルを呼び出すCodexというアプリを介さず、OpenAIのモデルを自社のシステムから直接呼ぶResponses API自社のサービスにAIの機能を作り込みたい開発者

1と2は、Codexという「道具」を使う話です。ファイルを読み、コマンドを実行し、作業を進めるところまでをCodexが担当します。3は、Codexを使わず、AIモデルそのものを部品として呼び出す話です。検索で「codex api」と調べている方の多くは、1か2を知りたいのだと思われます。

目的別の早見表

何をしたいかから、使う方法を選べるようにまとめました。

やりたいこと使う方法APIキー
自分のパソコンで、対話しながら使いたいChatGPTのプランでサインインして、アプリかCLIを使ういらない
プランの上限に達した日だけ、作業を続けたい同じCLIやアプリを、APIキーでサインインして使う使う
毎晩のレポートづくりなど、決まった処理を自動で動かしたいcodex exec使う(共有の環境では特に)
自社のツールの中にCodexを組み込みたいCodex SDK(TypeScript・Python)TypeScript版は使える(後述)
GitHubのプルリクエストの流れに組み込みたいGitHub Action(openai/codex-action@v1)使う
自社のサービスに、AIの回答を返す機能を作りたいOpenAIのAPI(Responses API)を直接呼ぶ使う

ふつうに使うだけなら、APIキーはいらない

人が画面を見ながらCodexを使うだけなら、ChatGPTのプランでサインインする方法が基本です。公式の認証のページでも、CI/CDなどの自動化にはAPIキーが推奨の初期値と案内されています。APIキーを使う場面は、自動化や、上限に達したあとの追加利用など、目的がはっきりしている場合に絞るのがおすすめです。

あわせて読みたいCodex CLIとは?使い方・インストール・料金を初心者向けに解説Codex CLIは、OpenAIのAI「Codex」をターミナル(黒い画面)から使い、ファイルの読み書きやコマンドの実行を任せられる道具です。2026年10月時点の公式手順をもとに、できること、使えるプランと料金、インストールとサインイン、基本の使い方、安全に使う設定、業務での活用例をまとめました。

APIキーでCodexを使う

ノートPCの設定画面でAPIキーを入力している開発者の手元

ここでは、1つ目の意味である「APIキーでCodexにサインインして使う」方法を説明します。ChatGPTでサインインする場合との違いを先に押さえておくと、あとの話が分かりやすくなります。

サインインの方式は3種類

公式の認証のページには、Codexのサインイン方式が3つ載っています。

方式払い方使える場所向いている使い方
ChatGPTでサインインChatGPTのプランに含まれる使用量(月額)デスクトップアプリ・CLI・IDE拡張。Codex cloudはこの方式が必須人が対話しながら使う
APIキーでサインイン使ったトークンの量に応じたAPI料金(従量課金)デスクトップアプリ・CLI・IDE拡張でのローカル作業自動化、上限に達したあとの追加利用
CodexのアクセストークンChatGPTのワークスペースの権限自動実行(codex execなど)信頼できる社内のスクリプトやCIの実行環境

アクセストークンは、ChatGPTのBusinessまたはEnterpriseのワークスペースで、管理者が許可した場合だけ使える仕組みです。公式の説明では、トークンを作った人のワークスペース上の立場で動くため、秘密の情報として扱い、信頼できる実行環境だけで使うよう案内されています。一般的なOpenAIのAPIの呼び出しには、これまでどおりAPIキーを使います。

APIキーで使えないもの

APIキーでサインインしても、ローカルでの作業(自分のパソコンのフォルダに対する作業)は、ふつうに使えます。一方、ChatGPTのワークスペースやクラウドのサービスと結びついた機能は、制限されたり使えなかったりします。公式の料金ページと認証のページの内容を整理しました。

機能ChatGPTでサインインAPIキー
デスクトップアプリ・CLI・IDE拡張でのローカル作業○○
codex exec・SDKでの自動化○○
モデルの切り替え、Web検索、AGENTS.md、スキル、MCP、サブエージェントなど○○
Codex cloud(クラウドで作業を任せる)○×
GitHubのコードレビュー・@codexへの依頼○×
Slack・Linearとの連携○×
スマホからのリモート操作、コネクタ○×
音声での入力(デスクトップアプリ)○×

公式の認証のページには、このほかに2つの注意があります。1つは、CLIとデスクトップアプリでは、OAuth(外部サービスへの許可の仕組み)でつなぐ一部のプラグインが、APIキーでは使えないことです。もう1つは、ワークスペースの設定でパソコンの操作を許可する機能(Local computer access with Work Cloud)が、APIキーでは有効にならないことです。「APIキーに切り替えたら、いつも使っていた連携が出てこない」という場合は、この違いが原因です。

管理者の設定とデータの扱い

どちらでサインインするかで、適用される管理者の設定も変わります。

項目ChatGPTでサインインAPIキー
権限・アクセス管理ChatGPTのワークスペースの権限と、役割ごとのアクセス管理に従うOpenAIのAPIの組織の設定に従う
データの保存・共有ChatGPT Enterpriseの保存期間やデータの保管場所の設定に従うAPIの組織の、保存とデータ共有の設定に従う
請求ChatGPTのプランの料金。上限を超えたらクレジットOpenAIのPlatformのアカウントに、標準のAPI料金で請求。ChatGPTのプランのクレジットは使わない

会社でChatGPTのBusinessなどを契約している場合、ふだんの利用はワークスペースの管理下にあります。そこに「個人が自分のAPIキーでCodexを使う」ケースが混ざると、費用もデータの扱いも管理の外に出てしまいます。誰がどちらを使うかを、先に決めておきましょう。

APIキーでサインインする手順

APIキーは、OpenAIのAPIの管理画面(OpenAI Platform)で作成します。作成したあとの手順は、使う道具によって異なります。

  1. APIキーを作るOpenAIの管理画面でAPIキーを作成し、安全な場所に保管します。キーは他人に見せないように保管し、リポジトリには入れません。
  2. CLIの場合キーを環境変数に入れておき、printenv OPENAI_API_KEY | codex login --with-api-keyのように、キーをcodex loginに渡します。公式の例はmacOS・Linuxのものです。
  3. デスクトップアプリの場合サインアウトした画面で「Sign in another way」を選び、キーを入力して「Continue」を選びます。
  4. IDE拡張の場合サインアウトした画面で「Use API Key」を選び、キーを入力して「OK」を選びます。
  5. サインインの状態を確かめるCLIならcodex login statusで、いま使っている認証方式を確認できます。

Windowsで、キーを標準入力に渡す具体的な書き方(PowerShellの場合)は、公式には案内がありません。Windowsで試す場合は、デスクトップアプリやIDE拡張の画面からキーを入力する方法が分かりやすいでしょう。

サインイン状態の確認と切り替え

CLIでの確認と切り替えに使うコマンドは次のとおりです。

やりたいことコマンド
いまの認証方式を確認するcodex login status(認証情報があれば、終了コード0で終わるので、スクリプトの中でも判定に使える)
ChatGPTでサインインするcodex login(ブラウザでChatGPTのOAuthの画面が開く)
APIキーでサインインするprintenv OPENAI_API_KEY | codex login --with-api-key
サインアウトするcodex logout(APIキーとChatGPTのどちらの認証情報も削除される)

なお、ログインの情報はCLIとIDE拡張で共有されます。どちらか一方でサインアウトすると、もう一方でも、次に起動したときに、もう一度サインインが必要になります。

キーの保存場所を選ぶ

サインインしたキーやトークンは、config.tomlのcli_auth_credentials_storeで、保存先を選べます。

設定値保存先注意点
fileCODEX_HOME(初期値は~/.codex)のauth.json平文で保存される。パスワードと同じ扱いが必要
keyringOSの資格情報ストア使えない環境ではエラーになる
autoOSの資格情報ストアを使い、使えなければauth.json環境によって保存先が変わる
ephemeral実行中のプロセスのメモリ内だけ終了すると消える。サインインし直しが必要

auth.jsonは、パスワードと同じように扱う

公式のドキュメントでは、auth.jsonにはアクセストークンが入っているため、パスワードと同様に扱うよう案内されています。Gitのリポジトリに入れない、ログやチャット・チケットに貼らない、複数の人や機械で共有しない、が基本です。また、APIキーでの認証を使うときは、信頼できない環境や公開の環境でCodexの実行を外部に開かないよう注意されています。

プランとAPIキーを併用する

公式の料金ページには、使用量の上限に達したあとも、APIキーを使えば、追加のローカルの作業を標準のAPI料金で続けられると書かれています。「ふだんはPlusの使用量で使い、上限に達した日だけAPIキーに切り替える」という使い方です。

切り替えている間は、前の表のとおり、クラウドの機能やGitHubの連携は使えません。切り替えが必要になる前に、キーと費用の上限を準備しておくと、慌てずに済みます。上限に達したときの対応には、ほかにもクレジットを買い足す方法があります。どちらが安いかは、使うモデルや作業によって変わります。

会社の方針でサインイン方式を固定する

管理者が、使うサインイン方式を決めておくこともできます。config.tomlにforced_login_method = "chatgpt"または"api"と書くと、方式を固定できます。いまのサインイン情報が設定と合っていない場合、Codexはサインアウトして終了します。ワークスペースを特定のものに限定するforced_chatgpt_workspace_idという設定もあります。

モデルと費用

料金の表と費用の上限を設定する画面を見比べて確認する担当者

APIキーで使うと、使った分が従量課金で請求されます。月額のプランと違い、使いすぎれば請求も増えるため、モデルの選び方と上限の設定をあわせて決めておくことが大切です。

モデルを指定する

APIキーでサインインしたときに使えるモデルは、APIの組織とプロジェクトで利用できるモデルに従います。公式のモデルのページには、APIキー向けの全モデルの一覧はなく、OpenAIのAPIのモデル一覧を見るよう案内されています。モデルを選ぶ方法は次の3つです。

場所方法
CLIを起動するときcodex --model gpt-6.1-sol(-mでも指定できる)
CLIの対話中/modelで、モデルや推論の強さを切り替える
設定ファイルconfig.tomlにmodel = "gpt-6.1-sol"と書く。デスクトップアプリ・CLI・IDE拡張で共通
自動実行のときcodex exec -m gpt-6.1-sol "依頼の内容"

公式は、アカウントとクライアントが対応している場合は、gpt-6.1-solを推奨しています。決まった作業を繰り返す場合はgpt-6-lunaが案内されています。ただし、モデル名は「その名前を書けば使える」というものではありません。自分のAPIの組織で使えるかどうかは、管理画面か、モデルの一覧で確認してください。

APIの料金

OpenAIのAPI料金のページに載っている、おもなモデルの標準の料金は次のとおりです(100万トークンあたり。入力が27.2万トークン以下の場合)。

モデル入力キャッシュされた入力出力
gpt-6-astra10.00ドル1.00ドル50.00ドル
gpt-6.1-sol2.00ドル0.10ドル10.00ドル
gpt-6-sol2.00ドル0.20ドル10.00ドル
gpt-6-luna0.10ドル0.01ドル0.50ドル
gpt-5.6-sol4.00ドル0.40ドル20.00ドル
gpt-5.6-terra2.00ドル0.20ドル12.00ドル
gpt-5.6-luna0.20ドル0.02ドル1.20ドル
gpt-5.55.00ドル0.50ドル30.00ドル

入力が27.2万トークンを超える長いコンテキストでは、単価が別になります。大きなリポジトリの全体を一度に読ませると、この長いコンテキストの料金になりやすくなります。

金額の感覚をつかむために、10万トークンを読ませて、1万トークンを書かせる作業を1回行った場合を計算してみます。

モデル入力の費用出力の費用1回の合計
gpt-6-astra1.00ドル0.50ドル1.50ドル
gpt-6.1-sol0.20ドル0.10ドル0.30ドル
gpt-6-luna0.01ドル0.005ドル0.015ドル

実際のCodexは、ファイルを何度も読み直しながら進めるため、入力のトークンは想像より多くなりがちです。キャッシュが効くと入力の費用は下がりますが、上の表はあくまで計算の例として見てください。公式の料金ページでも、APIのトークン料金は、ChatGPTのプランで何回使えるかを見積もる材料にはしないよう注意されています。

あわせて読みたいCodexの料金を解説|プラン別の価格・使用量の上限・クレジット・API料金【2026年10月】OpenAIのCodexの料金を、2026年10月時点の公式情報でまとめました。Free・Go・Plus・Pro・Business・Enterpriseの価格と違い、5時間あたりの使用量の目安、上限に達したときのクレジット、APIキーで使う場合の料金、モデルごとのコスト、プランの選び方まで解説します。

Codex向けの名前が付いたモデルの扱い

以前は「gpt-5.3-codex」のように、名前にcodexが付いたモデルがCodex向けに案内されていました。いまのAPIの廃止予定の一覧では、これらのモデルに廃止の日付と、推奨される置き換え先が載っています。

モデル廃止の日付推奨される置き換え先
gpt-5.3-codex2027年4月1日gpt-6-sol
gpt-5.2-codex2026年7月23日gpt-5.6-sol
gpt-5.1-codex2026年7月23日gpt-5.6-sol
gpt-5-codex2026年7月23日gpt-5.6-sol
codex-mini-latest2026年2月12日gpt-5-codex-mini

古い記事やサンプルのコードには、これらのモデル名が書かれていることがあります。設定ファイルやスクリプトの--modelに残っていないか、確認しておきましょう。なお、OpenAIのコード生成のガイドでは、Codexで使うモデルとして、そのときの最新の汎用モデル(例:gpt-6.1-sol)を勧めています。

GPT-5.5については、ChatGPTでサインインして使う場合は2026年10月14日に提供が終わりましたが、APIキーでのCodexの利用には影響しないと公式のモデルのページに書かれています。

費用の上限を決める

従量課金で一番心配なのは、自動実行が止まらずに費用がふくらむことです。OpenAIのAPIでは、組織とプロジェクトの単位で、月ごとの上限を設定できます。

仕組み動き設定する場所
上限(ハードリミット)「Enforce a hard limit」をオンにすると、上限に達した時点で通信が止まる。オフなら、使用額を記録するだけ組織の「Limits」ページ、またはプロジェクトの設定の「Limits」
通知(Spend alerts)使用額が一定に達したら通知する。通信は止めない同上

上限に達すると、APIはorganization_spend_limit_exceededまたはproject_spend_limit_exceededというコードを含むエラーを返します。前払いの残高がなくなった場合はcredit_balance_exhaustedになります。上限の反映は瞬時ではないので、記録された金額が上限をわずかに超えることがあります。

費用を抑える工夫

APIでは、読ませるトークンの量と、出力させるトークンの量が、そのまま費用になります。費用を抑える工夫として、次のような方法があります。

工夫効果
作業に合ったモデルを選ぶ決まった作業や軽い作業は、単価の低いモデルにすると、費用の差が大きい(上の表では、gpt-6-lunaとgpt-6-astraで入力の単価が100倍違う)
読ませるファイルを絞る大きなリポジトリ全体ではなく、必要なフォルダだけを対象にする。入力が増えるほど費用も増え、長いコンテキストの単価にもなりやすい
指示を具体的にする「全体を見直して」より「このフォルダのテストの失敗の原因を調べて」のように範囲を絞ると、無駄な読み込みが減る
まず読み取り専用で試す書き換えを伴う作業は、手戻りが起きると費用も増える。調査と実装を分けると、やり直しが少なくなる
画像の生成は別に計算するAPIキーで画像を生成する場合は、APIの画像の料金が適用される

自動実行用のキーは、専用のプロジェクトで作る

自動実行に使うキーは、ほかの用途とは別のプロジェクトで作っておくと、そのプロジェクトだけに月の上限をかけられます。上限を超えて止まっても、ほかの用途に影響しません。通知とあわせて設定しておくと、止まる前に気づけます。

codex execで自動化する

ターミナルの実行結果を横で確認している開発者を、肩越しに見た場面

codex execは、Codexを人の操作なしで最後まで動かすコマンドです。スクリプト・定期ジョブ・CIから呼び出す用途に向いています。2つ目の意味である「プログラムからCodexを動かす」ときの、一番手軽な入口です。

基本の使い方

依頼の文章を引数として渡します。

codex exec "リポジトリの構成を要約して、リスクの高い箇所を5つ挙げて"

途中の経過はstderr(エラー出力)に流れ、最後の回答だけがstdout(標準出力)に出ます。そのため、結果をファイルに保存したり、ほかのコマンドに渡したりしやすくなっています。

codex exec "直近10件のコミットからリリースノートを作って" | tee release-notes.md

ほかのコマンドの出力を渡して、「これを整形して」と頼むこともできます。パイプで渡した内容は追加の情報として扱われ、指示は引数の文章です。

npm test 2>&1 | codex exec "失敗したテストを要約して、最小の修正案を示して" | tee test-summary.md

標準入力の内容をまるごと指示にしたい場合は、codex exec -と書きます(引数を省略しても同じです)。

cat prompt.txt | codex exec -

出力を機械で扱う

別のプログラムで結果を処理したいときは、次のオプションを使います。

オプション動き使いどころ
--json標準出力が、1行1イベントのJSON(JSON Lines)になる進み具合を細かく記録したい、別のツールで処理したい
-o 保存先(--output-last-message)最後のメッセージを、指定したファイルに書き出す最後の回答だけを取り出す。--jsonと併用できる
--output-schema ファイルJSON Schemaに合った形の最終回答を求めるプロジェクト名や言語の一覧など、決まった形でデータが欲しい
--ephemeralセッションの記録を、ディスクに保存しない記録を残したくない一回限りの処理

--jsonを付けると、thread.started・turn.completed・turn.failed・item.*・errorといった種類のイベントが流れます。公式の例では、--output-schemaと-oを組み合わせて、プロジェクトの情報を決まった形のJSONファイルとして取り出しています。

codex exec "プロジェクトの情報を抽出して" \
  --output-schema ./schema.json \
  -o ./project-metadata.json

書き換えを許す範囲を決める

codex execは、初期設定では読み取り専用のサンドボックスで動きます。ファイルを書き換えさせたいときは、許可を明示する必要があります。

指定できること使う場面
(指定なし)読み取りだけ。ファイルの変更はできない要約・調査・レビューの下書き
--sandbox workspace-write作業用のフォルダの中で、ファイルの編集とコマンドの実行ができる修正やファイルの生成まで任せる
--sandbox danger-full-access制限なし。ネットワークやフォルダの外にも触れる隔離されたCIの実行環境やコンテナの中だけ

以前あった--full-autoは、いまは使えません。--sandbox workspace-writeに置き換えるか、承認の確認を自動のレビューに回す--approve-for-meを使うよう、公式に案内されています。読み取り専用で、確認も一切求めない形にしたいCIでは、--sandbox read-onlyと--ask-for-approval neverを組み合わせます。

ネットワークの利用は初期設定でオフです。外部のサービスに接続させたい場合は、config.tomlの[sandbox_workspace_write]にnetwork_access = trueと書く方法があります。許可する範囲は、必要なものだけに絞ってください。

APIキーを渡す

codex execは、初期設定では、CLIに保存されたサインイン情報を再利用します。APIキーを渡して実行したい場合は、環境変数CODEX_API_KEYを、そのコマンドの実行にだけ付けます。

CODEX_API_KEY=<APIキー> codex exec --json "未対応のバグ報告を整理して"

公式の環境変数のページでは、CODEX_API_KEYはcodex exec・codex review・TypeScript SDK・codex exec-server --remoteで使えると書かれています。

ジョブ全体の環境変数にしない

公式のドキュメントは、リポジトリの中のコードを実行するワークフローでは、OPENAI_API_KEYやCODEX_API_KEYを、ジョブ全体の環境変数として設定しないよう注意しています。ビルドのスクリプトやテスト、乗っ取られたアクションが、キーを読み取れてしまうためです。Codexを呼ぶコマンドの実行にだけ、キーを渡してください。

自動実行で結果をそろえるための設定

人のパソコンで動かすときと、CIで動かすときで、結果が変わってしまうことがあります。個人の設定ファイルや、ルールのファイルの影響を受けるためです。公式のドキュメントには、そのための指定がいくつかあります。

指定動き
--ignore-user-config$CODEX_HOME/config.toml(個人の設定ファイル)を読み込まない
--ignore-rulesユーザーとプロジェクトの、実行ルール(.rulesファイル)を読み込まない
MCPサーバーのrequired = true必須に指定したサーバーが起動に失敗すると、codex execは続行せず、エラーで終了する

また、無人で動かす場合は、安全のための監視によって、作業が途中で止められることがあると公式に書かれています。CLIでは、そのまま終了して、再開できない場合もあるため、自動実行の側で、途中終了を前提にした処理(失敗の通知や再実行)を用意しておくと安心です。.gitや.codexなどの保護されたフォルダは、書き込みを許可した範囲の中でも、読み取り専用のままです。

自動実行の使い方の例

公式のドキュメントには、ほかのコマンドの出力をcodex execに渡す例が、いくつも載っています。業務に置き換えやすいものを選んで紹介します。

目的コマンドの例
テストの失敗を要約して、修正案を出すnpm test 2>&1 | codex exec "失敗したテストを要約して、最小の修正案を示して"
ログから原因の候補と、次の手順を出すtail -n 200 app.log | codex exec "原因の候補と、次に確認する手順を3つ示して"
CIの失敗を、共有用に短くまとめるgh run view 123456 --log | codex exec "CIの失敗の原因と次の手順を、チャットに貼れる形で短くまとめて"
CIの失敗を、PRのコメントとして投稿するgh run view 123456 --log | codex exec "失敗を5つの箇条書きで要約して" | gh pr comment 789 --body-file -

いずれも、読み取り専用の初期設定のまま使える処理です。まずは、こうした「読んで、まとめるだけ」の処理から始めると、安全に効果を確かめられます。

前回の続きから動かす・Gitの条件

1回目の作業の続きを、あとから頼むこともできます。

codex exec "変更に競合状態がないか確認して"
codex exec resume --last "見つかった競合状態を直して"

--lastは、いまのフォルダで最後に動かしたセッションを選ぶ指定です。特定のセッションを指定する場合は、codex exec resume <SESSION_ID>と書きます。

また、Codexは、意図しない破壊的な変更を避けるため、Gitのリポジトリの中で実行されることを前提にしています。Gitの管理外のフォルダで動かすと止まります。安全な環境だと確信できる場合に限り、--skip-git-repo-checkで確認を省略できます。

あわせて読みたいCodexとGitHubを連携する方法|PRレビュー・@codexの使い方を解説CodexとGitHubをつなぐと、プルリクエストの自動レビューや「@codex」での修正依頼ができます。連携の設定、使えるプラン、レビューの依頼、AGENTS.mdでの基準づくり、GitHub Actionsの使い方、動かないときの対処までを、2026年10月時点の公式情報で解説します。

SDKとGitHub Actionで組み込む

自社のツールの画面にCodexを組み込む設定を確認している開発者

コマンドを呼び出すだけでは足りず、自社のアプリや、GitHubの流れの中にCodexを組み込みたい場合は、SDKかGitHub Actionを使います。

Codex SDK

Codex SDKは、Codexをプログラムの中から操作するためのライブラリです。公式のページには、CI/CDのパイプライン、自作のエージェント、社内ツール、自社のアプリへの組み込みといった用途が挙げられています。

TypeScriptPython
インストールnpm install @openai/codex-sdkpip install openai-codex
必要な環境Node.js 18以降。サーバー側のみで使うPython 3.10以降。固定されたバージョンのCodex CLIが同梱される
基本の流れnew Codex()でインスタンスを作り、startThread()でスレッドを作ってrun()で依頼するwith Codex() as codex:の中でthread_start()し、run()で依頼する
結果の取り出しresult.finalResponseresult.final_response
続きの会話同じスレッドにrun()を重ねる。過去のスレッドはresumeThread()で再開非同期版のAsyncCodexもある

TypeScriptでの最小の形は、次のようになります。

import { Codex } from "@openai/codex-sdk";

const codex = new Codex();
const thread = codex.startThread();
const result = await thread.run("このリポジトリのテストの実行方法を調べて、手順にまとめて");
console.log(result.finalResponse);

Pythonでは、モデルや書き込みの範囲を、スレッドを作るときに指定できます。

from openai_codex import Codex, Sandbox

with Codex() as codex:
    thread = codex.thread_start(
        model="gpt-6.1-sol",
        sandbox=Sandbox.workspace_write,
    )
    result = thread.run("テストの失敗の原因を調べて")
    print(result.final_response)

サンドボックスの指定は、Sandbox.read_only・Sandbox.workspace_write・Sandbox.full_accessから選べます。指定しない場合は、app serverに設定されている初期値が使われます。サンプルのモデル名は、自分のアカウントで使えるものに置き換えるか、modelを省略して初期値を使ってください。

SDKの認証については、公式の案内が分かれている

SDKのページには、APIキーを使うかどうかの説明がありません。一方、環境変数のページには、TypeScript SDKでCODEX_API_KEYが使えると書かれています。Python SDKでの認証方法は、公式のページからは確認できませんでした。組み込む前に、SDKの公開リポジトリのドキュメントと、実際の動作を確認してください。

app serverとの使い分け

公式によると、Python SDKは、ローカルで動くCodex app serverをJSON-RPCで操作する仕組みです。認証・会話の履歴・承認・進行状況の配信まで、自分で作り込みたい場合は、app serverを直接使うことが案内されています。一方、決まった処理をCIなどで動かしたいだけなら、SDKかcodex execで足ります。

やりたいこと向いている方法
1回の依頼を実行して、結果を受け取るcodex exec
自社のアプリの中から、会話を続けながら呼び出すCodex SDK
承認の画面や、進行状況の表示まで、自社のアプリに組み込むapp server(実験的な機能)

app serverの仕組みと注意点は、別の記事で詳しく解説しています。

あわせて読みたいCodex app serverとは?できること・起動方法・MCPとの違いを解説Codex app serverは、Codexを自作のアプリや社内ツールに組み込むための接続口です。できること、起動と最初の流れ、別マシンからの接続、認証と承認、codex mcp-serverからの移行までを、2026年10月時点の公式情報でまとめました。

GitHub Action

GitHub Actionは、GitHubの自動実行の仕組み(ワークフロー)の中でCodexを動かすための、OpenAI公式のアクション(openai/codex-action@v1)です。Codex CLIを入れ、APIキーが渡されるとResponses APIのプロキシを起動し、指定した権限でcodex execを実行します。最小のワークフローは次のとおりです。

name: Codex
on: workflow_dispatch
jobs:
  codex:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
        with:
          persist-credentials: false
      - uses: openai/codex-action@v1
        with:
          openai-api-key: ${{ secrets.OPENAI_API_KEY }}
          prompt: リポジトリの構成を要約して

APIキーは、GitHubのシークレットにOPENAI_API_KEYとして登録し、ワークフローから参照します。実行環境はLinuxかmacOSです。Windowsのランナーでは、safety-strategy: unsafeが必要になります。指示は、prompt(直接書く)かprompt-file(リポジトリ内のファイル)のどちらか一方で渡します。両方を指定するとエラーになります。

入力役割
openai-api-keyAPIキー。渡したときだけ、プロキシが起動する
prompt / prompt-file依頼の内容。どちらか一方だけ指定する
sandboxworkspace-write・read-only・danger-full-accessから選ぶ
model / effortモデルと推論の強さ。空ならCodexの初期値
output-file最後のメッセージをファイルに保存する
codex-argscodex execに渡す追加のオプション(JSON配列か文字列)
safety-strategy初期値はdrop-sudo。unprivileged-user・unsafeも選べる
allow-users / allow-bots起動できるアカウントを追加する。初期設定では、書き込み権限のある人だけ

最後のメッセージは、final-messageという出力に入ります。次のジョブに渡して、プルリクエストへのコメントとして投稿する、といった使い方ができます。

失敗したCIの修正案を作る流れの例

公式のドキュメントには、CIが失敗したときに、修正案をプルリクエストとして出す流れの例が載っています。ポイントは、Codexを動かすジョブと、PRを作るジョブを分けていることです。

  1. 失敗を検知するメインのCIのワークフローが失敗したら、続きのワークフローが起動します。
  2. 修正案を作る失敗したコミットを、読み取り権限だけでチェックアウトし、セットアップのあとにCodexを実行します。このジョブにだけAPIキーを渡します。
  3. 差分を保存するCodexが作った変更を、パッチのファイルとして保存します。
  4. PRを作る別のジョブが、書き込み権限でパッチを適用し、プルリクエストを開きます。このジョブにはAPIキーを渡しません。

こうすると、Codexが動くジョブは書き込みの権限を持たず、書き込みの権限を持つジョブは、キーを持ちません。1つのジョブに、強い権限をすべて持たせない設計です。

GitHub Actionで気をつけること

公式のドキュメントには、安全に使うためのチェックリストがあります。

項目注意点
権限の分け方Codexを動かすジョブには最小の権限(contents: readなど)だけを与え、書き込みは別のジョブに分ける
sudoの扱い初期設定のdrop-sudoは、ジョブの残りの間、sudoを外す。元に戻せない
unsafe複数の利用者が共用するランナーでは使わない
read-onlyの過信ファイルの変更とネットワークは止まるが、Codexは高い権限で動いている。秘密を守る手段として頼らない
外部からの入力PRのタイトル・本文・コミットメッセージ・Issueは、第三者が書き換えられる。隠された文字やHTMLのコメントも含め、確認してから渡す
実行の順番Codexは、ジョブの最後のステップとして実行する
キーの漏えいログや出力に秘密が出た疑いがあれば、APIキーを再発行する

外部の人がPRを出せるリポジトリでは、特に注意

公開リポジトリなどで、外部の人が出したPRをもとにCodexが動く構成にすると、PRの文章に書かれたAIへの悪意ある指示(プロンプトインジェクション)が実行される危険があります。起動できる人を限定し、信頼できるイベントだけで動かすようにしてください。

OpenAIのAPIを直接使う場合

2つの方法の違いを書いた紙を並べて、使い分けを検討する担当者

3つ目の意味である「OpenAIのAPIでモデルを直接呼び出す」方法も、整理しておきます。Codexを使う場合と、何が違うのでしょうか。

Responses APIの最小の例

OpenAIのAPIのクイックスタートでは、APIキーを環境変数OPENAI_API_KEYに設定し、Responses APIでモデルに質問する例が紹介されています。Pythonでの最小の形は次のとおりです。

pip install openai
from openai import OpenAI

client = OpenAI()

response = client.responses.create(
    model="gpt-6-astra",
    input="この関数の問題点を3つ挙げて:...",
)

print(response.output_text)

JavaScript(Node.js)やcurlでも、同じ形で呼び出せます。OpenAIのコード生成のガイドでは、APIでのコード生成は、まずgpt-6-astraから始めるよう案内されています。

APIを使い始めるまでの準備

OpenAIのAPIのクイックスタートに沿った、準備の流れです。

  1. APIキーを作るOpenAIの管理画面でAPIキーを作成し、安全な場所に保管します。
  2. 環境変数に設定するmacOS・Linuxではexport OPENAI_API_KEY="キー"、Windows(PowerShell)ではsetx OPENAI_API_KEY "キー"と入力します。OpenAIの各言語のライブラリは、この環境変数を自動で読み取ります。
  3. ライブラリを入れるPythonならpip install openai、JavaScript(Node.js)ならnpm install openaiです。
  4. 最小のコードを動かす前の節で示した形で、モデルに入力を送り、返ってきた文章を表示します。

Codexで使うAPIキーと、ここで作るAPIキーは、同じOpenAIのAPIのキーです。管理画面の同じプロジェクトで作れば、費用の上限も共通になります。用途ごとにプロジェクトを分けるかどうかは、先に決めておきましょう。

CodexとAPIの直接利用の違い

Codex(CLI・SDK・exec)OpenAIのAPIを直接呼ぶ
何が動くかファイルを読み、コマンドを実行し、作業を進めるエージェントモデル。入力に対する出力を返す
作業の進め方Codexが手順を考えて、続けて実行する必要な処理の流れ(ファイルの読み込みなど)は自分で作る
安全面の仕組みサンドボックスと承認の仕組みが付いている自分で用意する
向いている用途コードの修正・調査・レビューなど、リポジトリに対する作業自社のサービスに、文章の生成や要約などの機能を組み込む
認証ChatGPTのサインインか、APIキーAPIキー

自社のサービスの画面に、AIの回答を表示したいといった用途は、後者のAPIの直接利用です。一方、社内のリポジトリのコードを直したり、調べたりしたいのであれば、Codexを使うのが近道です。なお、Codexの接続先は、公式のモデルのページと設定のページで、Responses APIと互換性のあるものが必要だと案内されています(wire_api = "chat"は、いまのCodexでは使えません)。

接続先や認証を変える

Codexの接続先は、~/.codex/config.tomlで変えられます。社内で使うプロキシやゲートウェイを通したい場合や、データの保管場所の指定がある場合に使います。

やりたいこと設定
標準のOpenAIの接続先を、プロキシや地域別のエンドポイントに変えるopenai_base_url = "https://us.api.openai.com/v1"のように、config.tomlの先頭に書く
別のプロバイダーや社内ゲートウェイを使うmodel_providerを指定し、[model_providers.名前]にbase_url・env_key・wire_api = "responses"を書く
Azure OpenAIを使うbase_urlにAzureのエンドポイントを書き、env_key = "AZURE_OPENAI_API_KEY"とapi-versionを指定する
Amazon Bedrockを使うmodel_provider = "amazon-bedrock"を指定し、AWSのprofileとregionを設定する
パソコン内のモデルを使う--ossを付け、Ollama・LM Studioを選ぶ

ゲートウェイを使う場合、公式は次の点を挙げています。ストリーミング(少しずつ返す通信)が動くこと、完了を示す最後のイベントが送られること、モデルの別名を使うなら、その中身に合ったカタログ情報があることです。設定を変えたら、CLIを再起動し、/statusで、使っているモデルとプロバイダーを確認します。返事が返っただけでは、そのゲートウェイを通ったことの確認にはならないため、管理者が、ゲートウェイ側のログを確認するよう案内されています。

プロジェクトの設定ファイルでは、接続先は変えられない

リポジトリの中の.codex/config.tomlでは、openai_base_url・model_provider・model_providersを設定できません。第三者のリポジトリを開いたときに、接続先をすり替えられないようにするためです。これらは、自分のホームフォルダの~/.codex/config.tomlに書きます。

キーの管理と困ったとき

盾と鍵のアイコンの横で、権限の設定画面を確認している担当者

APIキーは、誰かに知られると、その人があなたの費用で、OpenAIのAPIを使えてしまいます。自動実行の仕組みは、人が気づかないうちに動き続けるため、管理のルールを先に決めておくことが大切です。

キーを守るための基本

やること理由
キーをソースコードやリポジトリに書かない公開や共有の際に、そのまま漏れる。シークレットや環境変数で渡す
用途ごとに別のキーを作る漏れたときに、そのキーだけを無効にできる。どの処理が使ったかも分けやすい
専用のプロジェクトで作り、上限をかける想定外の使用でも、被害を一定の額で止められる
ジョブ全体ではなく、必要なコマンドにだけ渡すビルドやテストのコードが、キーを読み取れないようにする
疑いがあれば、すぐ再発行するログに出た、チャットに貼ったなど、少しでも疑いがある場合は作り直す
共有のパソコンに、auth.jsonを置かない平文で保存される。必要なら、保存先をkeyringやephemeralにする

もう1つ、見落としやすい点があります。公式の詳細設定のページによると、初期設定では、名前にKEY・SECRET・TOKENを含む環境変数は、Codexが実行するコマンドからも見えます。config.tomlの[shell_environment_policy]にignore_default_excludes = falseと書くと、これらが自動で除かれます。キーを環境変数に入れて使う場合は、設定しておくと安心です。

CIでの認証の考え方

公式のCI/CDの認証のページでは、自動化にはAPIキーを使うのが正しい方法であり、ほとんどのCI/CDのジョブで推奨されています。一方、ChatGPTのアカウントとして動かしたい場合の方法も、上級者向けに用意されています。

方法向いている場面注意点
APIキーほとんどのCI・自動実行API料金で課金。クラウドの機能は使えない
CodexのアクセストークンBusinessまたはEnterpriseで、信頼できるスクリプト・CI期限を決める。公開のCIや、フォークされたPRでは使わない
ChatGPTのサインイン情報(auth.json)を使い回すChatGPTのアカウントの上限や機能を使う必要がある、信頼できる非公開の実行環境公開リポジトリには使わない。ジョブを同時に走らせて、同じファイルを共有しない

3つ目の方法では、auth.jsonがおよそ8日たつと自動で更新されるため、更新後のファイルを保管し直す必要があります。失敗が続く場合は、サインインし直して、ファイルを作り直します。この方法は設定の手間が大きく、公式でもAPIキーの方が簡単な初期値だとされています。

うまくいかないときの対処

症状確かめること
GitHubのコードレビューやSlack連携が出てこないAPIキーでサインインしていないか。codex login statusで確認する。これらの機能はChatGPTでサインインした場合だけ使える
使いたいモデルが選べない、エラーになるAPIの組織・プロジェクトでそのモデルが使えるか。廃止された古いモデルの名前が、設定に残っていないか
codex execがファイルを書き換えない初期設定は読み取り専用。--sandbox workspace-writeを付ける
codex execがGitのチェックで止まるGitのリポジトリの中で実行しているか。安全な環境なら--skip-git-repo-checkを使う
外部のサイトやAPIに接続できないネットワークは初期設定でオフ。network_accessの設定を確認する
429のエラーで、spend_limit_exceededと出る組織またはプロジェクトの月の上限に達している。使用額を確認して、上限を見直す。翌月にリセットされる
credit_balance_exhaustedと出る前払いの残高がなくなっている。クレジットを追加する
デスクトップアプリで、環境変数のキーが読まれないデスクトップアプリは、ターミナルで設定した環境変数を見られないことがある。アプリの画面からキーを入力する
サインインしたはずが、別の方式で動いているcodex login statusで確認する。forced_login_methodが設定されていないかも見る
ChatGPTのプランに戻したいcodex logoutのあと、codex loginでChatGPTにサインインし直す

会社で使う前に決めておくこと

  • APIキーでCodexを使ってよい人と、使ってはいけない人
  • キーを発行・保管・再発行する担当者と、その手順
  • 自動実行に使うプロジェクトと、月の上限額
  • Codexに読ませてよいリポジトリと、読ませてはいけない情報(顧客の個人情報、認証情報など)
  • 自動実行の結果を、誰がいつ確認するか(人の承認は残す)
  • キーが漏れた疑いがあるときの連絡先と、対応の流れ

導入の進め方

自動実行を会社に取り入れるときは、いきなり本番の処理に組み込むより、次の順で進めると失敗が少なくなります。

  1. 読み取り専用で試すまず、要約や調査など、ファイルを変更しない処理だけをcodex execで動かし、結果の質と費用を見ます。
  2. 専用のキーと上限を用意する自動実行用のプロジェクトを作り、月の上限と通知を設定します。
  3. 書き込みを許可して、範囲を絞るファイルの変更が必要な処理に限って、workspace-writeを許可します。変更は、そのまま反映せず、差分(パッチ)として出力させ、人が確認してから取り込む形にします。
  4. 実行の記録を見直す費用と、実行した結果を定期的に見て、想定外の使われ方がないかを確かめます。

よくある質問

「Codex API」という名前の製品はありますか?

公式のドキュメントの一覧には、「Codex API」という名前の独立した製品やページは見当たりません。この言葉は、APIキーでCodexを使うこと、codex exec・SDK・GitHub ActionでCodexを動かすこと、OpenAIのAPIを呼び出すことを指して使われています。

CodexをAPIキーで使うと、料金はどうなりますか?

ChatGPTのプランの使用量やクレジットは使わず、OpenAIのPlatformのアカウントに、標準のAPI料金で請求されます。モデルごとの単価は、OpenAIのAPI料金のページで確認できます。

ChatGPTのプランと、APIキーのどちらが安いですか?

使い方によって変わるため、一概には言えません。公式の料金ページでも、APIのトークン料金は、プランで何回使えるかを見積もる材料にはしないよう注意されています。毎日長く対話しながら使うなら月額のプラン、決まった処理を必要な分だけ回すならAPIキーが向いています。

APIキーでも、Codex cloudやGitHubのレビューは使えますか?

使えません。Codex cloudは、ChatGPTでサインインしている場合に限られます。GitHubのレビューやSlack連携も同じです。APIキーでGitHubの流れにCodexを組み込みたい場合は、GitHub Actionを使います。

Windowsでも、APIキーでサインインできますか?

デスクトップアプリとIDE拡張には、キーを入力する画面があり、OSを問わず使えます。CLIでの標準入力を使った書き方(PowerShellの場合)は、公式には案内がありません。GitHub ActionのWindowsランナーでは、safety-strategy: unsafeが必要になります。

環境変数のOPENAI_API_KEYを設定するだけで、Codexはそのキーを使いますか?

公式の認証のページでは、OPENAI_API_KEYは、キーをcodex login --with-api-keyに渡す元として紹介されているだけです。サインインの状態は、codex login statusで確認してください。自動実行で使うCODEX_API_KEYは、別の環境変数です。

APIキーを会社の複数の人で共有してもいいですか?

おすすめしません。誰がどれだけ使ったかが分からなくなり、漏えいしたときにも、特定のキーだけを止めるのが難しくなります。用途や担当者ごとにキーを分け、専用のプロジェクトで上限をかけて運用してください。

自動実行で、Codexが勝手にファイルを書き換えませんか?

codex execの初期設定は読み取り専用で、ファイルを変更するには--sandbox workspace-writeなどの指定が必要です。範囲を絞ったうえで、変更の内容は人が確認してから取り込む運用にすると安心です。

SDKを使うには、APIキーが必要ですか?

公式のSDKのページには、認証についての説明がありません。環境変数のページには、TypeScript SDKでCODEX_API_KEYが使えると書かれています。Python SDKについては、公式のページから確認できませんでした。

アクセストークンとAPIキーは、どちらを使えばいいですか?

公式のCI/CDの認証のページでは、ほとんどの自動実行にはAPIキーが推奨されています。アクセストークンは、BusinessまたはEnterpriseのワークスペースで、ChatGPTのワークスペースの権限として動かしたい、信頼できる実行環境向けの仕組みです。公開のCIやフォークされたPRでは使わないよう案内されています。

自動実行の結果を、プログラムで読み取れますか?

読み取れます。codex exec --jsonで、イベントが1行1件のJSONで出力されます。決まった形の回答が欲しい場合は、--output-schemaでJSON Schemaを渡し、-oでファイルに保存する方法があります。

サインインの情報や設定は、どこに保存されますか?

Codexの状態は、環境変数CODEX_HOMEで指定したフォルダ(初期値は~/.codex)に保存されます。設定ファイルのconfig.tomlやサインイン情報のauth.json、ログ、セッションの記録もここに入ります。CODEX_HOMEを変える場合は、先にそのフォルダを作っておく必要があります。

古いcodex系のモデルは、いつまで使えますか?

APIの廃止予定の一覧では、gpt-5.3-codexが2027年4月1日、gpt-5.2-codex・gpt-5.1-codex・gpt-5-codexが2026年7月23日、codex-mini-latestが2026年2月12日となっています。すでに過ぎているものもあるため、設定に残っていないか確認してください。

社内のゲートウェイを通して、Codexを使えますか?

使えます。config.tomlで、接続先のURLと認証用の環境変数を設定します。Responses APIと互換性があり、ストリーミングが動くことが条件です。設定の詳しい手順は、公式の「ゲートウェイ」のページにあります。

APIキーで使った内容は、どのように扱われますか?

公式の認証のページでは、APIキーで使った場合のデータの保存や共有は、ChatGPTのワークスペースではなく、APIの組織の設定に従うと説明されています。学習への利用の扱いを含め、会社のコードを渡す前に、APIの組織の設定とOpenAIの公式の案内を確認してください。

まとめ

この記事のまとめ

  • 公式のドキュメントには「Codex API」という名前の独立した製品は見当たらず、APIキーでの利用、プログラムからの実行、OpenAIのAPIの直接利用のどれかを指して使われる
  • APIキーでサインインすると、使った分がAPI料金で請求される。ローカルでの作業は使えるが、Codex cloud・GitHubのレビュー・Slack連携は使えない
  • 自動実行はcodex execが入口。初期設定は読み取り専用で、キーはCODEX_API_KEYを、そのコマンドにだけ渡す
  • 自社のツールにはSDK、GitHubの流れにはGitHub Actionを使う。APIキーはシークレットで渡し、外部からの入力に注意する
  • 費用は、専用のプロジェクトと月の上限、通知で管理する。古いcodex系のモデル名が設定に残っていないかも確認する
  • ふつうに人が使うだけなら、ChatGPTのプランでサインインする方法が基本

Codexを自動実行や社内ツールに組み込む場合、サインイン方式の選び方、キーと上限の管理、書き換えを許す範囲の設計など、決めることが一気に増えます。まずは読み取り専用の小さな処理から試して、費用と結果を確かめながら広げていくのがおすすめです。

INTERCREATE JAPANでは、Codex・Claude Codeなどの導入から、社内で安全に使い続けられる仕組みづくりまでをお手伝いしています。

この記事を書いた人

INTERCREATE JAPAN 編集部

Web制作、業務システムの開発、Claude Code・Codex の導入支援を行う INTERCREATE JAPAN の編集部です。実際の制作や導入の現場で確かめた手順をもとに、AIツールの使い方やホームページの運用について解説しています。

参考・出典