HiAPI
블로그

사용 가이드

Qwen Image 2.0 Pro 이커머스 제품 사진: hiapi API 워크플로

Aug 1, 2026
Qwen Image 2.0 Pro 이커머스 제품 사진: hiapi API 워크플로

TL;DR

  • 무엇인가: hiapi API의 qwen-image-2.0-pro를 사용하는 실제 이커머스 프로덕션 워크플로 — 메인 비주얼 제품 이미지 1장, 프로모션 문구가 렌더링된 프로모션 배너 1장, 그리고 변형 그리드 이미지 1장을 모두 이 페이지에 제시된 정확한 프롬프트와 요청으로 생성합니다.
  • 제품 작업에 Pro 등급을 선택하는 이유: 더 정교한 사실적 디테일, 더 안정적인 이미지 내 텍스트 렌더링(깨진 글자가 아닌 실제 프로모션 문구), 그리고 상세 프롬프트에 대한 더 나은 의미론적 준수 — 가격은 이미지당 $0.107, 최대 2048×2048이며, 기본 qwen-image-2.0 등급은 이미지당 $0.025입니다(가격).
  • 검증된 API 사실: 입력 스키마는 prompt와 size 문자열("2048*2048", "2688*1536", "2368*1728", "1728*2368" 또는 "1536*2688")을 받습니다 — aspect_ratio 필드는 없으며, 텍스트-투-이미지만 지원합니다(image_input / i2i 없음).
  • 워크플로: /v1/tasks를 통해 각 소재당 하나의 작업을 병렬로 제출하고, 완료될 때까지 개별적으로 폴링한 뒤, output[0].url을 즉시 다운로드하고(만료됨), 콘텐츠를 인도하기 전에 렌더링된 텍스트를 다시 검사합니다.

제품 사진에 qwen-image-2.0-pro를 선택하는 이유

하나의 제품 리스팅에는 보통 서로 다른 세 가지 소재가 필요하며, 그것들은 모두 같은 촬영에서 나온 것처럼 보여야 합니다: 리스팅 페이지용 깔끔한 메인 비주얼, 마케팅 캠페인용 실제 프로모션 문구가 담긴 프로모션 배너, 그리고 다중 SKU 카탈로그 페이지용 변형 그리드 이미지. 이는 단일 메인 비주얼 작업보다 넓은 범위이며, Pro 등급이 기본 qwen-image-2.0 대비 가격 프리미엄을 정당화하는 지점입니다:

  • 더 정교한 사실적 디테일. 유리, 브러시드 메탈, 석재 — 이러한 거울 같은 하이라이트 디테일이 카탈로그 썸네일 크기에서도 "렌더링"이 아닌 "실제 사진"처럼 읽힙니다.
  • 더 안정적인 텍스트 렌더링. 프로모션 배너와 패키징은 정확한 문구가 화면에 들어가야 하며, 철자가 맞고 자간이 깔끔해야 합니다. Pro 등급은 이를 위해 튜닝되었습니다; 이 페이지 아래의 배너는 편집되지 않은 예시입니다.
  • 더 나은 의미론적 준수. 이 페이지의 세 프롬프트는 표면, 조명, 레이아웃에서 길고 구체적입니다 — Pro 등급은 그중 두 이미지에 포함된 "텍스트 없음" 지시를 포함해 이러한 모든 요구를 완전히 따랐습니다.

대가는 비용입니다: 이미지당 $0.107로 기본 등급의 $0.025보다 높습니다(실시간 검증 가격, 2026-08). 단일 메인 비주얼에는 반올림 오차에 불과합니다. 수백 개 SKU의 카탈로그에는 실질적인 비용입니다 — 이 둘 사이에서 작업을 어떻게 배분할지는 아래 Pro 대 기본 등급 비교를 참조하세요.

설정

hiapi API 키 하나만 있으면 되고, 다른 것은 필요 없습니다 — SDK 불필요:

export HIAPI_API_KEY="sk-..."

qwen-image-2.0-pro는 통합 비동기 작업 엔드포인트로 실행됩니다: POST https://api.hiapi.ai/v1/tasks가 즉시 taskId를 반환하고, 그런 다음 완료될 때까지 GET /v1/tasks/{taskId}를 폴링합니다.

모든 제품 리스팅에 필요한 세 가지 소재

1. 메인 비주얼 제품 이미지

리스팅 페이지용 이미지: 단일 제품, 중앙 배치, 깔끔한 배경, 주의를 빼앗는 요소 없음. 제출 시와 정확히 동일한 전체 프롬프트:

Studio product photograph of a single amber glass skincare dropper bottle with a blank matte white label, standing centered on a round travertine stone pedestal, seamless warm off-white studio background, soft diffused key light from the upper left, a subtle soft shadow falling to the right, hyper-detailed macro texture on the glass and brushed-metal dropper cap, photorealistic, catalog-ready e-commerce hero shot, no text, no logos, no props

2. 렌더링된 텍스트가 있는 프로모션 배너

