OfoxAIテンプレートでAIファッション広告とルックブックを作る

架空のカーディガンを題材に、15秒の広告、5枚の画像、ルックブック、横型・縦型の動画を再構成する手順を紹介します。プロンプトとダウンロード可能なテンプレート付き。

グレーがかったピンクの背景に絵筆の線画を配し、「AI Fashion Kit」と記した表紙

統一感のあるAIファッション広告の制作キットを作るには、短い広告動画と、それを補完する5枚の画像を用意し、文字組みとレイアウトは別工程で仕上げます。このOfoxAIテンプレートでは、それらの素材から縦型広告、商品詳細ボード、横型・縦型の紹介動画を作成できます。新たに何かを生成する前に、付属ファイルを使ってローカルでの合成を再現できます。

題材は、AI生成の人物が着用する架空のクリーム色のカーディガン、Oat Cloud Cardiganです。これは制作手法を示すデモであり、実在する衣料品の商品掲載やバーチャル試着ではありません。本記事は、再利用できる制作形式を求めていて、ローカルでいくつかのコマンドを実行できる、または技術担当者と協力できるECコンテンツ運用担当者やクリエイターを対象としています。

完成例を見て素材をダウンロードする

再構成用テンプレートをダウンロードできます。既存の広告映像、生成済みの画像パネル5枚、参照画像、元のプロンプト、設定ファイル、ローカル合成用スクリプトが含まれています。アーカイブにAPI認証情報や生成ジョブのレスポンスは含まれていません。

出力ファイル確認できる内容
縦型広告ad-9x16.mp4既存の広告映像に、編集可能なエンドカードのレイヤーを重ねたもの
詳細ボードlookbook-board.jpgメイン、横向き、クローズアップ、マクロ、静物の各画像
横型紹介動画showcase-16x9.mp4広告と画像ボードを並べ、制作工程の情報を添えたもの
縦型紹介動画shorts-9x16.mp4広告、補足画像、簡潔な制作概要をまとめたもの

元のフォルダーには、広告にSeedance 2.5、画像パネルにNano Banana Proを使用したと記載されています。保存されている生成スクリプトでは、bytedance/seedance-2.5とgoogle/gemini-3-pro-imageを使用しています。ただし、このフォルダーには当初の生成ジョブのレスポンスが付属していないため、本記事では使用モデル、当時の課金、初回の試行で成功したかどうかを独立に検証していません。本記事で再現できる範囲は、付属素材を使ったローカル合成であり、有料の生成工程をやり直すことではありません。

付属のローカル合成処理はmacOS上で再実行し、書き出された3本の動画はすべて全体のデコードチェックに合格しました。これにより確認できたのはローカルでの組み立て処理であり、新たなAI生成の実行結果ではありません。

1. 衣服の作例で何を表現するかを決める

この作例の演出は、上品で物静かに見える人物が、突然エネルギッシュに踊り始めるという対比です。カーディガンは背景的な要素にとどまらず、動作の一部になります。補足の静止画では、シルエット、襟、ニットのような質感、静物としての配置を見せます。

これはあくまで見せ方のコンセプトです。生成された質感からウールの含有率を証明することはできず、生成された動きから耐久性や実際の衣服のフィット感を示すこともできません。当初の内部設定には、架空の素材混用率、寸法、サイズが含まれていました。ダウンロードできる公開版では、それらの項目を制作工程の情報に置き換え、衣服が架空であることを明記しています。

実際のSKUを扱う場合は、まず使用許可のある商品写真と、確認済みの商品情報を集めてください。比較できるように、正面、背面、ボタン、縫い目、ラベルの元画像を手元に残します。仕様を記載する場合は、実際の採寸記録や素材情報を使ってください。クリーム色のカーディガンの参照画像1枚だけでは、背面の構造、隠れたポケット、取り扱い表示を推測する根拠にはなりません。

実物の商品の見た目を保ったまま背景だけを差し替えたい場合は、対象を絞った商品写真の背景差し替えワークフローから始めてください。架空のファッションコンセプトは、実物の見た目を保持する作業の代わりにはなりません。

