使用ガイド
Qwen Image 2.0 Pro によるEC商品撮影:hiapi API ワークフロー
TL;DR
- これは何か:hiapi API 上の qwen-image-2.0-pro を使った実際のEC制作ワークフローです。メインビジュアルの商品画像1枚、レンダリングされた販促コピー入りのプロモバナー1枚、そしてバリエーショングリッド画像1枚を、本ページに掲載の正確なプロンプトとリクエストで生成します。
- 商品制作で Pro グレードを選ぶ理由:より精細な写実ディテール、より信頼性の高い画像内テキストレンダリング(文字化けではなく実際の販促コピー)、そして詳細なプロンプトへのより良い意味的追従。価格は1画像あたり $0.107、最大 2048×2048 で、ベースの qwen-image-2.0 グレードは1画像あたり $0.025です(価格)。
- 検証済みの API 事実:入力スキーマは
promptとsize文字列("2048*2048"、"2688*1536"、"2368*1728"、"1728*2368"または"1536*2688")を受け付けます。aspect_ratioフィールドはなく、テキストからの画像生成のみに対応しています(image_input/ i2i はありません)。 - ワークフロー:
/v1/tasks経由で各素材のタスクを並列に送信し、1つずつ完了までポーリングし、output[0].urlをすぐにダウンロードし(有効期限があります)、コンテンツを納品する前にレンダリングされたテキストを再確認します。
商品撮影に qwen-image-2.0-pro を選ぶ理由
1つの商品リスティングには通常3種類の異なる素材が必要で、しかもそれらは同じ撮影で撮られたように見えなければなりません。リスティングページ用のクリーンなメインビジュアル画像、マーケティングキャンペーン用の実際の販促コピー入りプロモバナー、そして複数 SKU のカタログページ用のバリエーショングリッド画像です。これは単一のメインビジュアル画像の作業より広い範囲であり、まさにここで Pro グレードがベース版 qwen-image-2.0 に対する価格プレミアムを発揮します:
- より精細な写実ディテール。ガラス、ヘアライン金属、石材 —— こうした鏡面ハイライトのディテールは、カタログのサムネイルサイズでも「レンダリング画像」ではなく「本物の写真」として読めます。
- より信頼性の高いテキストレンダリング。プロモバナーやパッケージは、正確なコピーが正しいスペルと整った字間で画面に収まる必要があります。Pro グレードはこのために調整されており、本ページ下部のバナーは未編集の実例です。
- より良い意味的追従。本ページの3つのプロンプトは、表面・光・レイアウトの点で長く具体的です。Pro グレードはそれらすべての要件に完全に従いました。そのうち2枚に含まれる「テキストなし」の指示も含めてです。
代償はコストです:1画像あたり $0.107 に対し、ベースグレードは $0.025 です(リアルタイム検証価格、2026-08)。単一のメインビジュアル画像なら誤差にすぎません。数百 SKU のカタログならこれは実際のコストになります —— この2つをどう配分するかは、下の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} を完了するまでポーリングします。
すべての商品リスティングに必要な3種類の素材
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 グレードのテキストレンダリングが真価を発揮する場面です。プロンプトは2行の具体的な販促コピーを特定の角に配置するよう求めています —— プレースホルダーテキストも「ここにテキストを入れてください」もありません:
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 のテキストレンダリングは信頼できますが万能ではなく、たまに発生する文字の欠落や字間のミスは確認時にしか露見しません。このバナーは本ページに公開する前に、プロンプトと1文字ずつ照合して確認済みです。
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

