はじめに
OpenAI が GPT-6.1 Terra を公開しました。公式のモデルページでは「視覚推論、正確な computer use、自然な文章のための高速・高効率モデル」と紹介されています。価格は入力 100 万トークンあたり $1、出力 $5 です。
では、画面操作を任せる用途で、この単価は実際にどれくらいの 1 タスクあたりコストになるのでしょうか。公式ドキュメントの仕様を整理したうえで、手元の API キーで Responses API の computer ツールを実際に往復させ、トークン数と所要時間を測りました。Claude Sonnet 5.5 と Opus 5.5 との費用の見比べ方も、公式価格表の数字だけで組み立てています。
対象読者は、画面操作エージェントやバッチ処理のモデル選定をしている開発者です。
この記事で分かること
- GPT-6.1 Terra の仕様、料金、使える API と、同世代の Sol・Astra との違い
-
computerツールのリクエストとレスポンスの形(実際に返ってきた JSON) - 3 往復の画面操作ループで測ったトークン数、所要時間、費用
- Claude Sonnet 5.5 / Opus 5.5 と比べるときの、費用の見方と評価の進め方
実行した環境
2026 年 10 月 27 日(JST)に、Linux のクラウド実行環境から OpenAI の Responses API へ HTTPS で直接リクエストしました。モデル ID は gpt-6.1-terra です。スクリーンショットは実ブラウザではなく、Pillow で描いた 1024×640 のモック画面(「Show filters」ボタンと検索ボックスだけの画面)を使っています。返ってきた操作は実ブラウザでは実行していません。
TL;DR
- GPT-6.1 Terra は入力 $1 / 出力 $5(100 万トークンあたり)で、コンテキストは 1,050,000 トークン、最大出力は 128,000 トークンです
- tool calling は Responses API でのみ使え、
computerツールも対象に含まれます - 実測では、モック画面に対する 3 往復で入力 4,985 トークン・出力 96 トークン、公式価格から計算した費用は約 $0.0045 でした
- Claude Sonnet 5.5 は $2 / $10、Opus 5.5 は $4 / $20 なので、同じトークン数なら単価は Terra の 2 倍と 4 倍です。ただしトークン数は同じになりません。精度も測っていないので、最終判断には自分のタスクでの比較が要ります
GPT-6.1 Terra の仕様と料金
仕様は公式のモデルページ(developers.openai.com/api/docs/models/gpt-6.1-terra)から読み取りました。
| 項目 | 内容 |
|---|---|
| モデル ID | gpt-6.1-terra |
| 入力 / 出力 | テキスト・画像 / テキスト |
| コンテキスト | 1,050,000 トークン(最大入力 922,000、最大出力 128,000) |
| 知識のカットオフ | 2026 年 6 月 1 日 |
| reasoning effort |
none / low / medium(既定)/ high / xhigh / max
|
| 対応エンドポイント | Chat Completions、Responses、Batch |
| 対応ツール(Responses API) | web_search、file_search、image_generation、code_interpreter、hosted_shell、apply_patch、skills、computer_use、mcp、tool_search |
料金は次のとおりです。
| 区分 | 価格(100 万トークンあたり) |
|---|---|
| 入力 | $1 |
| キャッシュ済み入力 | $0.05 |
| キャッシュ書き込み(30 分保持) | $1.25 |
| 出力 | $5 |
ページには価格の補足条件も書かれています。272K トークンを超える入力は、そのリクエスト全体で入力とキャッシュが 2 倍、出力が 1.5 倍になります。Batch と Flex は標準の 50% 引き、Fast mode は標準の 2 倍、リージョン処理は 10% 上乗せです。
前世代との比較について、公式ページに前世代の価格は載っていません。The Decoder は「前世代から API 価格を半額にした」と報じていますが、具体的な金額は書かれていませんでした。OpenAI の発表ページ(openai.com/index/introducing-gpt-6-1-terra/)は私の環境から取得できず(HTTP 403)、報道された性能比較の数値も一次情報で確認できていないため、この記事では引用しません。
Sol・Astra との違い
GPT-6 ガイドの記載から、実装に効く違いを 3 つ拾います。
- Astra と GPT-6.1 Sol は
reasoning.effort: "none"を受け付けませんが、Terra は受け付けます - Terra は Chat Completions でも呼べますが、tool calling は Responses API が必須です
- Fast mode は Terra で EU データレジデンシーに対応しています(Astra と GPT-6 Sol は非対応)
computer ツールの往復を実測する
公式ガイドの「Use the computer tool」の手順に従い、3 回のリクエストで 1 つのタスクを完了させました。タスクは「Show filters ボタンをクリックし、検索ボックスに penguin と入力する」です。
リクエストの形
最小のコードは次のとおりです(API キーは環境変数から読み、標準ライブラリのみで送信しています)。
import os, json, urllib.request
def call(body):
req = urllib.request.Request(
"https://api.openai.com/v1/responses",
data=json.dumps(body).encode(),
headers={"Authorization": "Bearer " + os.environ["OPENAI_API_KEY"],
"Content-Type": "application/json"})
return json.loads(urllib.request.urlopen(req, timeout=180).read())
tools = [{"type": "computer"}]
r1 = call({"model": "gpt-6.1-terra", "tools": tools,
"reasoning": {"effort": "low"},
"input": "画面上の Show filters ボタンをクリックし、そのあと検索ボックスに penguin と入力してください。"})
call_id = [o for o in r1["output"] if o["type"] == "computer_call"][0]["call_id"]
r2 = call({"model": "gpt-6.1-terra", "tools": tools,
"previous_response_id": r1["id"],
"reasoning": {"effort": "low"},
"input": [{"type": "computer_call_output", "call_id": call_id,
"output": {"type": "computer_screenshot",
"image_url": "data:image/png;base64," + screenshot_b64,
"detail": "original"}}]})
tools は {"type": "computer"} の 1 要素だけです。画面サイズなどの追加パラメータは不要でした。2 回目以降は previous_response_id で会話をつなぎ、computer_call_output に call_id を合わせてスクリーンショットを返します。
実際に返ってきた操作
1 回目のレスポンスは、操作ではなくスクリーンショットの要求でした。
{"type": "computer_call", "status": "completed",
"actions": [{"type": "screenshot"}], "call_id": "call_..."}
公式ガイドにも「最初の呼び出しは screenshot だけを含むことがある」と書かれており、そのとおりの挙動です。画面を返した 2 回目で、操作がまとめて返ってきました。
{"type": "computer_call", "status": "completed",
"actions": [
{"type": "click", "button": "left", "keys": null, "x": 160, "y": 129},
{"type": "click", "button": "left", "keys": null, "x": 537, "y": 130},
{"type": "type", "text": "penguin"}
], "call_id": "call_..."}
モック画面では「Show filters」ボタンが x 40〜300、y 100〜160、検索ボックスが x 360〜980、y 100〜160 の範囲にあります。返ってきた 2 つのクリック座標は、どちらもその範囲に収まっていました。1 回目の実行((160, 131) と (522, 129))でも同じ範囲に収まっています。操作後の画面(検索ボックスに penguin が入った状態)を返すと、3 回目で次の最終メッセージが返り、ループが終わりました。
「Show filters」をクリックし、検索ボックスに「penguin」と入力しました。
今回の画面は要素が 2 つだけの単純なモックです。実際のアプリ画面での精度や、操作後の画面を見ずに 3 つの操作をまとめて返す挙動が安全かどうかは、この実験では分かりません。
トークン数と費用
2 回目の実行(5 リクエスト)の usage から、公式価格で計算した値です。請求書の金額ではなく、list price からの計算である点に注意してください。
| リクエスト | 入力 | うちキャッシュ書き込み / ヒット | 出力 | 所要時間 | 計算費用 |
|---|---|---|---|---|---|
| computer 1 回目(タスク文) | 853 | 0 / 0 | 18 | 2.26 秒 | $0.000943 |
| computer 2 回目(画面を返す) | 1,649 | 1,646 / 0 | 56 | 2.07 秒 | $0.002341 |
| computer 3 回目(操作後の画面) | 2,483 | 834 / 1,646 | 22 | 1.51 秒 | $0.001238 |
| 合計(3 往復) | 4,985 | 96 | 5.84 秒 | $0.004522 |
2 回目のリクエストでは、入力 1,649 トークンのうち 1,646 がキャッシュ書き込みとして計上されました。3 回目では前回分の 1,646 トークンがキャッシュにヒットしています。previous_response_id で履歴をつなぐと、画像を含む入力が自動でキャッシュされ、ヒット分は入力単価の 5% で済むという挙動です。キャッシュ書き込みは入力より 25% 高い($1.25)ため、1 回しか使わない画像が多いワークロードでは、このぶんがそのまま上乗せになります。
テキストだけの確認用リクエストでは、reasoning.effort を none にすると推論トークンが 0 になりました。「17×23 は?」を 1 文で答えさせた場合、medium の出力は 32〜42 トークン(うち推論 29 トークンを確認)、none は 11 トークンです。所要時間は 1.8〜5.1 秒でばらつき、単発の計測では優劣を言えませんでした。
実験全体(2 回の実行、計 9 リクエスト)の費用は 1 セント未満です。生ログ(レスポンス ID、usage、出力 JSON)は手元に保存しています。
Claude Sonnet 5.5 / Opus 5.5 と比べる
Anthropic の公式価格表(platform.claude.com/docs/en/about-claude/pricing)では、次のとおりです。
| モデル | 入力 | 出力 | Terra 比 |
|---|---|---|---|
| GPT-6.1 Terra | $1 | $5 | 1 倍 |
| Claude Sonnet 5.5 | $2 | $10 | 2 倍 |
| Claude Opus 5.5 | $4 | $20 | 4 倍 |
単価は入力・出力とも、きれいに 1 : 2 : 4 です。たとえば今回の 3 往復と同じトークン数(入力 4,985、出力 96、キャッシュなし)を各単価で計算すると、次のようになります。
| モデル | 同一トークン数での計算費用 |
|---|---|
| GPT-6.1 Terra | 約 $0.0055 |
| Claude Sonnet 5.5 | 約 $0.011 |
| Claude Opus 5.5 | 約 $0.022 |
この表はあくまで算術です。次の 3 点で、実際のコスト差は変わります。
- トークン数が揃わない。同じスクリーンショットでも、モデルごとに画像のトークン換算が違います。Anthropic の価格表には、Claude 4.7 以降は新しいトークナイザーで旧来より約 30% 多くのトークンになる、という注記もあります
- キャッシュの条件が違う。Terra はキャッシュヒットが入力の 5% で、書き込みは 25% 増しです。Claude 側の書き込み・ヒット単価(Sonnet 5.5 は 5 分書き込み $2.50、ヒット $0.10)とは構造が違うため、履歴を再利用するループでは差が縮む方向にも広がる方向にも動きます
- 1 タスクあたりの往復数が違う。単価が安くても、成功するまでの往復が増えれば逆転します
精度については、この記事では比較していません。報道で出回っている性能比較の数値は一次情報で確認できなかったため載せていません。
選び方の目安
| 状況 | 考え方 |
|---|---|
| 大量の画面操作や視覚確認を安く回したい | Terra は単価が最も低い構成です。Batch / Flex の 50% 引きも使えます |
| すでに Claude で運用していて精度に不満がない | 単価差だけで乗り換えず、自分のタスクで成功率と往復数を測ってからにします |
| 推論を使わず低レイテンシで返したい | Terra は reasoning.effort: "none" に対応します(Astra / Sol は非対応) |
| 長い履歴を毎回送る | 272K トークン超の入力は、そのリクエスト全体が割増になります。履歴は圧縮するか分割します |
自分のタスクで比べる手順
同じ画面セットと同じタスク文を使い、次の 3 つを記録します。
- 成功率(最終状態が期待どおりか)
- 1 タスクあたりの往復数
-
usageから計算した 1 タスクあたりの費用
Terra は reasoning.effort を low から始め、成功率が足りなければ上げます。公式ガイドも medium から始めて、品質の改善が時間とトークンに見合うなら上げる方針です。GPT-5.6 Terra から移行する場合は、同じ reasoning effort で代表的な画像とワークフローを両モデルに流して比べるよう、ガイドが勧めています。
運用で気をつけること
- tool calling は Responses API に移す。Chat Completions のまま Terra を使うと、ツール付きの呼び出しができません
-
reasoning を使うときはサンプリング系パラメータを外す。
temperature、top_p、top_logprobsは reasoning effort がnone以外のとき削除するよう、ガイドに書かれています - 取得した操作は実行前に検証する。座標やキー入力を実環境で動かすときは、公式ガイドの「Run safely」の節に沿って、許可する操作を絞り、サンドボックスの中で動かします
- キャッシュ書き込みを見込む。画像を含むループでは、初回の書き込み単価($1.25)が効きます
まとめ
GPT-6.1 Terra は、入力 $1 / 出力 $5 の単価で computer ツールを使える Responses API 対応モデルです。モック画面での 3 往復は、入力約 5,000 トークン、出力約 100 トークン、計算費用約 $0.0045 で完了しました。Claude Sonnet 5.5 と Opus 5.5 は同じトークン数なら単価が 2 倍と 4 倍ですが、トークン数・キャッシュ・往復数で実コストは変わり、精度の優劣は今回測れていません。
次の一手は、自分の画面セットで成功率・往復数・費用の 3 点を両モデルで測ることです。
参考
- GPT-6.1 Terra(OpenAI API モデルページ)
- GPT-6 ガイド(OpenAI)
- Computer use(OpenAI)
- Pricing(Anthropic)
- OpenAI releases GPT-6.1 Terra(The Decoder)