GPT-Image-2(gpt-image 2)は OpenAI の最新の画像生成モデルで、使い方は 2 通りあります。ChatGPT のアプリで文章で頼む方法(ChatGPT のプランの範囲内)と、API から 1 枚ずつ従量課金で呼ぶ方法です。API の場合、Kunavo 経由なら 1 枚 $0.0633で、OpenAI SDK の base_url を https://api.kunavo.com/v1 に変え、gpt-image-2 を指定して POST /v1/images/generations を呼ぶだけです。既存の画像の編集は gpt-image-2-edit で POST /v1/images/edits。ChatGPT での利用と API の請求は別々で、ChatGPT の有料プランに API の利用分は含まれません。
日本語の検索結果は、ChatGPT の画面での手順か、無料で試せる外部サイトの紹介がほとんどです。このページはその先 —API で呼ぶときの 1 枚あたりの料金、コピーしてそのまま動くコード、編集エンドポイント — をまとめ、ChatGPT のアプリのほうが向く場面もはっきり書きます。
ChatGPT で使うか、API で使うか
| ChatGPT のアプリ | API | |
|---|---|---|
| 払うもの | ChatGPT のプラン(月額) | 1 枚ごとの従量課金($0.0633) |
| 操作 | チャットで頼み、会話しながら直す | コードから呼ぶ。同じプロンプトとパラメータで再現できる |
| 向いている場面 | たまに数枚作る。1 枚を試行錯誤しながら仕上げる | 大量生成、サービスへの組み込み、1 枚単位の原価管理 |
| 請求 | ChatGPT の請求 | API キーの残高から引き落とし(ChatGPT とは別) |
たまに数枚作るだけなら、ChatGPT のアプリのほうが簡単です。コードもキーも要らず、「もう少し明るく」と会話で直せます。プランごとの回数や条件は OpenAI 側で変わることが多いため、ここには数字を書きません。API が効いてくるのは、同じ形式の画像を何十枚・何百枚と作るとき、自分のサービスの中で生成するとき、そして 1 枚あたりの原価を把握したいときです。
ChatGPT での使い方(手短に)
ChatGPT のチャット欄で、作りたい画像を文章で頼むだけです。画像を添付して「背景を変えて」と頼めば編集になります。構図・光・用途(バナー、商品写真など)・画像に入れたい文字を具体的に書くほど、狙いに近い 1 枚が出ます。このプロンプトの書き方は、API で呼ぶときもそのまま使えます。
API での使い方 — 3 ステップ
- キーを作る。登録後、
/app/keysでsk-kn-から始まるキーを発行します。表示は一度きりなので、その場で保存してください。 - 残高を入れる。前払いで $10 から。Stripe のチェックアウトで、JCB を含むカードと Apple Pay が使えます。残高に有効期限はありません。
- OpenAI SDK の向き先を変えて呼ぶ。OpenAI のアカウントは不要で、既存のコードなら
base_urlとキーの差し替えだけです。
import os
import requests
from openai import OpenAI
client = OpenAI(
api_key=os.environ["KUNAVO_API_KEY"], # sk-kn-...
base_url="https://api.kunavo.com/v1", # 既存コードから変えるのはここだけ
timeout=600, # 同期モードは最長 540 秒待つ
)
img = client.images.generate(
model="gpt-image-2",
prompt="白い机の上の和菓子、やわらかい自然光、真上から、余白を多めに",
size="1024x1024", # 縦横比として解釈される
extra_body={"resolution": "2K"}, # 1K / 2K / 4K(SDK の標準外なので extra_body)
)
url = img.data[0].url # 約 24 時間で消える一時 URL — すぐ保存する
with open("wagashi.png", "wb") as f:
f.write(requests.get(url, timeout=60).content)返ってくる URL は約 24 時間で消える一時的なものなので、上のように受け取った時点で保存してください。GPT-Image-2 の生成には通常 15〜60 秒かかり、同期モードでは Kunavo が最長 540 秒まで接続を保持します。クライアント側のタイムアウトはそれより長めに設定します。大量に回すなら、"async": true(または webhook_url)を付けて投げ、GET /v1/images/{id} で結果を取りに行く非同期 API が向いています。詳細は 画像 API のドキュメント、キーの作成から最初の呼び出しまでは クイックスタート にあります。
主なパラメータ
| パラメータ | 値 | 注意点 |
|---|---|---|
model | gpt-image-2 | 編集は gpt-image-2-edit |
prompt | 文字列 | 必須 |
size | 1024x1024 など OpenAI 形式 | 縦横比として解釈される |
resolution | 1K / 2K / 4K | SDK では extra_body で渡す。正方形で 4K を指定すると自動で 2K になり、2K として課金 |
quality | standard / hd | 対応しているモデルのみ |
n | 整数 | 多くのモデルは n に関係なく 1 枚を返す。複数枚は呼び出しを並べる |
GPT-Image-2 の料金 — API は 1 枚いくらか
以下の料金はこのサイトのモデルカタログから直接描画しているので、価格が変わればこの表も変わります。
| 枚数 | 料金(Kunavo) |
|---|---|
| 1 枚 | $0.0633 |
| 100 枚 | $6.33 |
| 1,000 枚 | $63.30 |
| $10 のチャージで | 約 157 枚 |
1K・2K・4K のどれを選んでも、現時点では同じ 1 枚 $0.0633です。解像度ごとの料金は ドキュメントの解像度の節 がカタログから表示しています。編集(GPT-Image-2 Edit)も 1 枚 $0.0633。失敗したリクエストは課金されませんが、気に入らずに作り直した分は成功した生成なので、 1 枚ずつ課金されます。
OpenAI の API を直接使う場合の料金は OpenAI の料金ページ に載っています。比べるときは、同じ解像度・同じ品質の 1 枚あたりに揃えてください。ChatGPT のプランの料金は、どちらの API とも別の請求です。
画像を編集する — gpt-image-2-edit
既存の画像を元に作り直すときは POST /v1/images/edits を使います。元画像は https の URL か data: の base64 URI で image に渡し、参照画像が複数あるときは image_urls に配列で渡します。編集は JSON で送る形なので、ここでは requests で呼んでいます。
import os
import base64
import requests
KEY = os.environ["KUNAVO_API_KEY"]
# 手元の画像を data: URI にする(https の URL をそのまま渡してもよい)
with open("wagashi.png", "rb") as f:
src = "data:image/png;base64," + base64.b64encode(f.read()).decode()
r = requests.post(
"https://api.kunavo.com/v1/images/edits",
headers={"Authorization": f"Bearer {KEY}"},
json={
"model": "gpt-image-2-edit",
"prompt": "背景を藍色の和紙に変える。和菓子と構図はそのまま",
"image": src, # 参照画像が複数なら "image_urls": [...] に配列で
},
timeout=600,
)
print(r.json()["data"][0]["url"])同じファイルを何度も使うなら、POST /v1/files で一度アップロードすると files.kunavo.com の恒久的な URL が返ってきます(25 MB まで)。以降はその URL を image に渡すだけです。
正直に — Kunavo 経由が向かない場合
Kunavo 経由の API は、OpenAI のアカウントなしで 1 本のキーから始められる代わりに、共有の容量で動いています。専用の割り当て(クォータ)も、契約上の SLA もありません。保証されたクォータや SLA が必要な規模なら、OpenAI と直接契約するのが正解です。
また、月に数枚を会話しながら作るだけの使い方なら、ChatGPT のアプリのほうが手間がかかりません。API を選ぶ理由が「枚数」「組み込み」「原価管理」のどれにも当たらないなら、アプリで十分です。
Nano Banana との使い分け
同じキー・同じエンドポイントのまま、model の文字列を変えるだけで他の画像モデルも呼べます。枚数が多く単価を優先するなら Nano Banana(1 枚 $0.0273)、指示への忠実さや画像の中の文字を優先するなら GPT-Image-2。同じプロンプトを両方に 10 枚ずつ投げて比べるのが、いちばん早い判断方法です。
英語版の詳しい解説は GPT-Image-2 API ガイド と Nano Banana API、テキストの GPT モデルの単価は GPT API の料金、動画生成は Seedance API の使い方 に、全モデルの単価は 料金ページ にあります。
よくある質問
GPT-Image-2(gpt-image 2)とは何ですか?
OpenAI の最新の画像生成モデルです。ChatGPT のアプリから使えるほか、API からも呼べます。API では OpenAI 互換の images エンドポイント(POST /v1/images/generations)に model として gpt-image-2 を指定して呼び、既存の画像の編集には gpt-image-2-edit(POST /v1/images/edits)を使います。
GPT-Image-2 の API 料金はいくらですか?
Kunavo 経由の API なら 1 枚 $0.0633 で、現時点では 1K・2K・4K のどの解像度でも同額です。編集(gpt-image-2-edit)も 1 枚 $0.0633。月額はなく前払い残高から 1 枚ずつ引かれ、100 枚で $6.33、1,000 枚で $63.30 です。失敗したリクエストは課金されません。
ChatGPT Plus に入っていれば GPT-Image-2 の API も使えますか?
いいえ。ChatGPT のプランと API は別の製品・別の請求で、ChatGPT の有料プランに API の利用分は含まれません。API を使うには API キーと、そのキーに紐づく残高が別に必要です。逆に、API の残高を入れても ChatGPT の利用枠は増えません。
GPT-Image-2 を API で使うにはどうすればいいですか?
API キーを作り、OpenAI の SDK の base_url を https://api.kunavo.com/v1 に向けて、images.generate を model に gpt-image-2 を指定して呼びます。OpenAI のアカウントは不要です。解像度(1K / 2K / 4K)は SDK の標準外のパラメータなので extra_body で渡します。返ってくる画像の URL は約 24 時間で消えるので、受け取ったらすぐ保存してください。
GPT-Image-2 で既存の画像を編集できますか?
できます。POST /v1/images/edits に、model として gpt-image-2-edit、指示文、元画像を渡します。元画像は https の URL か data: の base64 URI で image に入れ、参照画像が複数ある場合は image_urls に配列で渡します。料金は生成と同じく 1 枚単位です。
GPT-Image-2 で 4K の画像は作れますか?
resolution に 4K を指定すれば作れます。ただし GPT-Image-2 は正方形(1:1)の 4K を出力できず、正方形のサイズで 4K を指定すると自動的に 2K で生成され、2K として課金されます。4K が必要なら、size で横長か縦長の比率を指定してください。
一度に複数枚を生成できますか?
n パラメータはありますが、多くの画像モデルは n の値にかかわらず 1 枚しか返しません。複数枚が必要なら呼び出しを並べるか、非同期 API(async を true にして投げ、結果を後から取りに行く形)を使います。課金は生成された 1 枚ごとです。
ChatGPT のアプリと API、どちらを使うべきですか?
月に数枚を会話しながら仕上げるなら ChatGPT のアプリが簡単で、コードもキーも要りません。同じ形式の画像を大量に作る、サービスや業務フローに組み込む、1 枚ごとの原価を管理したい、という場合は API が向いています。API には月額がなく、生成しなかった月の請求は $0 です。