AI 이미지 생성 도구로 블로그 썸네일 만들기

글은 다 썼는데 썸네일에서 막힌 경험, 블로그를 운영해 본 사람이라면 한 번쯤 있습니다. 무료 이미지 사이트를 20분 뒤지다가 마음에 드는 게 없어서 결국 아무 사진이나 올리고, 다음 글에서도 똑같은 일을 반복합니다. 주 3회 발행이면 한 달에 열두 번, 시간으로 따지면 네 시간이 썸네일 찾기에만 들어갑니다. AI 썸네일 제작을 파이프라인으로 만들어 두면 이 과정이 글 한 편당 3분으로 줄어듭니다. 이번 글에서는 프롬프트 작성법부터 파이썬으로 글자를 얹고 용량을 줄이는 마무리 작업까지, 실제로 돌아가는 코드와 함께 정리합니다.

먼저 정할 것: 썸네일 규격과 반복 가능한 틀

도구를 고르기 전에 규격부터 정해야 합니다. 매번 크기가 다르면 목록 화면에서 카드가 들쭉날쭉해 보이고, 나중에 일괄 수정하기도 어렵습니다.

  • 가로 1200 x 세로 630 픽셀 — 페이스북, 카카오톡, 슬랙 미리보기가 공통으로 쓰는 오픈그래프 권장 비율입니다. 워드프레스 대표 이미지로도 무난합니다.
  • 글자는 이미지 아래쪽 3분의 1에만 — 목록 화면에서 카드 위쪽이 잘리는 테마가 많습니다.
  • 색은 두 가지로 고정 — 블로그 전체 썸네일이 같은 색 조합이면 그것만으로 브랜드처럼 보입니다.
  • 파일명은 영문 소문자와 하이픈 — 한글 파일명은 서버 환경에 따라 깨지고, 검색엔진이 읽지도 못합니다.

이 네 가지를 한 번 정해두면 다음부터는 그림만 바꾸면 되므로 판단할 게 없어집니다. 시간이 줄어드는 진짜 이유는 AI가 빨라서가 아니라, 매번 처음부터 고민하지 않아도 되기 때문입니다.

프롬프트는 6가지 요소로 쪼개서 쓴다

AI 이미지 도구에 “블로그 썸네일 만들어줘”라고만 입력하면 매번 전혀 다른 그림이 나옵니다. 결과를 통제하려면 프롬프트를 주제 / 스타일 / 구도 / 색상 / 분위기 / 제외 항목으로 나눠서 각각을 명시해야 합니다.

# 썸네일 프롬프트 6요소

주제   : 파이썬으로 흩어진 파일을 자동 정리하는 장면
스타일 : flat vector illustration, minimal, thick outline
구도   : centered composition, plenty of empty space at the bottom
색상   : navy blue and warm orange, two-color palette
분위기 : clean, professional, calm
제외   : no text, no letters, no watermark, no logo
비율   : 16:9

# 위 요소를 한 줄로 합친 실제 입력값

A flat vector illustration of scattered files being sorted into folders,
minimal style with thick outlines, centered composition with plenty of
empty space at the bottom, navy blue and warm orange two-color palette,
clean and professional mood, no text, no letters, no watermark, 16:9

실무에서 가장 효과가 큰 건 마지막 두 줄입니다. no text, no letters를 넣는 이유는 AI가 만든 글자가 대부분 알아볼 수 없는 기호로 나오기 때문입니다. 글자는 나중에 파이썬으로 정확하게 얹는 편이 훨씬 낫습니다. 그리고 plenty of empty space at the bottom처럼 여백을 미리 요구해 두면, 제목을 올릴 자리가 확보돼서 그림을 가리지 않습니다.

스타일 관련 단어는 한글보다 영어가 훨씬 잘 먹힙니다. 학습 데이터에 영어 설명이 압도적으로 많기 때문입니다. 주제만 한글로 쓰고 스타일 키워드는 영어로 섞어 쓰는 방식을 추천합니다.

도구 고르기

실제로 생성한 블로그 썸네일 예시
이 글의 방식으로 실제로 만든 썸네일입니다. 이 블로그 글에 지금 쓰고 있는 것입니다.