이것이 Pro 등급의 텍스트 렌더링이 빛을 발하는 장면입니다. 프롬프트는 특정 모서리에 두 줄의 구체적인 프로모션 문구를 배치하도록 요구합니다 — 자리표시자 텍스트도, "여기에 텍스트를 입력하세요"도 없습니다:

Flat-lay e-commerce promo banner photograph: three amber glass skincare dropper bottles arranged diagonally on a warm terracotta backdrop with dried eucalyptus sprigs, soft overhead studio lighting with gentle shadows, in the upper right corner bold clean white sans-serif text reading SUMMER GLOW SALE, directly beneath it smaller white text reading SAVE 20% TODAY, no other text anywhere, photorealistic commercial photography, sharp focus

hiapi의 콘텐츠 운영 매뉴얼에 따르면, 렌더링된 텍스트는 사람이 직접 읽지 않고서는 절대 인도해서는 안 됩니다 — AI 텍스트 렌더링은 신뢰할 수 있지만 완벽하지는 않으며, 간혹 누락된 글자나 자간 오류는 검사할 때만 드러납니다. 이 배너는 이 페이지에 게시되기 전에 프롬프트와 문자 단위로 대조 검증되었습니다.

3. 변형 그리드 이미지

각 규격이나 향을 나열하는 카탈로그 페이지의 경우, 타일형 그리드 이미지가 모든 변형을 시각적으로 일관되게 보여줍니다:

Overhead flat-lay product grid photograph of six amber glass skincare dropper bottles with blank matte white labels, arranged in two neat rows of three on a light grey seamless studio background, even soft diffused lighting with minimal shadows, consistent spacing between bottles, photorealistic catalog variant-grid layout, no text, no logos

세 이미지 모두의 빈 라벨에 주목하세요 — SKU별 라벨(브랜드명, 향, 규격)은 작은 표면 위의 작은 텍스트이며, 이는 배너 제목보다 더 어려운 렌더링 대상입니다. 실용적인 패턴은: 빈 라벨이 있는 병을 생성한 다음 후반 작업에서 라벨 텍스트를 합성하는 것입니다. 또한 프로모션 가격이 바뀔 때 이렇게 업데이트하는 것이 더 빠릅니다.

입력 스키마, 라이브 API로 검증됨

qwen-image-2.0-pro의 /v1/tasks 스키마는 보기보다 엄격합니다 — aspect_ratio도, n도, 이미지 입력 필드도 전혀 없습니다:

필드 유형 필수 값
prompt string ✅ 당신의 샷 설명
size string ✅ 2048*2048, 2688*1536, 2368*1728, 1728*2368, 1536*2688
negative_prompt string 선택 제외할 내용
seed integer 선택 재현성용
watermark boolean 선택
prompt_extend boolean 선택 모델이 짧은 프롬프트를 확장하도록 함

다른 hiapi 이미지 모델에서 요청을 이식하는 사람이라면 두 가지를 주목할 만합니다: 여기에는 aspect_ratio 파라미터가 없고(size를 직접 사용), 이 모델은 텍스트-투-이미지만 지원합니다 — 참조 이미지 필드가 없으므로 실제 제품 사진을 주고 변형을 생성하도록 요청할 수 없습니다. 프롬프트 제어만이 전부입니다. 전체 요청/응답 구조와 오류 예시는 API 튜토리얼을 참조하세요; 이 페이지는 이커머스 사용 사례에 초점을 맞춥니다.

배치 스크립트: 세 가지 소재, 하나의 제출 루프

/v1/tasks가 비동기이므로 메인 비주얼, 배너, 그리드 이미지 생성은 세 번의 제출과 세 번의 폴링일 뿐입니다 — 직렬 대기가 필요 없습니다:

import time
import requests

API = "https://api.hiapi.ai/v1/tasks"
HEADERS = {"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"}

def submit(prompt: str, size: str) -> str:
    r = requests.post(API, headers=HEADERS, json={
        "model": "qwen-image-2.0-pro",
        "input": {"prompt": prompt, "size": size},
    }, timeout=60)
    task_id = (r.json().get("data") or {}).get("taskId")
    if not task_id:
        raise RuntimeError(f"submit failed: {r.text}")
    return task_id

def wait(task_id: str, timeout_s: int = 600) -> dict:
    deadline = time.time() + timeout_s
    while time.time() < deadline:
        task = requests.get(f"{API}/{task_id}", headers=HEADERS, timeout=30).json()["data"]
        if task["status"] == "success":
            return task
        if task["status"] == "fail":
            raise RuntimeError(f"task failed: {task.get('error')}")
        time.sleep(5)
    raise TimeoutError(task_id)

jobs = [
    ("hero-packshot", "Studio product photograph of ...", "2048*2048"),
    ("promo-banner",  "Flat-lay e-commerce promo banner ...", "2688*1536"),
    ("variant-grid",  "Overhead flat-lay product grid ...", "2368*1728"),
]

task_ids = {name: submit(prompt, size) for name, prompt, size in jobs}   # fan out
for name, task_id in task_ids.items():                                    # collect
    result = wait(task_id)
    url = result["output"][0]["url"]           # expires — download immediately
    open(f"{name}.png", "wb").write(requests.get(url, timeout=120).content)

