오늘은 사람들이 실제로 인스타그램에 올리고 싶어할 공유 가능한 성격 카드를 만드는 날이었습니다. 단순히 기능적인 것이 아니라 아름다운 것. 프리미엄 트레이딩 카드 느낌을 가진 포켓몬 스타일 수집품. 만들었습니다. 정말 멋집니다. 하지만 가끔 단어 철자를 틀립니다.

그리고 저는 괜찮습니다. 지금은요.

비전: 인스타그램용 성격 카드

사용자가 스토리를 완료하고 MBTI 성격 유형을 발견한 후, 공유할 수 있는 무언가를 받아야 합니다. 프리미엄 포켓몬/매직 더 개더링 미학을 가진 인스타그램 스토리에 최적화된 수집형 카드(1080 x 1920 픽셀).

카드 구조:

  • 헤더: 한 줄로 간결한 스토리 제목
  • 장면 이미지: 엔딩 장면 일러스트
  • 성격 섹션: MBTI 유형 배지, 제목, 전체 설명
  • 푸터: WhatIfClassics.com으로 유도하는 간단한 CTA

첫 번째 시도: PIL(Python Imaging Library)을 사용한 프로그래밍 방식 생성. 완벽한 텍스트 정확도, 정확한 레이아웃 제어, 빠른 생성. 하지만 결과물을 보니… 프로그래머가 만든 것처럼 보였습니다. 기능적. 깔끔함. 지루함.

공유하고 싶은 것이 아니었습니다. 수집품 같지 않았죠.

품질 문제

소셜 미디어에 대해 이것이 중요합니다: 미학이 완벽한 맞춤법보다 더 중요합니다. 작은 오타가 있는 아름다운 카드는 공유될 것입니다. 완벽한 텍스트를 가진 못생긴 카드는 공유되지 않을 것입니다.

안전하기 때문에 PIL 접근법을 먼저 시도했습니다. 정확도 보장. 하지만 실제로 그 카드를 봤을 때, 작동하지 않을 것임을 알았습니다. 프리미엄 수집품 느낌이 부족했습니다—장식적인 테두리, 홀로그래픽 광택 효과, 진짜 트레이딩 카드 미학.

인스타그램 사용자는 이것들을 공유하지 않을 것입니다. 바로 건너뛸 것입니다.

Gemini 등장: 아름다움 우선순위

그래서 선택을 했습니다: 대신 Google의 Gemini AI 이미지 생성 모델(gemini-2.5-flash-image)을 사용하기로. AI가 진짜 포켓몬/MTG 미학으로 카드를 만들게 하는 거죠.

결과는 놀라웠습니다. 화려한 테두리. 전문적인 타이포그래피. 광택 카드 마감. 홀로그래픽 배지 효과. 진짜 트레이딩 카드처럼 보였습니다.

그런데 오타를 발견했습니다.

“YOUR PERSONALSITY IN THE GREAT GATSBBY

Personality가 아니라 PERSONALSITY. Gatsby가 아니라 GATSBBY.

절충 결정

PIL 생성기로 되돌릴 수 있었습니다. 완벽한 맞춤법, 지루한 비주얼. 또는 Gemini를 고수할 수 있었습니다. 아름다운 미학, 가끔 오타.

제가 깨달은 것은 이것입니다: 이것은 해결 가능한 문제입니다. AI 텍스트 렌더링에 문제가 있습니다, 맞습니다. 하지만 그 문제들은 치명적이지 않습니다—해결해야 할 과제입니다.

탐색 중인 옵션들:

  1. 더 나은 프롬프트 엔지니어링: 더 명시적인 텍스트 지침
  2. 후처리: AI가 카드 배경을 생성하고, 프로그래밍 방식으로 텍스트 오버레이
  3. 하이브리드 접근법: 장식 요소는 AI, 프로그래밍 방식 텍스트 렌더링
  4. 수동 검토: 제한된 카드 세트의 경우, 배포 전 품질 확인

요점은: 텍스트 정확도가 어렵다고 해서 아름다움을 포기하지 않을 것입니다.

오늘 배운 것

사용 사례가 더 나은 것을 요구할 때 “충분히 좋은” 것에 안주하지 마세요. PIL 카드는 기술적으로 올바랐습니다. 명시된 대로 문제를 해결했습니다. 하지만 실제 목표인 공유 가능한 순간 만들기에는 실패했습니다.

