跳到主要内容

模型指南

Nano Banana Pro

gemini-3-pro-image

专业

适合复杂指令和高分辨率生成。图片编辑与参考图支持尚未验证。

支持 4K复杂指令专业素材
模型信息
模型 ID
gemini-3-pro-image
参考价格
$0.09/ 次
输出尺寸
1K / 2K / 4K
API 类型
Gemini native

提示词预设

以下是 YingTu 当前提供的模型设置。

活动主视觉

设计导向音频产品的高级活动主视觉,工业细节准确,棚拍反射受控,具有电影感空间层次。

复杂构图

包含人物、导视、景观与统一午后光线的多层建筑场景,材质真实、关系清晰。

高细节静物

精密文具与雕塑感桌面物件组成的精致静物,棚拍光线受控,材质准确,微小细节清晰,高分辨率质感。

可用设置

以下是图片工作室当前可用的设置。

适合

  • 复杂场景与指令
  • 高分辨率生成素材
  • 在 LaoZhang 账户确认模型权限

使用前检查

  • 图片编辑和参考图支持尚未验证,正式使用前请先确认。
  • 请结合实际任务评估参考价格。
  • 4K 输出仍需人工检查。
图片编辑: 尚未验证

API 快速开始

示例使用与图片工作室相同的请求格式。

gemini-3-pro-image
import base64
import mimetypes
import os
import sys

import requests

API_KEY = os.environ.get("LAOZHANG_API_KEY")
if not API_KEY:
    raise RuntimeError("Set the LAOZHANG_API_KEY environment variable before running this example.")

API_URL = "https://api2.laozhang.ai/v1beta/models/gemini-3-pro-image:generateContent"
REQUEST_TIMEOUT_SECONDS = 500

headers = {
    "Authorization": f"Bearer {API_KEY}",
    "Content-Type": "application/json",
}

payload = {
    "contents": [{
        "parts": [
            {"text": "设计导向音频产品的高级活动主视觉,工业细节准确,棚拍反射受控,具有电影感空间层次。"}
        ]
    }],
    "generationConfig": {
        "responseModalities": ["IMAGE"],
        "imageConfig": {
            "imageSize": "2K"
        }
    }
}

try:
    response = requests.post(
        API_URL,
        headers=headers,
        json=payload,
        timeout=REQUEST_TIMEOUT_SECONDS,
    )
except requests.Timeout as error:
    print(
        "Request timed out after 500 seconds. The result status may be unknown; "
        "check call and billing logs before retrying.",
        file=sys.stderr,
    )
    raise SystemExit(1) from error

if response.status_code != 200:
    print(f"API error {response.status_code}: {response.text}", file=sys.stderr)
    raise SystemExit(1)

try:
    result = response.json()
except ValueError as error:
    print("API returned a non-JSON response.", file=sys.stderr)
    raise SystemExit(1) from error

if not isinstance(result, dict):
    print("API returned an unexpected JSON shape.", file=sys.stderr)
    raise SystemExit(1)

image_part = None
for candidate in result.get("candidates", []):
    for part in candidate.get("content", {}).get("parts", []):
        inline_data = part.get("inlineData") or part.get("inline_data")
        if inline_data and inline_data.get("data"):
            image_part = inline_data
            break
    if image_part:
        break

if not image_part:
    response_id = result.get("responseId", "not provided")
    print(f"No image data in response. responseId={response_id}", file=sys.stderr)
    raise SystemExit(1)

mime_type = image_part.get("mimeType") or image_part.get("mime_type") or "image/png"
encoded_image = image_part["data"]
if encoded_image.startswith("data:"):
    header, encoded_image = encoded_image.split(",", 1)
    mime_type = header[5:].split(";", 1)[0] or mime_type

extension_by_mime = {
    "image/jpeg": "jpg",
    "image/png": "png",
    "image/webp": "webp",
    "image/gif": "gif",
}
extension = extension_by_mime.get(mime_type, "bin")
output_path = f"output.{extension}"

with open(output_path, "wb") as output_file:
    output_file.write(base64.b64decode(encoded_image, validate=True))

print(f"Image saved: {output_path} ({mime_type})")

Studio 示例

这些图库图片没有记录生成时使用的模型和提示词,仅作视觉示例,不代表该模型的实测效果。

Studio 示例
Studio 示例
Studio 示例

测试记录

YingTu 测试结果

这里只展示可公开查看的 YingTu 测试结果。尚无结果时,我们会明确说明,不展示草稿数据。

暂无公开结果

商品外观一致性

商品的形状、比例、颜色、Logo 和包装文字是否保持一致。

暂无公开结果

背景替换

替换背景时,主体和边缘是否完整,以及是否出现未要求的改动。