썸네일 용도라면 어느 도구든 품질 차이보다 손이 덜 가는 쪽이 중요합니다. 성격이 다른 네 가지를 비교하면 이렇습니다.

도구접근 방식강점적합한 경우
ChatGPT 이미지 생성웹 / 앱 대화창수정 요청을 말로 이어서 할 수 있음한 장을 대화하며 다듬을 때
Google Gemini웹 / 앱 대화창한국어 지시 이해도가 좋음한글 주제를 그대로 던지고 싶을 때
Canva템플릿 편집기생성부터 글자 배치까지 한 화면에서코드 없이 끝내고 싶을 때
Stable Diffusion 로컬 설치내 PC에서 직접 실행무제한 생성, 완전한 스타일 고정월 수십 장 이상 뽑을 때

요금제와 무료 사용량은 서비스마다 자주 바뀌므로 결제 전에 공식 안내 페이지를 확인하세요. 처음이라면 이미 쓰고 있는 AI 서비스에 이미지 기능이 포함돼 있는 경우가 많으니 그것부터 열어보는 게 빠릅니다. 로컬 설치는 그래픽카드 메모리 8GB 이상을 권장하고, 초기 세팅에 한나절 정도 걸린다는 점을 감안해야 합니다.

생성된 이미지에 제목 얹기 (파이썬)

AI가 준 원본은 대개 정사각형이거나 비율이 어중간합니다. 자르고, 어두운 띠를 깔고, 제목을 얹는 세 단계를 파이썬으로 처리하면 다음 글부터는 파일명과 제목만 바꿔서 재실행하면 됩니다.

# make_thumbnail.py  —  pip install pillow
from PIL import Image, ImageDraw, ImageFont

SRC = "raw.png"          # AI가 만들어준 원본 이미지
OUT = "thumbnail.png"    # 최종 썸네일
TITLE = "AI 썸네일 제작\n30분에서 3분으로"
W, H = 1200, 630         # 오픈그래프 권장 크기

img = Image.open(SRC).convert("RGB")

# 1) 1200x630 비율에 맞춰 가운데를 잘라낸다
ratio = max(W / img.width, H / img.height)
img = img.resize((round(img.width * ratio), round(img.height * ratio)), Image.LANCZOS)
left = (img.width - W) // 2
top = (img.height - H) // 2
img = img.crop((left, top, left + W, top + H))

# 2) 글자가 묻히지 않도록 아래쪽에 어두운 반투명 띠를 깐다
overlay = Image.new("RGBA", (W, H), (0, 0, 0, 0))
ImageDraw.Draw(overlay).rectangle((0, H - 240, W, H), fill=(0, 0, 0, 150))
img = Image.alpha_composite(img.convert("RGBA"), overlay).convert("RGB")

# 3) 제목을 얹는다
draw = ImageDraw.Draw(img)
font = ImageFont.truetype("C:/Windows/Fonts/malgunbd.ttf", 64)  # 맑은 고딕 볼드
draw.multiline_text((60, H - 200), TITLE, font=font, fill="white", spacing=16)

img.save(OUT, quality=95)
print("저장 완료:", OUT)

맥이라면 폰트 경로를 /System/Library/Fonts/AppleSDGothicNeo.ttc로 바꾸면 됩니다. 한글 폰트를 지정하지 않으면 기본 폰트가 한글 글리프를 갖고 있지 않아서 글자가 전부 네모로 나옵니다. 이게 초보자가 가장 많이 겪는 증상입니다.

어두운 반투명 띠를 까는 이유는 배경이 밝든 어둡든 흰 글씨의 가독성을 보장하기 위해서입니다. 이미지마다 글자 색을 고르는 판단을 없애주므로, 자동화에서 특히 중요합니다.

용량 줄이기: WebP로 변환

AI가 뽑아주는 PNG는 한 장에 1.5MB를 넘는 경우가 흔합니다. 이미지가 무거우면 페이지 로딩이 느려지고, 이는 검색 순위와 이탈률 양쪽에 영향을 줍니다. WebP로 바꾸면 눈에 띄는 화질 저하 없이 대개 5분의 1 수준까지 줄어듭니다.

