|

Nano Banana Pro API 原比例输出完整指南:3种场景实现图片原尺寸生成

作者注:详解 Nano Banana Pro API 如何实现原比例输出,掌握省略 aspect_ratio 参数的技巧,解决图片编辑场景的尺寸保持问题

使用 Nano Banana Pro API 进行图片编辑时,如何保持原图尺寸是开发者经常遇到的问题。官方文档明确限制 aspect_ratio 只支持 10 种固定比例,但实际上有一个简单的解决方案:在改图场景下省略 aspect_ratio 参数即可实现原尺寸输出

核心价值: 读完本文,你将掌握 Nano Banana Pro API 原比例输出的完整技巧,在不同场景下灵活控制图片尺寸。

nano-banana-pro-original-aspect-ratio-output 图示


Nano Banana Pro 原比例输出核心要点

要点 说明 价值
省略参数法 图片编辑时不传 aspect_ratio 自动保持原图尺寸
10种固定比例 1:1, 2:3, 3:2, 3:4, 4:3, 4:5, 5:4, 9:16, 16:9, 21:9 文生图场景使用
默认行为差异 文生图默认1:1,改图默认原尺寸 理解API逻辑关键

Nano Banana Pro 原比例输出的关键原理

Nano Banana Pro(即 Gemini 3 Pro Image)在处理图片时有两种不同的默认行为。对于纯文本生成图片(text-to-image)场景,如果不指定 aspect_ratio,API 会默认输出 1:1 的正方形图片。

但在图片编辑(image-to-image)场景下,API 的行为完全不同。当你提供参考图片并要求进行编辑时,如果不传递 aspect_ratio 参数,API 会自动识别输入图片的原始尺寸,并以相同尺寸输出编辑后的结果。这就是实现原比例输出的核心机制。

Nano Banana Pro 原比例输出为什么有效

这种设计是合理的:当用户上传一张图片进行编辑时,通常期望输出的图片保持与原图相同的尺寸和比例。强制用户手动计算和指定比例不仅增加了开发复杂度,还可能因为比例不匹配导致图片变形或裁切。

nano-banana-pro-original-aspect-ratio-output 图示


Nano Banana Pro 原比例输出官方规则详解

官方 API 文档明确规定 aspect_ratio 参数只接受以下 10 种预设值:

比例 尺寸示例 (1K) 典型用途 适用场景
1:1 1024×1024 头像、图标 社交媒体头像
2:3 832×1248 竖版海报 手机壁纸
3:2 1248×832 横版照片 相机标准比例
3:4 864×1152 竖版内容 小红书封面
4:3 1152×864 传统显示器 PPT配图
4:5 896×1120 Instagram 社交媒体内容
5:4 1120×896 打印照片 8×10英寸照片
9:16 768×1344 竖版视频 短视频封面
16:9 1344×768 横版视频 YouTube 封面
21:9 1536×658 超宽屏 电影画面

重要提示: 上述比例限制仅适用于需要指定尺寸的场景。在图片编辑场景下,推荐通过 API易 apiyi.com 平台进行测试,省略 aspect_ratio 参数即可实现原尺寸输出。


Nano Banana Pro 原比例输出快速上手

极简示例:图片编辑保持原尺寸

以下是最简单的原比例输出实现方式:

import openai
import base64

client = openai.OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://vip.apiyi.com/v1"
)

# 读取原图并编码
with open("input.jpg", "rb") as f:
    image_base64 = base64.b64encode(f.read()).decode()

# 关键:不传 aspect_ratio 参数
response = client.chat.completions.create(
    model="gemini-3-pro-image-preview",
    messages=[{
        "role": "user",
        "content": [
            {"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{image_base64}"}},
            {"type": "text", "text": "将图片背景改为日落场景"}
        ]
    }]
)

查看完整实现代码(含错误处理)
import openai
import base64
from pathlib import Path

def edit_image_keep_ratio(
    image_path: str,
    edit_prompt: str,
    output_path: str = "output.png"
) -> bool:
    """
    编辑图片并保持原始尺寸

    Args:
        image_path: 输入图片路径
        edit_prompt: 编辑指令
        output_path: 输出图片路径

    Returns:
        是否成功
    """
    client = openai.OpenAI(
        api_key="YOUR_API_KEY",
        base_url="https://vip.apiyi.com/v1"
    )

    # 读取并编码图片
    image_data = Path(image_path).read_bytes()
    image_base64 = base64.b64encode(image_data).decode()

    # 检测图片格式
    suffix = Path(image_path).suffix.lower()
    mime_type = {"jpg": "jpeg", "jpeg": "jpeg", "png": "png", "webp": "webp"}.get(suffix[1:], "jpeg")

    try:
        # 核心:不传 aspect_ratio,自动保持原尺寸
        response = client.chat.completions.create(
            model="gemini-3-pro-image-preview",
            messages=[{
                "role": "user",
                "content": [
                    {"type": "image_url", "image_url": {"url": f"data:image/{mime_type};base64,{image_base64}"}},
                    {"type": "text", "text": edit_prompt}
                ]
            }]
        )

        # 保存结果
        result_base64 = response.choices[0].message.content
        output_data = base64.b64decode(result_base64)
        Path(output_path).write_bytes(output_data)
        return True

    except Exception as e:
        print(f"编辑失败: {e}")
        return False

