Nano Banana のテキストから画像生成とサイズ
モデル ID とエンドポイントの選び方は Nano Banana 概要を参照してください。
ポイントアスペクト比は
aspectRatio、解像度は imageSize で指定します。どちらも generationConfig.imageConfig の中に置きます。テキストから画像生成の例
Python
nano_banana.py
import base64
from google import genai
from google.genai import types
client = genai.Client(
api_key="YOUR_OFOX_API_KEY",
http_options={"api_version": "v1beta", "base_url": "https://api.ofox.io/gemini"},
)
resp = client.models.generate_content(
model="google/gemini-3.1-flash-image",
contents="白いテーブルの上に置かれた赤いリンゴ",
config=types.GenerateContentConfig(
response_modalities=["IMAGE"],
image_config=types.ImageConfig(aspect_ratio="16:9", image_size="2K"),
),
)
for part in resp.candidates[0].content.parts:
if part.inline_data:
with open("output.png", "wb") as f:
f.write(part.inline_data.data)Python SDK が返す inline_data.data はバイナリデータのため、そのままファイルに書き込めます。cURL で返るのは base64 文字列のため、先にデコードが必要です。
モデルごとに使える値
よく使う 10 種類のアスペクト比:1:1、2:3、3:2、3:4、4:3、4:5、5:4、9:16、16:9、21:9。一覧にないアスペクト比(5:3 など)は 400 Request contains an invalid argument を返します。
解像度の書き方:imageSize は Google 公式ドキュメントと同じ大文字の 1K、2K、4K を推奨します。実測では OfoxAI は小文字も受け付けます。512 には単位の K を付けません。
imageConfig を省略した場合:アスペクト比はモデルが決定します。アスペクト比を固定したい場合は明示的に指定してください。
実測の出力サイズ
4K の PNG は約 16 MB で、base64 エンコード後のレスポンスボディは 20 MB を超えます。クライアント、プロキシ、ログシステムが大きなレスポンスを切り詰めないことを確認してください。
エラーが発生した場合は エラー対処を参照してください。
最終更新日