테스트에서 약 2000px 범위의 각 렌더링은 대략 1분이 걸렸습니다; 피크 부하 시에는 타임아웃으로 간주하기 전에 이미지당 몇 분을 예상하세요.

Pro 대 기본 등급: 어느 것을 쓸까

두 등급은 동일한 prompt + size 스키마를 공유하므로, 둘 사이의 전환은 model 필드 한 줄만 바꾸면 됩니다:

qwen-image-2.0 (기본) qwen-image-2.0-pro
가격 이미지당 $0.025 이미지당 $0.107
최대 크기 2048×2048 2048×2048
텍스트 렌더링 양호 더 강력 — 프로모션 문구의 기본 선택
사실적 디테일 양호 더 정교 — 메인 비주얼의 기본 선택
가장 적합 프롬프트 탐색, 대량 초안, 내부 시안 최종 메인 비주얼/배너 소재, 렌더링된 텍스트가 있는 모든 것

실제 카탈로그의 실용적 배분: 구도가 저렴하게 반복될 수 있는 초안 단계에서는 기본 등급으로 작업하고, 그런 다음 실제 인도 소재를 위해 최종 후보를 Pro 등급에서 다시 렌더링하세요. 기본 등급 워크플로 — 동일한 작업 API, 동일한 프롬프트 스타일 — 는 qwen-image-2.0으로 이커머스 제품 이미지 생성을 참조하세요.

제품 사진 프롬프트 팁

이 세 번의 렌더링에서 일관되게 효과가 있었던 방법:

  • 주체뿐 아니라 표면과 조명을 명시하세요. "트래버틴 받침대", "왼쪽 위에서 오는 부드러운 확산 키 라이트"가 "전문적"이나 "고품질" 같은 형용사보다 사실감에 더 크게 기여합니다.
  • 텍스트가 없어야 할 이미지에는 "텍스트 없음, 로고 없음"을 선언하세요. 명시하지 않으면 제품 사진 프롬프트에 간혹 흩어진 라벨 자국이 생길 수 있습니다; 부정 제약을 명확히 하면 제품 이미지가 깔끔하게 유지됩니다.
  • 배너에는 정확한 문구를 등가의 인용 언어로 작성하세요. "굵고 깔끔한 흰색 산세리프 텍스트, 내용은 SUMMER GLOW SALE"는 정확히 렌더링됩니다; 반면 더 모호한 "몇 가지 프로모션 텍스트"는 문구를 운에 맡깁니다.
  • 패키징에는 아주 작은 브랜드 텍스트가 아닌 빈 라벨을 요구하세요. 작은 표면 텍스트는 모든 이미지 모델에서 가장 어려운 렌더링 대상입니다 — 대신 후반 작업에서 합성하세요.

FAQ

실제 제품 사진을 qwen-image-2.0-pro에 넣어 변형을 생성할 수 있나요? 아니요 — 이 모델은 텍스트-투-이미지만 지원하며, 스키마에 이미지 입력 필드가 없습니다. 이미지-투-이미지 워크플로의 경우 hiapi에서 i2i를 명시적으로 지원하는 다른 모델이 필요합니다.

렌더링된 텍스트가 검사 없이 인도할 만큼 신뢰할 수 있나요? 아니요 — 신뢰할 수 있지만 완벽하지는 않습니다. 게시 전에 프롬프트와 문자 단위로 읽고, 드물게 발생하는 실수는 다시 생성하세요. 위 프로모션 배너 아래의 설명을 참조하세요.

리스팅 메인 비주얼과 배너에는 어떤 크기를 써야 하나요? 정사각형 2048*2048은 대부분 마켓플레이스의 리스팅 요구 사항을 충족합니다. 와이드 프로모션 배너나 메인 비주얼 캐러셀의 경우, 2688*1536 또는 2368*1728(가로/세로)이 후반 크롭 없이 일반적인 웹 배너 비율에 더 가깝습니다.

Pro 등급은 배치 할인을 지원하나요? 아니요 — 가격은 수량과 무관하게 이미지당 고정 $0.107입니다; 비용 레버는 배치 요율이 아니라 얼마나 많은 이미지를 생성하느냐입니다.

요약

이커머스 카탈로그에서 qwen-image-2.0-pro가 기본 등급 대비 가지는 이점은 제품 사진이 필요로 하는 지점에 정확히 맞닿아 있습니다: 메인 비주얼의 더 깔끔한 사실적 디테일, 프로모션 배너의 안정적인 텍스트 렌더링, 그리고 여전히 합리적인 이미지당 $0.107의 가격. /v1/tasks를 통해 메인 비주얼, 배너, 변형 그리드 요청을 병렬로 제출하고, 렌더링된 텍스트가 있는 모든 콘텐츠는 인도 전에 교정하며, 최종 소재를 인도하는 것이 아니라 구도를 반복하는 중이라면 기본 등급으로 전환하세요. qwen-image-2.0-pro 모델 페이지에 실시간 가격과 파라미터 참조가 있으니 여기서 이어가세요.

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

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

API 문서 보기