使用ガイド
EC商品画像向けIdeogram V4:実践ワークフロー
Ideogram V4のテキストレンダリングエンジンで生成した実際のバナー、ラベル、プロモーショングラフィックに加え、hiapi API経由で自分の商品カタログを一括処理できるバッチスクリプトを紹介します。
商品ビジュアルの成否がその中の文字にかかっているなら——プロモーションの角型バッジ、価格表記、ラベルコピー、バナーの見出し——hiapi上ではIdeogram V4が選ぶべきモデルです。これはプラットフォームのタイポグラフィ専門家であり、本ガイドで生成した3つの独立したEC素材(プロモーションバナー1点、商品ラベルモックアップ1点、フラッシュセールグラフィック1点)では、デザイン自体のコピー選択を除き、すべての語が初回生成時に鮮明かつ正確にレンダリングされました。以下では実際に効果があった方法、各画像の背後にある実際のプロンプト、そして商品リスト全体をブランドに合ったグラフィックに変換するバッチスクリプトを紹介します。
なぜECビジュアルにIdeogram V4を選ぶのか
ほとんどの汎用画像モデルは、複数語の見出し、価格タグ、ラベルコピーでいまだに失敗します——余分な文字、歪んだ字間、あるいは単語の途中で切れる文字などです。これはまさにECグラフィックが許容できない故障モードです。文字が乱れたバナーはスタイライズされているのではなく、壊れて見えます。Ideogram V4は正確な画像内テキストを中心に構築されているため、以下のようなシーンでは汎用モデルより適しています:
- メイン見出し+サブ見出しのコピーを伴うプロモーションバナー(例:「SUMMER SALE」/「UP TO 40% OFF」)
- ブランド名と商品コピーが正しく読める必要がある商品ラベルモックアップ
- 短く高コントラストの文字表記を伴うセールおよびカウントダウングラフィック
純粋なテキスト・トゥ・イメージモデルであり、image-to-imageモードはないため、既存の商品写真を編集するのではなく、テキストブリーフからグラフィックを生成するのに適しています。既存写真の編集やその上への合成が必要な場合はi2iモデルの仕事です。入力スキーマの全体はIdeogram V4 モデルページをご覧ください。
Ideogram V4の価格:3段階の速度
Ideogram V4は3段階のrendering_speedを提供し、価格もそれに応じて変わります——2026-09時点、hiapi 価格ページによると:
| ティア | 1枚あたりの価格 | 用途 |
|---|---|---|
TURBO |
$0.05 | 素早いドラフト、プロンプトバリエーションのテスト |
BALANCED |
$0.10 | デフォルト——本番品質のバナーとラベル |
QUALITY |
$0.17 | 最終キービジュアル素材、細かな文字ディテールが最も重要な場合 |
以下の3つの例はすべてBALANCEDで生成しており、標準的な商品バナーやラベルには解像度と文字の忠実度で十分です。QUALITYは大きく拡大するキービジュアル(例:トップページバナー)に残し、コピーやレイアウトをまだ反復している間はTURBOを使ってください。
3つの実際の出力
1. 見出しコピー付きプロモーションバナー

使用したプロンプト(rendering_speed: BALANCED、aspect_ratio: 16:9):
クリーンなECプロモーションバナー、16:9。上部に大きなモダンなサンセリフ体の太字見出しテキスト「SUMMER SALE」、その下に細めのウェイトのサブ見出しテキスト「UP TO 40% OFF」。ミニマルな商品写真スタイルの背景、柔らかなパステルグラデーション(ピーチからクリーム)、白いワイヤレスイヤホンとマットブラックのスマートウォッチを右下の控えめな展示台に配置。テキスト用に左側に大きなネガティブスペースを確保。スタジオライティング、柔らかな影、高級小売カタログの質感。
2行のコピーは初回生成時に鮮明に読め、正しく綴られていました——リトライ不要です。プロンプト内のネガティブスペース指定はここで確かに効いています。これがないと、Ideogram V4は見出しを商品写真の上に中央配置する傾向があり、実際のページレイアウトにバナーを組み込むと可読性を損ないます。
2. 商品ラベルモックアップ

使用したプロンプト(rendering_speed: BALANCED、aspect_ratio: 1:1):
スキンケアジャーの商品ラベルモックアップ、正方形1:1。白いセラミックジャーを中央に置き、淡いベージュの背景。ジャーに巻かれたラベルの上部にエレガントなセリフ体でブランド名テキスト「AURELIA」、その下にクリーンなサンセリフ体で小さめのテキスト「HYDRATING FACE CREAM — 50ML」。柔らかなスタジオライティング、ジャーの下に淡い影、ミニマルなスキンケアパッケージ写真スタイル。
これはより難しいケースです。曲面に巻かれた小さなラベルコピーは、まさに文字レンダリングが崩れやすい場所です。Ideogram V4は最初の試行でブランド名と小さな商品説明行の両方を鮮明に読める状態に保ちました——それでも手作業での校正は価値があります(下記の注記を参照)。曲面ラベルの文字は私たちがテストした中で最もエラーが出やすいレイアウトだからです。
3. フラッシュセールバナー

