OfoxAI 템플릿으로 AI 패션 광고와 룩북을 만드는 방법

가상의 카디건을 소재로 15초 광고, 이미지 5장, 룩북, 가로·세로형 결과물을 재구성합니다. 프롬프트와 다운로드 가능한 템플릿을 제공합니다.

AI Fashion Kit라는 영문 제목이 적힌 회분홍색 라인 아트 표지의 붓 선화

일관된 AI 패션 콘텐츠 키트를 만들려면 짧은 광고와 서로 보완하는 이미지 5장을 준비한 뒤, 타이포그래피와 레이아웃을 별도로 구성하세요. 이 OfoxAI 템플릿은 해당 입력 자료를 세로형 광고, 제품 상세 보드, 가로·세로형 쇼케이스로 만듭니다. 새로 생성하기 전에 제공된 파일로 로컬 합성 과정을 재현할 수 있습니다.

예제의 제품은 AI로 생성한 인물이 입고 있는 가상의 크림색 카디건, Oat Cloud Cardigan입니다. 콘텐츠 제작 시연용이며, 실제 의류 판매 페이지나 가상 피팅이 아닙니다. 이 가이드는 재사용할 수 있는 제작 형식을 찾는 이커머스 콘텐츠 운영자와 크리에이터를 위한 것입니다. 몇 가지 로컬 명령을 실행할 수 있거나, 기술 담당 동료와 함께 작업할 수 있는 분을 대상으로 합니다.

결과물을 확인하고 입력 자료 다운로드하기

재구성용 템플릿을 다운로드하세요. 기존 광고 영상, 생성된 이미지 패널 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를 다룬다면 먼저 사용 권한이 있는 제품 사진과 검증된 제품 정보를 수집하세요. 비교할 수 있도록 앞면, 뒷면, 단추, 봉제선, 라벨의 원본 사진을 준비해 두세요. 제품 사양에는 실제 측정값과 소재 기록을 사용하세요. 크림색 카디건의 참조 사진만으로는 등판, 숨겨진 주머니, 세탁 지침을 추론할 수 없습니다.

실제 제품을 보존하면서 배경만 바꾸는 작업이라면, 범위가 더 좁은 제품 사진 배경 워크플로 (영문)부터 시작하세요. 가상의 패션 콘셉트로 실제 제품을 보존하는 작업을 대체해서는 안 됩니다.

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

처음 두 명령은 프로그램 설치 여부를 확인할 뿐, 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장

로컬에서 조립한 쇼케이스의 실제 프레임입니다. 의류와 인물은 실제 재고 상품을 촬영한 것이 아니라 생성된 것입니다. 제공된 영문 예제 시각 자료를 재사용했으며, 예제 안의 라벨은 영어로 표시되어 있습니다.

패널목적채택 전에 확인할 사항
대표 이미지의상과 실내 공간 제시카디건 길이, 얼굴, 손, 전체적인 비율
측면측면 실루엣 표현어깨 형태, 밑단과 소매의 연속성
클로즈업칼라와 의류 상단을 알아보기 쉽게 표현단추, 목둘레선, 대표 이미지와의 일관성
매크로질감처럼 보이는 디테일 제공임의로 만들어진 편직 무늬, 일관되지 않은 단추 모양, 소재에 대한 잘못된 인상
정물배경 공간 안에서 의류만 따로 제시착용 상태의 의류와 다른 구조

기존 템플릿은 기본 영상에서 전신 프레임과 얼굴 크롭 이미지를 추출한 뒤, 패널을 생성할 때 이를 참조 자료로 사용합니다. 이미지 지시문은 대표 이미지에 3:4, 보조 패널에 4:3 비율을 요청합니다. 결과 파일은 하나의 예제를 보여 주는 자료일 뿐, 참조 이미지를 사용하면 여러 생성 결과에서 동일한 얼굴이나 의류가 보장된다는 증거는 아닙니다.

모든 원본 패널 프롬프트는 prompts/에 포함되어 있습니다. 새로운 콘셉트에는 의류, 전체 착장, 실내 공간, 색상 팔레트 설명을 함께 교체하세요. 동영상 설명에는 나무 단추가 있는데 이미지 프롬프트에서는 금속 여밈 장치를 요청한다면, 템플릿이 합성 단계에서 그 모순을 해결할 수는 없습니다.