これら3枚の画像でラベルが空白であることに注目してください —— 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 画像モデルからリクエストを移植する人にとって、注目すべき点が2つあります。ここには aspect_ratio パラメータがなく(size を直接使用)、そしてこのモデルはテキストからの画像生成のみに対応しています —— 参照画像フィールドがないため、実際の商品写真を渡してバリエーションを生成させることはできません。プロンプトによる制御がすべてです。リクエスト/レスポンスの完全な構造とエラー例はAPI チュートリアルをご覧ください。本ページはECでのユースケースに焦点を当てています。
バッチスクリプト:3種類の素材、1つの送信ループ
/v1/tasks は非同期なので、メインビジュアル画像、バナー、グリッド画像の生成は3回の送信と3回のポーリングにすぎません —— 直列に待つ必要はありません:
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 フィールドの1行を変えるだけです:
| qwen-image-2.0(ベース) | qwen-image-2.0-pro | |
|---|---|---|
| 価格 | $0.025/画像 | $0.107/画像 |
| 最大サイズ | 2048×2048 | 2048×2048 |
| テキストレンダリング | 良好 | より強力 —— 販促コピーのデフォルト選択 |
| 写実ディテール | 良好 | より精細 —— メインビジュアル画像のデフォルト選択 |
| 最適な用途 | プロンプト探索、大量のドラフト、社内レンダリング | 最終メインビジュアル/バナー素材、レンダリングテキストを含むあらゆるコンテンツ |
実際のカタログでの実用的な配分:構図のドラフトはベースグレードで行い、この段階では1回の反復コストが低く、その後、実際に納品する素材のために選抜された優勝案を Pro グレードで再レンダリングします。ベースグレードのワークフロー —— 同じタスク API、同じプロンプトスタイル —— はqwen-image-2.0 を使ったEC商品画像の生成をご覧ください。
商品写真プロンプトのコツ
この3回のレンダリングを通じて一貫して有効だったこと:
- 被写体だけでなく、表面と光を指定する。「トラバーチンの台座」「左上方からの柔らかい拡散キーライト」は、「プロフェッショナル」や「高品質」といった形容詞よりも写実性に大きく寄与します。
- テキストを入れるべきでない画像には「テキストなし、ロゴなし」を宣言する。指定しないと、商品写真プロンプトは時折、不要なラベルの痕跡を伴うことがあります。否定的制約を明示することで商品画像をクリーンに保てます。
- バナーには正確なコピーを等価な引用表現で書く。「太字でクリーンな白いサンセリフ体のテキスト、内容は SUMMER GLOW SALE」は正確にレンダリングされます。一方、より曖昧な「いくつかの販促テキスト」では文言が運任せになります。
- パッケージには極小のブランド文字ではなく空白ラベルを要求する。小面積の表面テキストはどの画像モデルにとっても最も難しいレンダリング対象です —— 代わりに後で合成しましょう。
FAQ
実際の商品写真を qwen-image-2.0-pro に渡してバリエーションを生成できますか? いいえ —— このモデルはテキストからの画像生成のみに対応し、そのスキーマに画像入力フィールドはありません。画像からの画像生成ワークフローには、hiapi 上で i2i を明示的にサポートする別のモデルが必要です。
レンダリングされたテキストは、確認せずに納品できるほど信頼できますか? いいえ —— 信頼できますが完璧ではありません。公開前にプロンプトと1文字ずつ読み、まれなミスがあれば再生成してください。上のプロモバナーの下の注記をご覧ください。
リスティングのメインビジュアル画像とバナーにはどのサイズを使うべきですか?
正方形の 2048*2048 はほとんどのマーケットプレイスのリスティング要件をカバーします。ワイドなプロモバナーやヒーローカルーセルには、2688*1536 や 2368*1728(横版/縦版)が、後処理でクロップせずに一般的なウェブバナーの比率に近づきます。
Pro グレードは大量割引をサポートしていますか? いいえ —— 価格は1画像あたり固定の $0.107 で、量には依存しません。コストのレバーは生成する画像の数であり、一括料率ではありません。
まとめ
ECカタログにおいて、qwen-image-2.0-pro がベースグレードに対して持つ優位性は、まさに商品撮影が必要とする場所に当てはまります:メインビジュアル画像のよりクリーンな写実ディテール、プロモバナーの信頼性の高いテキストレンダリング、そして依然として適度な $0.107/画像という価格。メインビジュアル画像、バナー、バリエーショングリッドのリクエストを /v1/tasks 経由で並列に送信し、レンダリングテキストを含むコンテンツは納品前に校正し、構図を反復しているのであって最終素材を納品しているのではない場合はベースグレードに切り替えてください。qwen-image-2.0-pro モデルページにはリアルタイム価格とパラメータのリファレンスがあり、ここから続けられます。