HiAPI
블로그

사용 가이드

hiapi API를 통해 Nano-Banana-2-Lite로 이커머스 제품 이미지 생성하기

Jul 7, 2026
hiapi API를 통해 Nano-Banana-2-Lite로 이커머스 제품 이미지 생성하기

이커머스 카탈로그용 제품 이미지를 생성할 때는 단일 이미지 비용보다 단위 경제성이 더 중요합니다. 대표 이미지 한 장에 $0.17이면 열 장만 필요할 때는 문제없지만, 1000개의 SKU마다 세 장씩 생성해야 한다면 상황이 완전히 달라집니다. 바로 이 지점에서 hiapi의 Nano-Banana-2-Lite가 빈틈을 채웁니다: 이미지당 $0.033, 1K 해상도, 더 큰 Nano-Banana 모델과 동일한 비동기 작업 API 사용, 최대 10장의 참조 이미지 지원—클래식한 이커머스 3종 세트(화이트 배경 대표 이미지, 라이프스타일 장면 이미지, 프리미엄 다크 변형 이미지)를 대량 가격으로 완성하기에 충분합니다.

이 가이드는 이전에 작성한 Nano-Banana 이커머스 워크플로의 예산 등급 동반 문서입니다. 아래의 모든 내용—요청, 출력, 소요 시간, 비용—은 글을 작성하는 시점에 실제 라이브 API를 직접 실행한 결과에서 나온 것입니다.

Nano-Banana 제품 라인에서 Lite의 위치

다음 정보는 작성 시점에 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)에서 출력은 대부분의 마켓플레이스가 업로드 이미지를 압축한 후 요구하는 기준을 충족하거나 초과합니다.
  • 홈페이지 배너, 캠페인 키 비주얼, 인쇄물 → 2K/4K 출력과 더 강력한 텍스트 렌더링을 위해 nano-banana-pro로 업그레이드하세요. Lite는 물량용, Pro는 핵심 이미지용—둘은 경쟁이 아니라 상호 보완적입니다.

실행 가능한 요청

Nano-Banana-2-Lite는 hiapi의 통합 비동기 작업 API에서 실행됩니다: 작업을 제출하고, 완료될 때까지 폴링하고, 결과를 다운로드합니다. 코드 작성 전에 세 가지 주의사항이 있습니다:

  1. 모델 ID는 대소문자를 구분합니다. 정확히 Nano-Banana-2-Lite를 전송하세요—소문자 변형은 400 MODEL_UNAVAILABLE을 반환합니다.
  2. 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을 보내면 요청이 거부됩니다.
  3. 출력 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가 포함됩니다. status가 success가 될 때까지 GET /v1/tasks/{taskId}를 폴링한 다음 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 배치 파이프라인

작업은 독립적이므로, 배치 처리량은 모든 작업을 한 번에 제출하고 그룹으로 폴링하는 데서 나옵니다—저희 실행에서는 5개의 동시 작업을 완료하는 데 걸리는 실제 시간이 하나의 작업과 거의 같았습니다. 최소 파이프라인:

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장 처리(대표 이미지 + 라이프스타일 이미지 + 다크/디테일 변형)를 적용할 경우:

카탈로그 규모 이미지 수(×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에 전시 가능하고 일관된 이미지가 필요하고 예산이 1000장 단위로 측정될 때, 1K 해상도에 참조 이미지를 지원하는 $0.033의 가격은 반박하기 어렵습니다.

API 키를 발급받은 다음 Nano-Banana-2-Lite 모델 페이지에서 시작하세요—위의 요청은 토큰만 교체하면 바로 사용할 수 있으며, 배치 스크립트는 이를 하나의 SKU에서 천 개로 확장할 수 있습니다.

영구 AI 아티팩트로 빌드 시작하기

API 키를 받아 태스크 기반의 하나의 API로 이미지, 비디오, 오디오 모델을 호출하세요.

API 문서 보기