使用指南
通过 hiapi API 使用 Nano-Banana-2-Lite 生成电商产品图片
当你为电商目录生成产品图片时,单位经济性比任何单张图片都更重要。一张主图花费 $0.17,在你只需要十张时没问题;但当你需要为 1000 个 SKU 各生成三张图时,情况就完全不同了。这正是 Nano-Banana-2-Lite 在 hiapi 上填补的空缺:每张图片 $0.033,1K 分辨率,与更大的 Nano-Banana 模型使用相同的异步任务 API,并支持最多 10 张参考图——足以以批量价格完成经典的电商三件套:白底主图、生活场景图和高级深色变体图。
本指南是我们早先的 Nano-Banana 电商工作流 的预算层级配套文章。下文的所有内容——请求、输出、耗时、成本——都来自我们在撰写本文时对实时 API 的实际运行。

Lite 在 Nano-Banana 产品线中的定位
以下信息在撰写时已对照 hiapi 定价页面 核实:
| 模型 | 每张图片价格 | 分辨率 | 参考图 |
|---|---|---|---|
| Nano-Banana-2-Lite | $0.033 | 1K | 通过 image_urls 最多 10 张 |
| nano-banana | $0.05 | 标准 | 支持 |
| nano-banana-2 | $0.085(1K)/ $0.076(2K)/ $0.114(4K) | 最高 4K | 通过 image_input |
| nano-banana-pro | $0.17(1K/2K)/ $0.2992(4K) | 最高 4K | 通过 image_input |
面向商品目录的决策规则很简单:
- 市场平台商品列表、长尾 SKU、A/B 变体 → Lite。在 1K(短边约 1024px)下,输出达到或超过大多数市场平台对上传图片压缩后的标准。
- 首页横幅、营销活动主视觉、印刷品 → 升级到 nano-banana-pro 以获得 2K/4K 输出和更强的文字渲染能力。Lite 用于走量,Pro 用于重点图片——它们互补而非竞争。
一个可用的请求
Nano-Banana-2-Lite 运行在 hiapi 的统一异步任务 API 上:提交任务,轮询直到完成,下载结果。代码之前有三个注意事项:
- 模型 ID 区分大小写。 请精确发送
Nano-Banana-2-Lite——小写变体会返回400 MODEL_UNAVAILABLE。 aspect_ratio是枚举值,不是自由格式。 允许的值:auto、1:1、2:3、3:2、3:4、4:3、4:5、5:4、9:16、16:9、21:9、1:4、4:1、1:8、8:1。没有resolution字段——Lite 固定为 1K,发送resolution会导致请求被拒绝。- 输出 URL 是签名链接且会过期。 任务成功后立即下载字节内容;存储文件,而非 URL。
curl -s -X POST https://api.hiapi.ai/v1/tasks \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "Nano-Banana-2-Lite",
"input": {
"prompt": "Professional e-commerce product photo of a minimalist matte-white wireless earbuds charging case, centered on a seamless pure white background, soft even studio lighting, gentle shadow beneath, crisp edges, catalog-ready hero shot, no text, no logo",
"aspect_ratio": "1:1"
}
}'
响应中包含一个 taskId。轮询 GET /v1/tasks/{taskId} 直到 status 为 success,然后下载 data.output[0].url。在我们的运行中,单个任务端到端大约 55–65 秒完成,包括轮询时间。
以下是该精确提示词的输出——一张未经修饰的 Lite 生成图:

为商品目录级主图编写提示词
对于白底商品列表,对我们来说始终有效的提示词模式:
*Professional e-commerce product photo of [product, materials, colors], centered on a seamless pure white background, soft even studio lighting, subtle natural shadow, crisp focus, marketplace catalog style, no text, no logo*
同一模板下的另外两个产品,仅更改产品描述和宽高比(4:5 适合时尚/美妆垂直类目,4:3 适合鞋类和电子产品):


批量生成的实用注意事项:
- 始终以 "no text, no logo" 结尾。 与大多数图像模型一样,否则 Lite 会随意编造标签文字和品牌标识——这在真实商品列表上是一个合规问题。如果你的产品有真实标签,请事后合成,或使用下面的参考图路径。
- 明确要求阴影("subtle natural shadow")。不加此要求,你往往会得到一种悬浮抠图效果,在市场平台上看起来像假的。
- 每张图片只放一个产品。 Lite 能可靠处理单主体构图;多产品平铺摆放时,你就开始需要更大的模型了。
同一产品,新场景:image_urls 工作流
真正的电商技巧在于一致性:一张标准产品图,重新布置到生活场景和高级场景中,而产品在图片之间不发生变形。Lite 通过 image_urls 字段接受最多 10 张参考图(注意:更大的 Nano-Banana-2 模型将此字段称为 image_input——重命名是主要的移植陷阱,详见我们的 Lite API 教程)。
我们将上面的主图作为参考,并要求两种重新布置:
{
"model": "Nano-Banana-2-Lite",
"input": {
"prompt": "Place this exact product on a warm oak wooden desk next to a laptop keyboard and a small green potted plant, soft morning window light from the left, shallow depth of field, cozy home-office lifestyle e-commerce scene, keep the product design, colors and proportions unchanged",
"aspect_ratio": "4:3",
"image_urls": ["https://your-cdn.example.com/hero-earbuds.jpg"]
}
}