실제 상품을 다룰 때는 이 가상의 프롬프트에서 제품명만 바꾸지 마세요. 참조 입력을 교체하고, 생성된 모든 디테일을 실제 SKU와 대조하세요. 정확성이 필수라면 정보를 전달하는 패널에는 실제 제품 사진을 사용하고, 생성 이미지는 창작 연출임이 명확히 표시된 맥락에만 사용하세요.

4. 스타일 수식어보다 동작으로 광고 계획하기

중국어 광고 프롬프트 원문 전체를 당시의 입력 기록으로 변경 없이 제공합니다. 원문에 담긴 소재 묘사와 변형이 없어야 한다는 요청은 창작 지시이며, 검증된 의류 특성이 아닙니다. 이를 영어로 번역하면 제공된 영상을 만든 원래 프롬프트가 아니라 새로운 프롬프트 변형이 됩니다.

원래 계획은 네 구간으로 나뉩니다.

요청한 시간동작제작 시 확인할 질문
0~1초차분한 전신 포즈움직임이 시작되기 전에 시청자가 의상을 알아볼 수 있는가?
1~9초활기차게 춤추며 카디건을 벗어 휘두르기손, 옷감, 신체의 움직임이 그럴듯하게 유지되는가?
9~12초카디건을 다시 입고 자세 정돈하기다시 입었을 때 의류 구조가 일관되게 유지되는가?
12~15초칼라와 단추를 더 가까이 보여 주기마무리 장면에서 제품을 명확히 볼 수 있는가?

이 시간 구분은 프롬프트에 적힌 계획이며, 결과물을 독립적으로 측정한 샷 목록이 아닙니다. 전체 결과물을 재생해 모델이 실제로 무엇을 만들었는지 확인하세요. 첫 프레임이 보기 좋다고 해서 의류가 어깨에서 벗겨지거나 몸으로 돌아오는 전환 장면까지 통과한 것은 아닙니다.

저장된 템플릿의 동영상 요청에는 15초, 9:16, 720p, 오디오가 지정되어 있으며, 대표 이미지, 매크로, 정물 참조 자료를 사용합니다. 새로 생성하려면 제출하기 전에 Ofox 문서와 계정에서 현재 이용 가능한 모델과 허용되는 매개변수를 확인하세요. 이 다운로드에는 명령 하나로 유료 생성을 실행하는 런처를 의도적으로 포함하지 않았습니다.

반환된 작업 ID는 즉시 기록하세요. ID가 반환되기 전에 제출 요청이 시간 초과되더라도 작업이 이미 접수되었을 수 있습니다. 무작정 다시 제출하지 말고 요청 내역을 확인하세요. ID가 있다면 기존 작업을 조회하세요. 실패했거나 멈춘 시도라고 해서 자동으로 무료가 되는 것은 아닙니다. 동영상 폴링 가이드 (영문)는 제출, 대기, 결과 조회 단계의 차이를 설명합니다. 해당 가이드에 기록된 과거 소요 시간은 현재의 완료 시간을 보장하지 않습니다.

5. 로컬에서 레이아웃 재구성하기

압축을 푼 템플릿 폴더에서 다음 명령을 실행하세요.

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

첫 번째 명령은 이미지 보드, 투명 엔드 카드, 배경 레이아웃 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 -

첫 번째 명령은 크기, 코덱, 재생 시간을 출력합니다. 두 번째 명령은 동영상 전체를 디코딩합니다. 오류 출력이 없다는 것은 기술적인 검사 결과이지, 시각적 완성도에 대한 검토가 아닙니다. 두 세로형 버전에도 같은 검사를 반복하세요.

원본을 소리와 함께 정상 속도로 한 번 시청한 뒤, 옷을 벗고 다시 입는 전환 구간에서 일시 정지해 살펴보세요. 손가락 수, 팔의 연속성, 신체와 옷감의 겹침, 발 미끄러짐, 카디건 길이, 단추 배치, 얼굴의 일관성을 확인하세요. 스틸 패널 5개도 별도로 비교하세요. 이 패키지가 모든 프레임의 해부학적 정확성이나 상업적 용도에 필요한 정확성을 보증하는 것은 아닙니다.

