自分が試した際、o3-deep-research の 1回の利用で 10ドルを少し超えるくらいの費用がかかったので、API利用の費用についてご注意ください
はじめに
この記事は、公式の以下のポストなどに書かれている「Deep research」の API を Node.js で試してみた時の話です。
公式アカウントのポスト
公式のクックブックの記事
クックブックの記事(Python で API を使うもの)
Deep research の API に関して、公式のクックブックの記事の 1つに以下があるようです。
●Introduction to deep research in the OpenAI API
https://cookbook.openai.com/examples/deep_research_api/introduction_to_deep_research_api
この記事には、以下のようなモデルの話や、Python を使った使い方の話などが書かれていました。
You can access Deep Research via the responses endpoint using the following models:
- o3-deep-research-2025-06-26: Optimized for in-depth synthesis and higher-quality output
- o4-mini-deep-research-2025-06-26: Lightweight and faster, ideal for latency-sensitive use cases
他にも、ChatGPT での質問をした時の流れと Deep research の違いなどについて説明がされていました。
クックブックの記事(Agents SDK との組み合わせ)
クックブックの記事では、他に Deep Research API と Agents SDK とを組み合わせた話に関するものもあるようでした。このあたりは、また別の機会に見ていけたらと思います。
●Deep Research API with the Agents SDK
https://cookbook.openai.com/examples/deep_research_api/introduction_to_deep_research_api_agents
Node.js で試す
とりあえずモデルの情報などは後で見てみることにして、まずは Node.js で API を使ってみます。
公式の APIドキュメントで使い方を見てみる
公式の APIドキュメントで Node.js で API を使うやり方を確認します。それについて、以下のページを参照することにしました。
●Deep research - OpenAI API
https://platform.openai.com/docs/guides/deep-research
JavaScript のサンプルコード
このページ内には、以下の JavaScript のサンプルコードが掲載されています。
import OpenAI from "openai";
const openai = new OpenAI({ timeout: 3600 * 1000 });
const input = `
Research the economic impact of semaglutide on global healthcare systems.
Do:
- Include specific figures, trends, statistics, and measurable outcomes.
- Prioritize reliable, up-to-date sources: peer-reviewed research, health
organizations (e.g., WHO, CDC), regulatory agencies, or pharmaceutical
earnings reports.
- Include inline citations and return all source metadata.
Be analytical, avoid generalities, and ensure that each section supports
data-backed reasoning that could inform healthcare policy or financial modeling.
`;
const response = await openai.responses.create({
model: "o3-deep-research",
input,
tools: [
{ type: "web_search_preview" },
{ type: "code_interpreter", container: { type: "auto" } },
],
});
console.log(response);
過去に OpenAI の API を色々試したことがありましたが、 new OpenAI()
のところで、 { timeout: 3600 * 1000 }
という長いタイムアウトを設定しているところが Deep research っぽい感じがしました。
Webhook を使うやり方
なお、今回は扱わないですが、長い処理が完了するのを検知するために Webhook を使うやり方もあるようです。それに関する情報は、以下の APIドキュメントを見ると良さそうです。
●Webhooks - OpenAI API
https://platform.openai.com/docs/guides/webhooks
自分で試す
上記のサンプルコードのプロンプトを少し書きかえて、自分で API を使ってみます。
下準備
Node.js で試すにあたり、少し下準備をします。まずは、以下のコマンドでのパッケージのインストールです。
npm i openai
また、環境変数 OPENAI_API_KEY に、OpenAI の APIキーをセットしておきます。
コードの内容
あとはコードを書いて、実行するだけです。サンプルコードのプロンプトの部分だけ書きかえた、以下を用いました。
import OpenAI from "openai";
const openai = new OpenAI({ timeout: 3600 * 1000 });
const input = `
AIエージェントを活用した試作について調べて。
調査内容:
- エージェントを使ったシステム全体の情報と、エージェントの情報が含まれるようにする
- 実装内容がコードで示されたものを集める
- SDKなど関連する情報のURLも集めて一覧にする
- エージェントを活用したシステムで実現した内容が、様々な種類のものになるよう事例を集めて
`;
const response = await openai.responses.create({
model: "o3-deep-research",
input,
tools: [
{ type: "web_search_preview" },
{ type: "code_interpreter", container: { type: "auto" } },
],
});
console.log(response);
実行結果
あとは nodeコマンドで、上記のコードを実行するだけです。
コマンド実行後、レスポンスが返ってくるまでけっこうな時間、待つことになりました。
(処理結果待ちについては、上で少しふれた Webhooks を使う仕組みを組み込むのが良さそうです)
今回はシンプルにレスポンスを待つ形の実装だったので、そのような流れになりました。レスポンスが返ってきたタイミングでは、この後に掲載した内容が一気に出力された感じでした。
処理結果として得られた出力を、この後でいくつかに分けて掲載し、その内容を見てみます。
以下は冒頭部分で、model の部分から o3-deep-research-2025-06-26 を使った結果であることが確認できます。その他、最大のツール呼び出しなどのパラメータも、どのように設定されて呼び出されたかを見ることができます。
その後に、似た形式の出力(id, type, status, action で構成される出力)がけっこうな個数続き、さらにその後に以下の内容が続いていました。
トークンについて書かれた部分を抜粋してみると、以下の内容になっていました。
usage: {
input_tokens: 1148297,
input_tokens_details: { cached_tokens: 919756 },
output_tokens: 17694,
output_tokens_details: { reasoning_tokens: 11968 },
total_tokens: 1165991
}
こちらは、別途、OpenAI のダッシュボードでも情報を見て比べてみようと思いますが、今は次へ進みます。
その下は、テキスト出力がまとまった部分です。ターミナルに出力したので見づらいですが、テキストのみの部分と、テキストの一部に情報参照元のリンクが設定されたものが混在して出力されたような形でした。
とりあえず、Node.js で Deep research API を試すことができました。
その他
モデルの情報
ここで、Deep research API で使えるモデルの情報が書かれたページを掲載しておきます。少し上でも書いていました、現時点では「o3-deep-research-2025-06-26」と「o4-mini-deep-research-2025-06-26」の 2種類があるようです。
公式の記事では、これらの違いについては「o3-deep-researchは、詳細な統合と高品質な出力に最適化されていて、o4-mini-deep-research は軽量かつ高速であるため遅延を小さくしたいようなユースケースに最適」と書かれていたものです。
公式のモデル情報のページ冒頭
以下は、公式のモデル情報のページです(冒頭部分のみ)。
モデルのコストや対応機能などが、アイコン表示をまじえて書かれています。
ダッシュボードでの API利用履歴
OpenAI のダッシュボードで、API利用履歴を見てみました。トークン数や費用などは以下になるようです。
1回の API利用で 10ドルを超えているようです。
念のため、これが 1回の APIリクエストのものか、詳細を見てみます(この期間指定をした中で、選択中のプロジェクトの API利用は他にない状況なので、確定だとは思われますが)。
Usage の Spend categories の部分が以下のようになっていました。
これを合計すると、1回の利用で 10ドルを超えているのは間違いなさそうでした。
呼び出された機能
また、Usage の API capabilities を選んでみると、以下の情報を確認できました。
【追記】API利用の費用
自分以外の事例で、Deep research API を使った費用の話を記事公開に見かけたので、追記してみます。
いちリクエストで $10 行って草www お気をつけてください... pic.twitter.com/zEgAhfVx6A
— ぬこぬこ (@schroneko) June 26, 2025
やはり、API 1回の利用で10ドルになったという事例は、起こりうる事象のようでした。
【追記】 Web検索系の機能
OpenAI の API の Web検索系の機能について、従来からあった『Responses API の「Web search」ツール』を、最近「o3、o3-pro、o4-mini」で使えるようになったという話があるので、こちらのお試しもやってみようかと思います。