Nano Banana 改图与多图融合
模型 ID 与接口选择见 Nano Banana 概览。
要点原生接口将图片与文字放入同一个
parts;OpenAI 兼容接口使用 /v1/images/edits。Python(原生)
edit.py
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"},
)
with open("apple.png", "rb") as f:
image = types.Part.from_bytes(data=f.read(), mime_type="image/png")
resp = client.models.generate_content(
model="google/gemini-3.1-flash-image",
contents=["把苹果改成绿色,其他保持不变", image],
config=types.GenerateContentConfig(
response_modalities=["IMAGE"],
image_config=types.ImageConfig(aspect_ratio="1:1", image_size="1K"),
),
)
for part in resp.candidates[0].content.parts:
if part.inline_data:
with open("apple_green.png", "wb") as f:
f.write(part.inline_data.data)- 多图融合:在同一个
parts中放入多个inlineData,并在文字中说明每张图片的作用,例如「将第一张图中的人物置于第二张图的场景中」。 - 保持比例:改图时同样需要传入
aspectRatio,否则输出比例由模型决定,可能与原图不一致。 - 参考图计费:参考图按输入 token 计费。实测一张 1024×1024 的参考图计 1,120 个 token,见响应中
promptTokensDetails的IMAGE项。
遇到报错请参阅 报错排查。
最后更新于