휴대전화 크기의 미리보기에서 구도를 확인하세요. 확대하지 않고도 의도한 메시지를 읽을 수 있는지, 플랫폼의 인터페이스가 메시지를 가리는지 살펴보세요. 가로형 쇼케이스는 키트 전체를 전달하고, 깔끔한 세로형 광고는 움직임을 강조합니다. 어느 쪽도 실제 의류 사양서를 대신할 수는 없습니다.

문제대응 방법
합성 중 cannot open resource 발생두 글꼴 경로를 모두 확인하세요. 함께 제공된 글꼴이 있는지 확인하고, 문서에 명시된 macOS 환경을 사용하세요.
패널 또는 원본 동영상 누락위에 표시된 정확한 파일명으로 복원한 뒤 다시 실행하세요.
텍스트가 패널 영역을 벗어남설정값의 문구를 줄이거나 해당 패널의 레이아웃을 조정한 뒤 다시 렌더링하세요.
오디오 스트림 없음제공된 마무리 스크립트는 오디오 없이도 처리할 수 있습니다. 검증되지 않은 트랙을 추가하기보다 무음이 의도된 것인지 확인하세요.
움직이는 동안 의류 디테일이 달라짐문제가 있는 샷은 사용하지 마세요. 동작을 단순화하거나, 제품 재현 정확성이 중요한 경우 실제 촬영 영상을 사용하세요.
생성된 파일의 URL 만료동일한 작업에서 결과를 다시 조회할 수 있는 방법을 확인하세요. URL을 교체하기 위해 새 유료 작업을 만들지는 마세요.

7. 내 제품에 맞게 키트 수정하기

프로젝트를 새로 복사하고, 입력·출력 파일의 명명 규칙을 유지하면서 패널 5개와 원본 광고를 사용 권한이 있는 에셋으로 교체하세요. 외부에 공개하기 전에는 오디오를 별도로 확인하세요. 원본 프롬프트에 오리지널 음악을 요청했다고 해서 그 자체가 음악 권리 증빙이 되지는 않습니다. 에셋이 실제로 해당 제품을 묘사할 때만 가상의 라벨을 검증된 정보로 교체하세요. 근거 없는 소재나 핏 주장은 작은 글씨로 조심스럽게 표현하는 대신 삭제하세요.

처음 공개할 때는 대상 독자 하나와 게시 채널 하나를 정하세요. 패션 콘텐츠 운영자에게는 템플릿과 제작 단계가 필요하고, 구매자에게는 정확한 제품 정보와 실제 구매 페이지가 필요합니다. 이 예제는 전자를 대상으로 합니다. 매출 상승, 촬영비 절감, 총 생성 비용에 관한 주장을 하는 것이 아닙니다.

템플릿을 다운로드하고, 제공된 로컬 예제를 재현한 다음 워크플로의 어느 부분이 내 제품에 적합한지 판단하세요. 더 단순한 스토리 중심 예제를 보고 싶다면 커피 광고 제작 가이드 (영문)에서 명확한 동작이 제품과 장면을 어떻게 연결하는지 확인할 수 있습니다.

자주 묻는 질문

다운로드한 파일로 새 이미지나 동영상을 생성할 수 있나요?
아니요. 기존의 가상 예제 에셋과 로컬 합성 스크립트가 포함되어 있습니다. 이를 렌더링할 때는 API 요청이 필요하지 않습니다. 새 이미지나 동영상을 생성하는 작업은 별도 단계이며 요금이 발생할 수 있습니다.
가상 피팅 워크플로인가요?
아니요. 이 예제는 AI로 생성한 인물과 가상의 의류를 결합한 것입니다. 실제 제품의 핏, 소재 구성, 사이즈 또는 실제 제품과의 일치 여부를 검증하지 않습니다.
API 키 없이 레이아웃을 재현할 수 있나요?
네. 문서에 명시된 macOS 환경에서는 제공된 로컬 에셋, Python과 Pillow, FFmpeg만 있으면 됩니다. API 키는 별도의 생성 워크플로에서만 필요합니다.