때로는 더 어려운 길이 올바른 길입니다.

네, AI 이미지 생성은 텍스트로 고군분투합니다. 네, 복잡성을 추가합니다. 네, API 크레딧이 듭니다. 하지만 대안—아마추어처럼 보이는 프로그래밍 방식 카드—은 소셜 공유의 전체 목적을 무효화합니다.

아름답지만 사용할 수 없는 카드를 배포하는 것보다 텍스트 정확도 문제를 해결하는 것이 낫습니다.

배포된 시스템

Gemini AI 생성으로 수집형 카드 시스템이 작동합니다:

카드 기능:

  • 1080 x 1920 px 인스타그램 스토리 형식
  • 진짜 포켓몬/MTG 수집품 미학
  • 타겟 생성: 엔딩당 2-4개 성격 유형 + 일반 대체
  • 완전한 이중 언어 지원 (영어 + 한국어)
  • 스토리팩당 평균 48-80 카드

현재 상태:

  • ✅ Gemini 생성기 작동 및 테스트 완료
  • ✅ 전문 수집형 카드 품질 달성
  • ⚠️ 텍스트 정확도 과제 식별
  • 🔄 솔루션 반복 중 (프롬프트 개선, 후처리, 하이브리드 접근법)

워크플로우:

# 먼저 단일 카드 테스트
python3 core/generate_personality_cards_gemini.py story.json \
  --test-single ending_id:TYPE --language ko

# 전체 세트 생성
python3 core/generate_personality_cards_gemini.py story.json --language ko

다음 단계

사용자에게 오타가 있는 카드를 배포하지 않을 것입니다. 하지만 더 쉽다는 이유로 못생긴 카드에 안주하지도 않을 것입니다.

다음 세션: 텍스트 수정 접근법 탐색. 후처리 오버레이. 더 나은 프롬프트. 제한된 카드 세트를 위한 수동 검토 워크플로우. 아름다움과 정확성 모두를 얻는 솔루션 찾기.

왜냐하면 소셜 공유는 이것을 요구하기 때문입니다: 사람들이 공유하고 싶을 만큼 아름다운 카드, 그리고 부끄럽지 않을 만큼 정확한 텍스트.

때로는 빠르고, 좋고, 저렴한 것 중에서 선택할 수 없습니다. 때로는 세 가지 모두가 필요합니다. 그때 진짜 문제 해결이 시작됩니다.

업데이트: Gemini 3 Pro Image Preview

초기 구현 이후, 전체 이미지 생성 파이프라인을 Gemini 3 Pro Image Preview로 업그레이드했습니다 - Google의 최신 멀티모달 모델로 이미지 품질이 크게 향상되고 텍스트 렌더링 기능이 개선되었습니다.

주요 개선 사항:

  • 더 나은 품질: 향상된 디테일과 일관성을 가진 프리미엄 이미지 생성
  • 개선된 텍스트: 이전 모델과 비교하여 더 정확한 텍스트 렌더링
  • WebP 출력: 자동 PNG → WebP 변환 (품질=85)으로 95% 이상 파일 크기 감소
  • 전체 파이프라인: 모든 이미지(스타일 가이드, 캐릭터, 장면, 성격 카드)가 이제 Gemini 3 Pro 사용
  • 텍스트 생성: 스토리 JSON 및 번역이 Gemini 3 Pro로 업그레이드되어 더 나은 일관성 제공

성능 영향:

  • 이미지 품질: 더 나은 프롬프트 준수로 크게 향상됨
  • 파일 크기: 카드당 <200KB (1-2MB PNG에서 감소)
  • 페이지 로드 시간: WebP 형식으로 더 빠른 전송
  • 생성 속도: 이전 모델과 유사

원래 게시물에서 언급된 텍스트 정확도 문제는 최신 모델의 개선된 텍스트 렌더링으로 대부분 해결되었습니다. 완벽하지는 않지만, Gemini 3 Pro Image Preview는 이전 버전보다 타이포그래피와 텍스트 레이아웃을 훨씬 더 잘 처리합니다.


What If Classics는 고전 문학을 선택 기반 경험으로 전환하는 인터랙티브 스토리텔링 플랫폼입니다. 각 스토리는 플레이하는 데 3-5분이 걸리지만 수십 개의 독특한 엔딩으로 분기됩니다. whatifclassics.com에서 여정을 따라가세요.