两个变体返回时,充电盒的比例、盖子接缝和指示 LED 均保持完好。短语 "keep the product design, colors and proportions unchanged" 在这里作用很大——请将其包含在每个参考图提示词中。参考 URL 必须可公开获取(在任务中途过期的签名私有链接会导致任务失败)。
Python 批量流水线
任务是独立的,因此批量吞吐量来自一次性提交所有任务并作为一组进行轮询——在我们的运行中,五个并发任务完成所需的墙钟时间与一个任务大致相同。一个最小流水线:
import json
import subprocess
import time
API = "https://api.hiapi.ai/v1/tasks"
TOKEN = "sk-..." # your hiapi API key
def _curl(args):
out = subprocess.run(["curl", "-s", *args], capture_output=True, text=True, timeout=90)
return json.loads(out.stdout)
def submit(prompt, aspect_ratio="1:1", image_urls=None):
inp = {"prompt": prompt, "aspect_ratio": aspect_ratio}
if image_urls:
inp["image_urls"] = image_urls
data = _curl(["-X", "POST", API,
"-H", f"Authorization: Bearer {TOKEN}",
"-H", "Content-Type: application/json",
"-d", json.dumps({"model": "Nano-Banana-2-Lite", "input": inp})])
return data["data"]["taskId"]
def wait(task_id, timeout_s=600):
deadline = time.time() + timeout_s
while time.time() < deadline:
task = _curl([f"{API}/{task_id}", "-H", f"Authorization: Bearer {TOKEN}"])["data"]
if task["status"] == "success":
return task["output"][0]["url"]
if task["status"] == "fail":
raise RuntimeError(f"{task_id}: {task.get('error')}")
time.sleep(5)
raise TimeoutError(task_id)
HERO_TMPL = ("Professional e-commerce product photo of {product}, centered on a "
"seamless pure white background, soft even studio lighting, subtle "
"natural shadow, crisp focus, marketplace catalog style, no text, no logo")
skus = [
{"id": "SKU-001", "product": "a matte-white wireless earbuds charging case"},
{"id": "SKU-002", "product": "an amber glass serum bottle with black dropper cap"},
{"id": "SKU-003", "product": "a white minimalist running sneaker with light gray sole"},
]
# 1) submit everything up front
tasks = {sku["id"]: submit(HERO_TMPL.format(product=sku["product"])) for sku in skus}
# 2) collect results and persist bytes immediately — output URLs expire
for sku_id, task_id in tasks.items():
url = wait(task_id)
subprocess.run(["curl", "-s", "-o", f"{sku_id}.jpg", url], timeout=120)
print(f"{sku_id} done")
对于生产量级,有两项升级值得实施:使用 webhook 回调代替轮询(创建任务时传递 callback.url 和 when: "final"),并将每个 taskId 与你的 SKU 记录一起持久化,以便崩溃的工作进程可以恢复而不是重复花费。两者都在 任务 API 教程 和 hiapi 文档 中有介绍。
一个商品目录的实际成本
按每张图片 $0.033,采用标准三图处理(主图 + 生活图 + 深色/细节变体):
| 目录规模 | 图片数(×3) | Nano-Banana-2-Lite | 同样工作使用 nano-banana-pro |
|---|---|---|---|
| 100 个 SKU | 300 | $9.90 | $51.00 |
| 500 个 SKU | 1,500 | $49.50 | $255.00 |
| 1,000 个 SKU | 3,000 | $99.00 | $510.00 |
一个合理的混合方案:将整个目录通过 Lite 运行,然后仅将收入最高的 20 个 SKU 在 nano-banana-pro 上以 2K/4K 重新拍摄,用于首页和营销活动投放。对于 100 个 SKU 的示例,这是 $9.90 + 约 $10 的 Pro 图片费用——仍然只是一天摄影棚成本的一小部分。
为需要第二次尝试的提示词预留 5–10% 的重试余量(通常是标签上的多余文字),并记住失败的任务会以 fail 和错误对象报告——只有成功的生成才值得接入你的质量门禁。
总结
Nano-Banana-2-Lite 不会取代你的旗舰主视觉流水线——那是 Pro 层级的用途。但对于商品目录的长尾部分,每个 SKU 都需要可展示、一致的图像,而预算按每千张图片衡量时,1K 分辨率下 $0.033 且支持参考图的价格很难被驳倒。
获取一个 API 密钥,然后从 Nano-Banana-2-Lite 模型页面 开始——上面的请求在替换你的 token 后即可直接使用,而批量脚本可以将其从一个 SKU 扩展到一千个。