使用したプロンプト(rendering_speed: BALANCED、aspect_ratio: 16:9):
ネットショップのフラッシュセールバナー、16:9。大きな太字テキスト「FLASH SALE」、鮮やかな赤橙色、深いネイビーの背景に微かな斜めの光ストライプ模様。その下に白い小さめのテキスト「24 HOURS ONLY」。右下に赤い価格タググラフィックがあり、テキスト「-50%」が書かれている。モダンで高コントラスト、緊迫感のある小売マーケティングスタイル、クリーンな幾何学形状、雑然としない。
1つの構図に3つの独立した文字要素(メイン見出し、サブ見出し、価格タグ表記)があり、すべて鮮明に読めます。このような深いネイビーに赤橙色の高コントラスト配色は助けになるようです——ここでは3回の生成すべてが同じパターンでした。強い背景/前景のコントラストは、よりクリーンな文字エッジと相関します。
モデルのテスト結果がどれほど良くても、1つのルールがあります:公開前にレンダリングされたすべての語を校正すること。Ideogram V4の文字レンダリング精度は非常に高いですが100%ではありません——時折、1文字が切れたり、長い行で字間を誤って判断したりする実行がまだあります。毎回の生成で期待するコピーと照合してから公開してください。AIがレンダリングした文字を未チェックのままオンラインストアに公開しないでください。
hiapi APIからIdeogram V4を呼び出す
Ideogram V4はhiapiの非同期タスクエンドポイントで動作します。タスクを送信し、完了までポーリングしてから出力をダウンロードします——同期の画像レスポンスはありません。
import time
import requests
API_KEY = "YOUR_API_KEY"
BASE_URL = "https://api.hiapi.ai/v1/tasks"
def generate_image(prompt, rendering_speed="BALANCED", aspect_ratio="16:9"):
payload = {
"model": "ideogram-v4",
"input": {
"prompt": prompt,
"rendering_speed": rendering_speed,
"aspect_ratio": aspect_ratio,
},
}
response = requests.post(
BASE_URL,
headers={
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json",
},
json=payload,
)
response.raise_for_status()
task_id = response.json()["data"]["taskId"]
while True:
poll = requests.get(
f"{BASE_URL}/{task_id}",
headers={"Authorization": f"Bearer {API_KEY}"},
).json()["data"]
if poll["status"] == "success":
return poll["output"][0]["url"]
if poll["status"] == "fail":
raise RuntimeError(poll.get("error"))
time.sleep(5)
image_url = generate_image('Bold headline text "FLASH SALE" on a dark navy banner')
print(image_url)
受け付ける入力フィールドは3つだけです:prompt(必須)、rendering_speed(必須——TURBO、BALANCED、QUALITYのいずれか)、aspect_ratio(任意、例:16:9、1:1、9:16、4:3、3:4)。このモデルにはnegative_prompt、seed、画像入力フィールドはありません——完全なパラメータリファレンスはIdeogram V4 モデルページをご覧ください。
商品画像セット全体を一括生成する
実際の商品カタログでは、バナーを1枚ずつ呼び出すことはありません——一連の商品やキャンペーンを同じパイプラインで一晩中通します。以下は、プロンプトCSVを読み込んで各結果をダウンロードするバッチ版です:
import csv
import os
import time
import requests
API_KEY = os.environ["HIAPI_API_KEY"]
BASE_URL = "https://api.hiapi.ai/v1/tasks"
OUT_DIR = "output"
def create_task(prompt, rendering_speed, aspect_ratio):
payload = {
"model": "ideogram-v4",
"input": {
"prompt": prompt,
"rendering_speed": rendering_speed,
"aspect_ratio": aspect_ratio,
},
}
resp = requests.post(
BASE_URL,
headers={"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"},
json=payload,
)
resp.raise_for_status()
return resp.json()["data"]["taskId"]
def wait_for_result(task_id, timeout_s=300, poll_interval=5):
deadline = time.time() + timeout_s
while time.time() < deadline:
data = requests.get(
f"{BASE_URL}/{task_id}",
headers={"Authorization": f"Bearer {API_KEY}"},
).json()["data"]
if data["status"] == "success":
return data["output"][0]["url"]
if data["status"] == "fail":
raise RuntimeError(f"task {task_id} failed: {data.get('error')}")
time.sleep(poll_interval)
raise TimeoutError(f"task {task_id} did not finish in {timeout_s}s")
def run_batch(csv_path):
os.makedirs(OUT_DIR, exist_ok=True)
with open(csv_path, newline="", encoding="utf-8") as f:
reader = csv.DictReader(f)
for row in reader:
name = row["name"]
prompt = row["prompt"]
rendering_speed = row.get("rendering_speed") or "BALANCED"
aspect_ratio = row.get("aspect_ratio") or "16:9"
print(f"generating {name}...")
task_id = create_task(prompt, rendering_speed, aspect_ratio)
url = wait_for_result(task_id)
image_bytes = requests.get(url, timeout=60).content
with open(os.path.join(OUT_DIR, f"{name}.jpg"), "wb") as out:
out.write(image_bytes)
print(f" saved {name}.jpg")
if __name__ == "__main__":
run_batch("products.csv")
products.csvにはnameとpromptの2列だけが必要で、行ごとにrendering_speed / aspect_ratioを任意で上書きできます:
name,prompt,rendering_speed,aspect_ratio
summer-sale-banner,"Bold headline ""SUMMER SALE"" on pastel gradient background",BALANCED,16:9
label-aurelia-cream,"Skincare jar label reading ""AURELIA"" and ""HYDRATING FACE CREAM""",BALANCED,1:1
flash-sale-24h,"Dark navy flash sale banner with ""24 HOURS ONLY"" and a ""-50%"" price tag",BALANCED,16:9
商品やキャンペーンのリスト全体を夜間に走らせ、コンテンツを公開する前に出力フォルダをまとめてレビューしてください——校正ステップはバッチ生成だからといってなくなるわけではありません。
クリーンな組版を得るためのプロンプトのコツ
以下のパターンは3つのテスト画像すべてで当てはまりました:
- 正確なコピーを引用符で囲む。 レンダリングしたい文字通りのテキストを、間接的に説明するのではなく、プロンプト内で引用符で囲みます(
text "SUMMER SALE")。これが文言を正確に返させる最大の単一要因です。 - メイン見出しとサブ見出しを明確に分ける。 2行のコピーを2つの別個の指示として記述する(「太字のメイン見出し……その下に小さめのテキスト……」)方が、1つの長い連続した文よりも明確な階層を生み出しました。
- 色だけでなくコントラストを指定する。 高コントラストの背景/前景の組み合わせ(深いネイビー+赤橙、パステル+濃色文字)は、低コントラストの配色よりも一貫して鮮明な字形をレンダリングしました。
- ネガティブスペースを明示する。 コピーを特定の領域に置きたい場合は、そう指定します(「テキスト用に左側に大きなネガティブスペースを確保」)——そうしないとモデルは構図上最適と判断した位置に文字を自由に配置でき、それがあなたのレイアウトに必要な位置とは限りません。
- ラベルコピーは短く保つ。 曲面ラベルモックアップは文字に最も不寛容なレイアウトです。短いブランド名と短いサブコピーの方が、パッケージコピー全文よりも校正を通過する頻度がはるかに高いです。
よくある質問
Ideogram V4は新しいバナーを生成するのではなく、既存の商品写真を編集できますか? いいえ——テキスト・トゥ・イメージのみで、image-to-image入力はありません。既存の商品写真に文字を配置する必要がある場合は、文字要素を別途生成するか、そのステップでi2i対応モデルを使用してください。
Ideogram V4はInstagram/ソーシャル投稿向けの縦長や正方形のアスペクト比をサポートしていますか?
はい——16:9に加えて、aspect_ratioは9:16や1:1などの値も受け付けるため、同じプロンプト手法が正方形の商品カードや縦長のソーシャルバナーにも適用できます。
実際の商品カタログを一括実行する場合、デフォルトでどのrendering_speedを使うべきですか?
BALANCED——本ガイドのすべての例がこのティアを使用しており、標準的なバナーやラベルには十分信頼できます。QUALITYは大型キービジュアル素材に残し、TURBOはまだコピーを調整中で低コストの反復が必要な間に使ってください。
文字がほとんどの場合正しくレンダリングされるなら、校正はまだ必要ですか? 必要です。Ideogram V4の文字精度は非常に高いですが保証はありません——生成された各グラフィックを印刷所の校正刷りのように扱ってください:顧客に誤字を指摘されてからではなく、公開前にチェックするのです。
自分の画像セットを生成する準備はできましたか?APIキーを取得してIdeogram V4 モデルページで1つのプロンプトを試すか、既存の商品カタログパイプラインに組み込む場合はhiapi API ドキュメントのクイックスタートをご覧ください。製品写真(組版中心のグラフィックではなく)のためにモデルを比較しているなら、Best AI Models for E-Commerce Product ImagesでIdeogram V4と写真志向の選択肢の比較が詳しく説明されており、Building an E-Commerce Product Image Workflow With GPT Image 2では本ガイドのスクリプトの基になったバッチパイプラインパターンを扱っています。