# to_webp.py  —  폴더 안 PNG를 전부 WebP로 변환
from pathlib import Path
from PIL import Image

for path in Path(".").glob("*.png"):
    img = Image.open(path).convert("RGB")
    out = path.with_suffix(".webp")
    img.save(out, "webp", quality=80, method=6)

    before = path.stat().st_size // 1024
    after = out.stat().st_size // 1024
    print(f"{path.name}: {before}KB -> {after}KB")
PNG를 JPEG와 WebP로 변환한 용량 실측 비교
같은 이미지로 잰 결과입니다. 413 KB → WebP 59 KB, 86% 줄었습니다. JPEG(88 KB)보다도 작습니다.

워드프레스 최신 버전은 WebP 업로드를 기본 지원합니다. 다만 아주 오래된 테마나 플러그인에서 미리보기가 깨질 수 있으니, 첫 한 장은 실제 글에 넣어 데스크톱과 모바일 양쪽에서 확인한 뒤 나머지를 일괄 변환하세요.

  1. 원본 PNG를 별도 폴더에 백업해 둔다
  2. 변환 스크립트를 돌려 WebP를 만든다
  3. 한 장만 워드프레스에 올려 미리보기를 확인한다
  4. 문제가 없으면 나머지를 올리고, 파일명은 영문 하이픈 형식으로 맞춘다
  5. 대체 텍스트에 글 제목과 타겟 키워드를 한 문장으로 적는다

대체 텍스트는 화면 낭독기 사용자를 위한 접근성 요소이자, 이미지 검색 유입 경로이기도 합니다. 파일명과 대체 텍스트 두 줄을 채우는 데 10초면 충분한데 실제로는 대부분 비워둡니다.

주의할 점

상업적 이용 가능 여부는 도구마다, 그리고 같은 도구 안에서도 요금제마다 다릅니다. 애드센스를 붙인 블로그는 상업적 이용에 해당하므로, 쓰기 전에 해당 서비스의 이용약관에서 상업적 이용 조항을 반드시 확인하세요.

  • 실존 인물과 브랜드 로고는 넣지 않습니다. 특정 연예인이나 기업 로고를 닮게 생성하면 초상권 및 상표권 문제가 생길 수 있습니다.
  • AI가 만든 글자는 믿지 마세요. 얼핏 영어처럼 보여도 실제로는 존재하지 않는 단어인 경우가 많습니다. 글자는 코드로 얹는 게 정답입니다.
  • 손가락과 텍스트가 많은 화면은 피합니다. 사람 손이나 복잡한 대시보드 화면은 어색하게 나올 확률이 높습니다. 단순한 벡터 일러스트 스타일이 실패가 적습니다.
  • 같은 프롬프트를 재사용해 통일감을 만드세요. 주제 한 줄만 바꾸고 나머지 다섯 요소를 고정하면 글이 쌓일수록 블로그 전체가 한 세트처럼 보입니다.
  • 생성 이미지라는 표시가 필요한 분야가 있습니다. 뉴스나 의료, 금융처럼 사실성이 중요한 주제를 다룬다면 본문 하단에 이미지가 AI로 생성됐다는 문구를 남기는 편이 안전합니다.

마무리

한 번에 전부 갖추려 하지 말고, 오늘은 프롬프트 6요소 틀만 메모장에 저장해 보세요. 다음 글을 쓸 때 주제 한 줄만 바꿔서 붙여넣으면 됩니다. 그것만으로도 이미지를 고르느라 쓰던 20분이 몇 분으로 줄어듭니다. 파이썬 스크립트는 썸네일을 다섯 장쯤 만들어 보고 손이 아프다고 느껴질 때 도입해도 늦지 않습니다.

다음 글에서는 잘 돌던 자동화가 어느 날 조용히 멈추는 상황, 크론잡과 작업 스케줄러가 실행되지 않을 때 무엇부터 확인해야 하는지 체크리스트로 정리하겠습니다.

댓글 남기기