# 画像をつないで、長いLPは作れるか

検証日：2026年9月9日 / AX Image Lab

## 結論

条件を整えれば実用的な見た目までつなげられる。推奨は「前画像の下端を次キャンバスに実配置 → 境界も含めてマスク編集 → 重なり内で合成 → 全境界と文字を目視検査」。単に前画像を参照させるだけでは、デザインが揃っても位置がずれる。

6セクションの長尺画像を2系統で作成し、それぞれ1,024×7,616pxの1枚のPNG/JPEGに保存した。両系統の先頭は内蔵imagegenで生成した共通ヒーロー。続きは内蔵imagegen、またはAPI指定のGPT Image 2.5 Sunburstで生成した。架空フレグランスブランドNAGIのビジュアル実験で、販売LPの訴求・申込・CVRの検証ではない。

## 実行範囲

- 内蔵imagegen：8枚。ヒーロー1、続き5、最初の境界の修正2。
- OpenAI Image API：10枚。Sunburstの続き5、独立生成1、全体参照1、同条件追加2（n=2）、Flareのマスク編集1。モデル指定は `gpt-image-2.5-sunburst` / `gpt-image-2.5-flare`、quality=high。
- Cloudflare Workers AI：3枚。`@cf/black-forest-labs/flux-2-klein-9b` による独立生成、配置＋参照編集、局所修正。
- 合計21枚。内蔵ツールは内部モデル名を返さないため、2.5のどのモデルかは断定しない。APIは上記エイリアスを指定して成功したが、実際のスナップショット名はCLIから取得していない。

## 同じヒーローから次へ：測定結果

| 方式 | 保持領域のMAE（小さいほど一致） | 目視結果 |
|---|---:|---|
| Sunburst・独立生成 | 54.723 | 色・布・銅線の位置が不一致 |
| Sunburst・全体参照 | 48.646 | 雰囲気は合うが接続座標が不一致 |
| Sunburst・配置＋マスク | 3.337 | 布の遷移と日本語見出しが良好 |
| Flare・配置＋マスク | 3.861 | この1試行では良好 |
| 内蔵imagegen・配置初回 | 4.085 | 保持領域は近いが画像内部に横線が残る |
| 内蔵imagegen・2回修正後 | 9.412 | 内部境界を改善。保持領域の差は増加 |
| Cloudflare・配置＋参照 | 42.821 | 内部横線・日本語の崩れが残る |

MAEは前画像の下320pxと次画像の上320pxを対応させ、上160pxのRGB絶対差を平均した0〜255の値。測定時だけ半径2pxのGaussian blurで高周波ノイズを抑えた。合成画像にはぼかしを加えていない。知覚的品質のスコア、成功確率、一般的なモデル性能順位ではない。内蔵の修正後はMAEが悪化していても見た目は改善しており、数値単独では合格判定できない。

Sunburstの同条件追加2枚ではMAE=4.789 / 2.973。日本語は読めるが、植物・布の構成は変化した。n=2の複数出力は実行したが、数百枚の一括生成・並列制限・長時間運用までは未検証。

## 接続方法

1. 6節の構成と、布・植物の影・細い銅線・光の方向・色を事前に固定した。
2. 幅1,024、高さ1,536pxの次キャンバス上端に、前画像の下320pxを貼った。残りは灰色。
3. Sunburstの初回は上256px、以降は上192pxを不透明マスクで保護。それ以外を編集し、灰色との境界も布の実形状としてつなぐよう指示した。指示文の保持範囲と実マスク範囲は別で、実際の入力を基準に記録している。
4. 合成は、重なりの上32〜160px内で画素差が小さくなる経路を選ぶ二値の切り替え。隣接列の移動は最大2px。アルファぼかし・色補正・変形・CSSの帯は使わない。
5. 6×1,536−5×320＝7,616pxとして単一画像に保存した。

## 品質検査で分かったこと

両系統5境界ずつ、合計10境界を原寸の拡大画像で確認。採用画像の見出し、ブランド表記、切れ目、銅線の不連続、布の流れを目視した。内蔵の初回出力にあった横一直線の画像内部境界は、2回の局所再編集で曲線の布端として改善した。Cloudflareは修正しても内部横線と日本語が残り不採用。

最終画像にも微細な布目の位相差、布の反復、文字サイズ・余白の揺れがある。銅線は各節の中で自然に終わる箇所があり、全長を1本の物理的な線として追跡する設計にはしていない。完全なピクセル一致・あらゆるデザインでの無修正接続は保証しない。

ブラウザでPC幅とスマートフォン幅のレポート・LPを確認し、比較方式の切り替え、長尺2版、接続マーカー、スクロール、原寸表示、保存リンクを検証。検証記録は `qa.json` に保存する。

## 時間・費用・比較の限界

初回編集の実測：Sunburst 42.6秒、Flare 23.4秒、Cloudflare 4.58秒。内蔵imagegenはツール全体で約56秒。各1試行の値。Cloudflareの入力は331×496に縮小、seed=42、JPEG出力。OpenAIはPNG。品質設定・入力解像度・プロンプトが異なるため公平な性能ベンチマークではない。内蔵の後続生成には初回失敗から得た改善指示を入れた。

内蔵ツールとCLIは実消費トークンと確定請求額を返していない。OpenAIの正確な費用、Cloudflareの実請求額、ホスティング費用は未照合。枚数だけから断定しない。公式Sunburst画像出力単価は100万トークンあたり30ドル。

旧モデルで同じ実験は行っていないため「2.5で初めて可能」「従来比で何倍改善」は立証していない。

## 実用化の推奨

短期はSunburstの配置＋マスクを使い、長尺の各境界に検査を入れる。次に複数の画風・人物・幾何模様で10〜20ページ程度の制作検証を行い、修正回数と実請求を記録する。本番の画像は必要に応じて分割配信し、マスターは1枚で保持する。CTA・フォーム・アクセシビリティ・SEO・規約などは別途HTML側で実装する。

今回の架空ブランドには顧客情報、未公開の実商品、実際の販売条件を含めていない。

## 公式資料

- [GPT Image 2.5 Sunburst](https://developers.openai.com/api/docs/models/gpt-image-2.5-sunburst)
- [Image generation guide](https://developers.openai.com/api/docs/guides/image-generation)
- [Cloudflare FLUX.2 klein 9B](https://developers.cloudflare.com/workers-ai/models/flux-2-klein-9b/)
- [Cloudflare AI changelog](https://developers.cloudflare.com/changelog/product-group/ai/5/)
- [Cloudflare Static Assets](https://developers.cloudflare.com/workers/static-assets/get-started/)

生成原画像は `raw/`、完成画像と接続拡大は `assets/`。`prompts.json` にプロンプト、`manifest.json` に生成物と実行記録、`metrics.json` に測定値を収録。
