この記事では、OpenAI の Image generation API(画像生成API)を Python から利用する方法を紹介します。
実際に動作するサンプルコードを使って、各パラメータや注意点も解説します。
💻 サンプルコード
以下は、openaiパッケージを使って画像を生成するPythonコードです。
# usage: > python img_gen.py
# ----------------------------------------------------------
import os
import openai
import base64
# OpenAI API キーを設定
openai.api_key = os.environ.get( "OPENAI_API_KEY" )
# 画像生成リクエスト
response = openai.images.generate(
model = "gpt-image-1", # 画像生成モデル
prompt = "頭部が水色の段ボール箱のような立方体。身体も水色で粘土細工のよう。そのようなキャラクター。",
size = "1024x1024",
quality = "low"
)
# 画像バイナリデータに変換
image_bytes = base64.b64decode( response.data[ 0 ].b64_json )
# ファイルに保存
with open( "./box-men.png", "wb" ) as file:
file.write( image_bytes )
📝 コード解説
1. APIキー設定
openai.api_key = os.environ.get( "OPENAI_API_KEY" )
環境変数に設定されたOpenAI APIキーを読み込みます。
2. openai.images.generate() の呼び出し
response = openai.images.generate(
model = "gpt-image-1",
prompt = "~",
size = "1024x1024",
quality = "low"
)
ここが画像生成APIのメイン部分です。
テキストプロンプト(prompt)をもとにAIが画像を生成します。
⚙️ パラメータ解説(openai.images.generate())
| パラメータ | 型 | 説明 |
|---|---|---|
| model | str | 使用する画像生成モデル。現在は"gpt-image-1"が推奨。 |
| パラメータ | 型 | 説明 |
|---|---|---|
| model | str |
使用する画像生成モデル。現在は "gpt-image-1" が推奨。 |
| prompt | str |
生成したい画像の内容を自然言語で記述します。日本語でもOK。 |
| size | str |
出力画像サイズ。以下から選択: ・ 256x256・ 512x512・ 1024x1024
|
| quality | str |
"standard" または "low" を指定。 "low" は高速・低コスト。 |
| n | int |
生成する画像枚数(デフォルト: 1) |
| style | str |
"vivid"(鮮やか)または "natural"(自然な描写)を指定可能。 |
| response_format | str |
"b64_json"(Base64形式)または "url"(画像URL)を選択。 |
| user | str |
(任意)ユーザーID。ログ目的で使われます。 |
🪪 利用時の本人確認(API Organization Verification)
OpenAIの画像生成APIを利用するには、政府発行の本人確認書類による認証が必要です。
本人確認に使える書類の例:
- 運転免許証
- パスポート
- 在留カード
- マイナンバーカード
本人確認(Organization Verification)を完了しないと、画像生成エンドポイントが利用できません。
詳細はOpenAI公式ドキュメントで確認できます。
👉 https://help.openai.com/en/articles/10910291-api-organization-verification
💡 注意点・補足
-
商用利用や著作権関連は、生成内容によって制限があります。
詳細はOpenAIの利用規約を確認してください。 -
生成コストはモデルや解像度により変動します。
例:gpt-image-1で 1024×1024 の画像生成は 約 $0.011/枚 程度。 -
プロンプト設計が品質に大きく影響します。
「~風」「~スタイル」などの補足語を積極的に使うと精度が上がります。 - 生成結果は完全にランダムではなく再現性あり。同じプロンプトで似た結果が得られます。
🔗 参考サイト
✅ まとめ
-
openai.images.generate()で簡単に画像を生成可能 - 本人確認(Organization Verification)が必要
-
promptとsize、qualityの調整で精度とコストを制御 - 出力結果はBase64をデコードして保存できる
生成AI画像をうまく使いこなせば、プロトタイプ作成や素材生成が一気に効率化します。
(2025/11 頃執筆)
株式会社ボトルキューブではお仕事を募集中です。
お問い合わせは下記リンク先のフォームからご連絡ください。
https://www.bottlecube.co.jp/contact