2. レンダリング前にパッケージを確認する

付属の再構成用スクリプトはローカルで動作します。必要なのは、macOS、Python 3とPillow、FFmpegです。合成スクリプトでは、macOSのHelvetica Neueフォントと、同梱のSIL-OFLライセンスのLibre Baskervilleフォントを使用します。WindowsとLinuxではテストしていません。これらの環境に対応させる場合は、まずscripts/compose.pyのHELフォントパスを、ローカルに存在し、利用ライセンスのあるフォントに変更してください。

ZIPを展開したら、その最上位フォルダーでターミナルを開きます。

python3 --version
ffmpeg -version
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install Pillow

最初の2つのコマンドは、プログラムがインストールされているかを確認するもので、FFmpegをインストールするものではありません。FFmpegがない場合は、普段使用している信頼できるパッケージマネージャーでインストールしてください。レンダリングするとproject/output内のファイルが置き換わるため、展開したフォルダーのコピーを残しておきます。

scripts/compose.py
scripts/finish.sh
assets/fonts/
project/config.json
project/panels/{hero,profile,close,macro,still}.png
project/refs/{ref_full,ref_face}.png
project/output/ad_raw.mp4
prompts/

5枚のパネルのファイル名は、テンプレートが入力を受け取る際の取り決めの一部です。スクリプトを変更せずにclose.pngをdetail.pngへ改名すると、ファイルが見つからないというエラーになります。元の広告動画も入力素材です。ad_raw.mp4を削除すると、すべての画像が正しくレンダリングできても、最終的な動画を組み立てられません。

3. 5枚の画像の役割を理解する

動画の横に並べた、AI生成による5種類のコンセプト画像

ローカルで組み立てた紹介動画の実際のフレームです。元となる衣服と人物は生成されたものであり、在庫商品の写真ではありません。付属作例のビジュアルをそのまま使用しているため、画像内のラベルは英語です。

パネル目的採用前の確認点
メイン(Hero)服装と室内の全体像を示すカーディガンの丈、顔、手、全体の比率
横向き(Profile)横から見たシルエットを示す肩の形、裾、袖のつながり
クローズアップ(Close)襟と上半身の衣服を見やすくするボタン、襟ぐり、メイン画像との一貫性
マクロ(Macro)質感を思わせる細部を示す作り出された編み目、ボタン形状の不一致、素材について誤解を招く表現
静物(Still)同じ空間で衣服単体を見せる着用時の衣服との構造の違い

元のテンプレートでは、ベース動画から全身のフレームと顔の切り抜きを取り出し、それらを参照画像としてパネルを生成しています。画像生成の指示では、メイン画像に3:4、補足パネルに4:3を指定しています。出来上がったファイルは作例の記録であり、参照画像を使えば生成ごとに同じ顔や衣服を保証できるという証拠ではありません。

元のパネル用プロンプトはすべてprompts/に含まれています。新しいコンセプトに使う場合は、衣服、コーディネート、部屋、配色の説明をまとめて変更してください。動画では木製ボタンと説明し、画像プロンプトでは金属製の留め具を指定している場合、合成時にテンプレートがその矛盾を解消することはできません。

実際の商品に使う際は、これらの架空のプロンプトの商品名だけを置き換えないでください。参照素材も差し替え、生成された細部を一つずつ実際のSKUと照合します。正確さが不可欠な場合は、商品情報を伝えるパネルに実際の商品写真を使い、生成画像は演出用であることを明示して使ってください。

4. 広告は雰囲気を表す形容詞ではなく、動作で設計する

元の中国語の広告プロンプト全文は、当時の入力を示す資料として変更せずに提供しています。そこにある生地の説明や変形を起こさないよう求める指示は、演出上の指定であって、検証済みの衣服の特性ではありません。日本語や英語に翻訳した場合は、新しいプロンプトの派生版となり、付属映像の生成に使われた原文とは区別する必要があります。