# 使用示例
edit_image_keep_ratio(
    "product.jpg",
    "移除图片背景,保留主体产品",
    "product_nobg.png"
)

建议: 通过 API易 apiyi.com 获取免费测试额度,快速验证原比例输出效果。平台支持 Nano Banana Pro 模型的完整功能调用。


Nano Banana Pro 原比例输出三种场景对比

nano-banana-pro-original-aspect-ratio-output 图示

场景 aspect_ratio 配置 输出结果 代码示例
文生图 – 指定比例 "aspect_ratio": "16:9" 1344×768 (1K) 海报、封面设计
文生图 – 默认 不传参数 1024×1024 正方形图标
改图 – 原尺寸 不传参数 与原图相同 产品图编辑

场景一:文生图需要指定比例

当进行纯文本生成图片时,如果需要特定尺寸,必须明确传递 aspect_ratio 参数:

response = client.chat.completions.create(
    model="gemini-3-pro-image-preview",
    messages=[{"role": "user", "content": "一只可爱的猫咪"}],
    extra_body={
        "image_config": {
            "aspect_ratio": "16:9",  # 必须指定
            "resolution": "2K"
        }
    }
)

场景二:图片编辑保持原尺寸

这是本文的核心场景,只需省略 aspect_ratio 即可:

response = client.chat.completions.create(
    model="gemini-3-pro-image-preview",
    messages=[{
        "role": "user",
        "content": [
            {"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{img}"}},
            {"type": "text", "text": "增强图片色彩"}
        ]
    }]
    # 不传 extra_body 或 aspect_ratio
)

场景三:图片编辑强制改变比例

如果确实需要在编辑时改变尺寸,可以显式传递参数:

response = client.chat.completions.create(
    model="gemini-3-pro-image-preview",
    messages=[{
        "role": "user",
        "content": [
            {"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{img}"}},
            {"type": "text", "text": "将图片改为正方形构图"}
        ]
    }],
    extra_body={"image_config": {"aspect_ratio": "1:1"}}
)

对比说明: 以上参数配置已在 API易 apiyi.com 平台验证,实测有效。


常见问题

Q1: 为什么我省略 aspect_ratio 后图片还是变成正方形了?

请确认你的请求中确实包含了输入图片。如果 messages 中只有文本没有图片,API 会按照文生图模式处理,默认输出 1:1 比例。原尺寸输出仅在提供参考图片的编辑场景下生效。

Q2: 原图尺寸不在 10 种支持比例中怎么办?

这正是省略参数法的价值所在。例如原图是 1920×1080(约 16:9),API 会输出接近该尺寸的结果,而不会强制裁切。如果你显式传递 aspect_ratio: "16:9",输出会是标准的 1344×768。

Q3: 如何快速测试原比例输出效果?

推荐使用支持多模型的 API 聚合平台:

  1. 访问 API易 apiyi.com 注册账号
  2. 获取 API Key 和免费额度
  3. 使用本文代码示例,上传测试图片验证

总结

Nano Banana Pro 原比例输出的核心要点:

  1. 省略即原尺寸: 图片编辑场景下,不传 aspect_ratio 参数即可保持原图尺寸
  2. 理解场景差异: 文生图默认 1:1,改图默认原尺寸,两种模式行为不同
  3. 10 种预设比例: 需要指定尺寸时,只能从 10 种官方支持的比例中选择

掌握这个技巧后,你可以在产品图编辑、人像修图、背景替换等场景中,轻松实现原尺寸输出,避免后期调整尺寸的麻烦。

推荐通过 API易 apiyi.com 快速验证效果,平台提供免费额度和 Nano Banana Pro 模型的完整支持。


📚 参考资料

⚠️ 链接格式说明: 所有外链使用 资料名: domain.com 格式,方便复制但不可点击跳转,避免 SEO 权重流失。

  1. Google Gemini API 官方文档: Nano Banana 图像生成完整参数说明

    • 链接: ai.google.dev/gemini-api/docs/nanobanana
    • 说明: 官方权威文档,包含 aspect_ratio 参数的完整定义
  2. fal.ai Nano Banana Pro API: 第三方平台的详细接口说明

    • 链接: fal.ai/models/fal-ai/nano-banana-pro/edit/api
    • 说明: 包含 image-to-image 场景的参数配置示例
  3. Google AI 开发者论坛: 社区讨论和问题解答

    • 链接: discuss.ai.google.dev
    • 说明: 可以找到其他开发者关于尺寸控制的经验分享

作者: 技术团队
技术交流: 欢迎在评论区讨论 Nano Banana Pro API 使用技巧,更多资料可访问 API易 apiyi.com 技术社区

类似文章