AI E-Commerce Automation Guide - Step 3
이미지 자동 가공 및 중앙 DB 마진 자동 산출 시스템 구축 가이드
Pillow 1000px 리사이징, Jinja2 HTML 템플릿 빌드, 마진 산출 공식 정밀 구현
이커머스 자동화 파이프라인의 3단계는 수집 및 가공된 데이터를 오픈마켓 규격에 맞추고 역마진을 방지하는 정밀 데이터 가공 허브입니다. 도매처 원본 이미지를 플랫폼 최적화 1000x1000px 규격으로 변환하고, AI 텍스트와 결합된 HTML 상세페이지를 동적 생성하며, 마켓 수수료와 목표 마진을 적용한 자동 판매가 산출 시스템을 구축하는 방법을 완벽히 정리해 드립니다.
1. Pillow(PIL)를 활용한 대표 이미지 1000x1000px 자동 크롭 및 용량 최적화
스마트스토어와 쿠팡 등의 오픈마켓은 대표 이미지로 **1000x1000px 정사각형 규격**을 권장합니다. 원본 이미지를 다운로드하여 중앙 기준 CROP 후 용량을 최적화하는 파이썬 코드입니다.
- 중앙 기준 CROP: 이미지의 비율이 깨지지 않도록 중심을 기준으로 정사각형 자르기 수행
- 용량 최적화: JPEG Quality 85% 압축을 통해 상세페이지 로딩 속도 개선
📌 이미지 리사이징 파이썬 코드
import requests
from PIL import Image
from io import BytesIO
def process_main_image(image_url, target_size=(1000, 1000)):
response = requests.get(image_url)
img = Image.open(BytesIO(response.content))
if img.mode in ('RGBA', 'P'):
img = img.convert('RGB')
width, height = img.size
min_dim = min(width, height)
left = (width - min_dim) / 2
top = (height - min_dim) / 2
right = (width + min_dim) / 2
bottom = (height + min_dim) / 2
img_cropped = img.crop((left, top, right, bottom))
img_resized = img_cropped.resize(target_size, Image.Resampling.LANCZOS)
output_buffer = BytesIO()
img_resized.save(output_buffer, format='JPEG', quality=85, optimize=True)
return output_buffer.getvalue()
2. Jinja2 라이브러리를 활용한 HTML 상세페이지 자동 템플릿 빌드
2단계에서 AI가 생성해 준 SEO 문구와 가공된 이미지를 파이썬 **Jinja2 템플릿 엔진**을 통해 완성된 HTML 코드 소스로 자동 결합합니다.
📄 Jinja2 HTML 템플릿 예시 (template.html)
<div style="max-width: 800px; margin: 0 auto; text-align: center;">
<h1 style="font-size: 28px; color: #333;">{{ seo_title }}</h1>
<div style="background-color: #f8f9fa; padding: 20px;">
{% for point in summary_list %}
<p style="font-size: 16px; color: #555;">✔ {{ point }}</p>
{% endfor %}
</div>
<div class="detail-images">
{% for img_url in detail_images %}
<img src="{{ img_url }}" style="width: 100%; display: block;" />
{% endfor %}
</div>
</div>
📌 Jinja2 파이썬 바인딩 코드
from jinja2 import Environment, FileSystemLoader
def render_detail_page(seo_title, summary_list, detail_images):
env = Environment(loader=FileSystemLoader('templates'))
template = env.get_template('template.html')
return template.render(
seo_title=seo_title,
summary_list=summary_list,
detail_images=detail_images
)
3. 역마진 방지 자동 마진 산출 공식 및 구현
오픈마켓은 '정산금액'이 아닌 **'최종 판매가'를 기준으로 수수료를 차감**하므로, 정교한 수학 공식을 적용해 판매가를 산출해야 역마진을 피할 수 있습니다.
📌 100원 단위 절상 포함 마진 계산 파이썬 코드
import math
def calculate_selling_price(cost_price, shipping_fee, fee_rate=0.11, margin_rate=0.20):
total_cost = cost_price + shipping_fee
deduction_rate = fee_rate + margin_rate
if deduction_rate >= 1.0:
raise ValueError("수수료율과 마진율의 합이 100% 이상일 수 없습니다.")
raw_price = total_cost / (1 - deduction_rate)
# 100원 단위 절상 (예: 18,840원 -> 18,900원)
final_price = math.ceil(raw_price / 100) * 100
market_fee = final_price * fee_rate
expected_margin = final_price - total_cost - market_fee
return {
"final_price": final_price,
"expected_margin": int(expected_margin)
}
4. 중앙 DB (Google Sheets / Airtable) 자동 업데이트 구조
가공이 완료된 데이터는 중앙 DB 컬럼에 아래 파라미터 구조로 실시간 업데이트되며 4단계 마켓 자동 등록 모듈로 넘어가게 됩니다.
| 컬럼명 | 설명 | 예시 값 |
|---|---|---|
| Main_Image_URL | 1000px 가공 썸네일 주소 | https://cdn.../thumb_1000.jpg |
| Detail_HTML | Jinja2 빌드 완료된 HTML 소스 | <div>...</div> |
| Selling_Price | 마진 공식 적용 최종 판매가 | 18,900원 |
| Status | 파이프라인 진행 상태값 | 3단계 가공완료 |
3단계 파이프라인이 완성되면 상품 이미지 규격화, HTML 상세페이지 제작, 마진 산출까지 모든 과정이 손하나 대지 않고 자동 처리됩니다. 4단계 오픈마켓 API 연동을 진행해 보세요!

댓글
댓글 쓰기