元の構成は、次の4つの場面で成り立っています。

指定時間動作制作時の確認点
0〜1秒静かな全身ポーズ動き始める前に、視聴者が服装を把握できるか
1〜9秒エネルギッシュに踊り、カーディガンを脱いで振り回す手、布、身体の動きが不自然になっていないか
9〜12秒カーディガンを着直し、落ち着く着直した衣服の構造が一貫しているか
12〜15秒襟とボタンに寄った画最後に商品が見やすくなっているか

この時間配分はプロンプトの指定内容であり、実際の映像を独立に計測したショットリストではありません。出力全体を再生して、モデルが実際に何をしたかを確認してください。最初のフレームが魅力的でも、衣服が肩から離れる場面や身体に戻る場面まで問題ないとは判断できません。

保存されているテンプレートの動画リクエストでは、15秒、9:16、720p、音声ありを指定し、メイン、マクロ、静物の画像を参照に使っています。新たに生成する場合は、送信前にOfoxドキュメントと自分のアカウントで、現在利用できるモデルと受け付けられるパラメーターを確認してください。このダウンロードには、有料の生成を1コマンドで実行する仕組みを意図的に含めていません。

返されたジョブIDはすぐに記録してください。IDが返る前に送信がタイムアウトしても、ジョブ自体は受け付けられている可能性があります。確認せずに再送信するのではなく、リクエスト履歴を調べてください。IDがある場合は、その既存タスクを照会します。失敗した試行や処理が進まない試行も、自動的に無料になるわけではありません。動画生成のポーリングガイドでは、送信、待機、結果取得を分けて説明しています。そこで示す過去の所要時間は、現在の完了時間を約束するものではありません。

5. ローカルでレイアウトを再構成する

展開したテンプレートのフォルダーから、次のコマンドを実行します。

python3 scripts/compose.py project
bash scripts/finish.sh project

最初のコマンドは、画像ボード、透過エンドカード、2種類の背景レイアウトをレンダリングします。文字はコードで描画するため、綴りを変更しても、画像モデルに文字を描き直させる必要はありません。2つ目のコマンドは、既存の広告にエンドカードを重ね、その広告を横型・縦型の背景と組み合わせます。動画はH.264でエンコードします。既存の音声トラックは保持するか再エンコードし、音声のない素材も、音声を新たに作り足すことなく処理できます。

想定される出力は、720×1280の広告、1920×1080の横型紹介動画、1080×1920の縦型紹介動画、2400×1350の詳細ボードです。元動画の長さは約15秒です。大きなキャンバスに書き出しても、低解像度の入力に存在しない細部は復元されません。

仕上げ用スクリプトは、この720×1280、約15秒の元動画を前提に作られています。エンドカードは720×1280で、12.3秒からフェードインを始めます。最初の再構成では、この入力サイズと長さを維持してください。異なるサイズや長さの元動画を使う場合は、エンドカードのキャンバス、フェードのタイミング、重ね合わせ・拡大縮小の設定をまとめて更新します。動画だけを差し替えると、文字の位置がずれたり、長いクリップの末尾が切れたりする可能性があります。

文言を変更するには、生成されたPNGレイヤーではなく、project/config.jsonを編集します。full_nameは商品の見出し、taglineはその下の補足行、specとspec_verticalは情報欄の各行に対応します。内部名のprice_labelとprice_valueは互換性のために残していますが、この公開版では価格ではなく、「Production template」(制作テンプレート)と「AI DEMO」(AIデモ)を表示します。

レイアウトには固定座標を使用しています。差し替える文言は短く保ち、縦横の両方を再レンダリングして、はみ出しがないか確認してください。短い8行を長い段落に置き換えても、自動で再配置されることはありません。見せ方の優先順位を変えたい場合は、すべての文字を読めなくなるまで小さくするのではなく、意図に合わせてレイアウトを変更してください。

6. 書き出したファイルと表現を検証する

プレビューだけを信用せず、ファイル自体を確認します。

ffprobe -v error -show_entries format=duration:stream=codec_name,width,height \
  -of json project/output/showcase-16x9.mp4
ffmpeg -v error -i project/output/showcase-16x9.mp4 -f null -

最初のコマンドは、サイズ、コーデック、長さを表示します。2つ目は動画全体をデコードします。エラー出力がないことは技術的な確認であり、見た目の評価ではありません。2種類の縦型動画でも同じ確認を行ってください。

元動画をまず音声ありの通常速度で1回見てから、脱ぐ場面と着直す場面の前後で一時停止します。指の本数、腕のつながり、身体と布のめり込み、足の滑り、カーディガンの丈、ボタンの配置、顔の一貫性を確認してください。5枚の静止画パネルも個別に比較します。このパッケージは、すべてのフレームについて人体表現や商品表現の正確さを保証するものではありません。

スマートフォン程度のサイズのプレビューでも構図を確認します。拡大せずに伝えたい内容を読めるでしょうか。プラットフォームの画面表示で隠れる部分はないでしょうか。横型の紹介動画はキット全体を伝え、余分な情報を抑えた縦型広告は動きを際立たせます。どちらも、実際の衣服の仕様書の代わりにはなりません。

問題対処方法
合成中にcannot open resourceと表示される両方のフォントパスを確認し、同梱フォントが存在することを確かめ、本記事に記載したmacOS環境を使用する
パネルまたは元動画が見つからない上記のとおりの正確なファイル名に戻してから再実行する
文字がパネルからはみ出す設定値の文言を短くするか、そのパネルのレイアウトを調整し、再レンダリングする
音声ストリームがない付属の仕上げ用スクリプトでは音声なしでも処理できる。未確認の音声を追加するのではなく、無音が意図したものかを確認する
動作中に衣服の細部が変わる該当ショットを不採用にし、動作を単純にするか、商品の忠実な再現が重要な場面では実写映像を使う
生成ファイルのURLが期限切れになった同じジョブで利用できる結果取得方法を確認する。URLを差し替えるためだけに、新しい有料ジョブを作らない

7. 自分の商品向けにキットを調整する

プロジェクトを新しくコピーし、入出力の命名規則を維持したうえで、5枚のパネルと元の広告動画を、使用する権利のある素材に置き換えます。外部公開の前には、音声を別途確認してください。元のプロンプトでオリジナル音楽を求めていること自体は、音楽の権利を示す記録にはなりません。素材が実際にその商品を描いている場合に限り、架空のラベルを検証済みの情報に置き換えます。裏付けのない素材やフィット感の主張は、小さな注記で慎重な言い回しにするのではなく、削除してください。

初めて公開する際は、対象読者と公開先をそれぞれ1つに絞りましょう。ファッション分野の運用担当者に必要なのはテンプレートと制作手順であり、買い物客に必要なのは正確な商品情報と実際に購入できるページです。この作例は前者を対象としています。売上の向上、撮影費用の削減、生成費用の総額について主張するものではありません。

テンプレートをダウンロードして、付属の作例をローカルで再現したうえで、ワークフローのどの部分が自分の商品に合うかを判断してください。よりシンプルなストーリー重視の作例については、コーヒー広告の制作手順(英語)で、具体的な動作を通じて商品と場面を結び付ける方法を紹介しています。

よくある質問

ダウンロードしたファイルで新しい画像や動画を生成できますか?
いいえ。含まれているのは、架空の題材による既存の作例素材とローカル合成用スクリプトです。これらのレンダリングにAPIリクエストは不要です。新しい画像や動画の生成は別の工程であり、課金される可能性があります。
バーチャル試着のワークフローですか?
いいえ。この作例は、AI生成の人物と架空の衣服を組み合わせたものです。実際の商品に対するフィット感、生地の組成、サイズ、再現の正確さを検証するものではありません。
APIキーなしでレイアウトを再現できますか?
はい。本記事に記載したmacOS環境では、付属のローカル素材、PythonとPillow、FFmpegがあれば再現できます。APIキーが関係するのは、別途生成を行う場合だけです。