셀카 한 장으로 이모티콘 24개를 만들었다 — AI 이모티콘 생성 서비스 개발기

AI로 만들어봤습니다··19분 읽기·

셀카 한 장으로 이모티콘 24개를 만들었다 — AI 이모티콘 생성 서비스 개발기

셀카 한 장으로 AI 이모티콘 24개 자동 생성 서비스 FaceMoji

왜 만들었나 — 이모티콘 만들고 싶은데 그림을 못 그린다

카카오톡이나 네이버에서 이모티콘 쓰면서 한 번쯤 생각해봤을 거예요. "내 얼굴로 이모티콘 만들면 재밌겠다." 근데 현실은:

  • 그림 실력이 필요하고
  • 외주 맡기면 수십만 원이고
  • 직접 만들면 몇 주가 걸리고
그래서 생각했어요. 셀카 한 장 넣으면 AI가 24개 표정 이모티콘을 자동으로 만들어주면 안 될까? 웃는 얼굴, 우는 얼굴, 하트 눈, 화난 얼굴... 이런 걸 3분 안에.

이걸 직접 만들어보기로 했습니다.

기획서부터 — "이모티콘 앱 만들어줘"가 아니라

Before — 초급 프롬프트:
AI로 이모티콘 만드는 앱 만들어줘

돌아온 건 "Stable Diffusion을 사용하면 됩니다" 같은 일반론이었어요. 어떤 표정을 만들지, 어떤 규격으로 만들지, 어떻게 팔지 아무것도 안 나왔습니다.

After — 중급 프롬프트:
당신은 AI 이미지 생성 서비스 기획 전문가입니다.

[현재 상황]
- 한국 이모티콘 시장에서 "내 얼굴 기반 AI 이모티콘 생성"은 아직 없음
- OGQ(네이버)는 AI 생성 이모티콘을 공식 허용
- 카카오톡은 현재 AI 이모티콘 입점 제한 중

[요구사항]
- 셀카 1장 → 24개 표정 이모티콘 세트 자동 생성
- OGQ 규격 자동 변환 (740×640px, 투명 배경)
- 스타일 선택: 카툰, 수채화, 애니메 등
- 결제 후 워터마크 없는 고해상도 다운로드

[제약조건]
- 1인 개발자가 유지보수 가능한 수준
- 얼굴 사진은 개인정보이므로 즉시 삭제 정책 필요
- 생성 시간 3분 이내

"OGQ 규격", "카카오 입점 제한", "개인정보 즉시 삭제" 같은 현실 제약을 넣으니까 AI가 마일스톤 7개짜리 기획서를 만들어줬어요. 시장 상황을 알려주니 기술 선택까지 달라졌습니다.

기술스택 — AI한테 "내 상황"을 알려주는 게 핵심

당신은 AI 이미지 생성 서비스 아키텍트입니다.

[필수 조건]
- 셀카 1장으로 24개 표정 이모티콘 생성
- 생성된 이모지 표정마다 동일 인물로 인식 가능해야 함
- OGQ 규격(740×640px, 투명 배경) 자동 변환
- 결제 시스템 (한국 카드/카카오페이/네이버페이)

[현재 역량]
Next.js는 써봤음. Python 백엔드 경험 없음. AI 모델 훈련 경험 없음.

[요청]
위 조건에 맞는 기술스택과 각 선택의 이유를 설명해주세요.
AI 모델은 직접 훈련이 아니라 API로 호출하는 방식이어야 합니다.

"AI 모델 훈련 경험 없음"이라고 알려주니까, AI가 직접 모델을 만드는 대신 API 호출 방식을 추천해줬어요.

뭘 하는 건지 어떤 도구 왜 이걸 골랐나
화면 만들기 Next.js + TypeScript 이미 써봤으니까
AI 이모티콘 생성 fal.ai API 직접 모델 운영 안 해도 됨
이모티콘 편집 Fabric.js 웹에서 텍스트/말풍선 넣는 캔버스 도구
데이터 저장 Supabase 이미 쓰고 있으니까
결제 Toss Payments 카드/카카오페이/네이버페이 한 번에
배포 Vercel Next.js 기본 배포
핵심은 fal.ai API였어요. 셀카를 넣으면 AI가 그 얼굴을 기반으로 다양한 표정의 이모티콘을 만들어주는 API. GPU 서버를 직접 관리할 필요 없이, API 한 줄로 호출하면 됩니다.

24개 표정 — 프롬프트가 전부였다

이모티콘 24개를 만들려면 "웃는 얼굴", "우는 얼굴", "하트 눈" 같은 표정별 프롬프트가 필요해요. 처음에는 영어로 대충 넣었는데 결과가 엉뚱했습니다.

[피드백]
"happy face"로 넣었더니 그냥 웃는 사진이 나와요.
이모티콘 스타일이 아니라 실사 사진처럼 나옵니다.

[요청]
24개 한국형 표정 프리셋을 만들어주세요.
각 표정마다 이모티콘 스타일에 맞는 프롬프트를 짜주세요.
스타일(카툰, 수채화, 애니메 등)도 프롬프트에 반영해야 합니다.

이 피드백으로 AI가 만들어준 프리셋 구조:

표정 프롬프트 핵심 한국에서 많이 쓰는 상황
웃음 "big happy smile, bright expression" 감사, 인사
하트 눈 "heart eyes, love expression" 좋아요, 사랑
눈물 "crying with tears, sad" 감동, 슬픔
화남 "angry expression, furrowed brow" 짜증, 불만
아이고 "frustrated, hand to face" 한숨, 실수
대박 "amazed, wow expression" 놀람, 감탄
각 프롬프트에 "A [스타일] emoji sticker of a person with [표정]" 구조를 사용했어요. "emoji sticker"라고 명시하니까 실사 사진이 아니라 이모티콘 스타일로 나왔습니다.

스타일도 6종류를 만들었어요. 카툰, 플랫, 애니메, 수채화, 3D, 만화. 같은 "웃음" 표정이라도 카툰 스타일이면 둥글둥글하고, 수채화 스타일이면 부드러운 느낌이 나옵니다.

OGQ 규격 자동 변환 — 이게 은근히 까다로웠다

이모티콘을 만들었으면 OGQ(네이버 이모티콘 플랫폼)에 올릴 수 있어야 해요. 근데 OGQ 규격이 꽤 까다롭습니다:

  • 이모티콘: 740×640px
  • 메인 이미지: 240×240px
  • 탭 아이콘: 96×74px
  • 투명 배경 필수
  • 흰색 테두리 3px (다크모드에서 안 보이는 거 방지)
  • 파일 크기 1MB 이하
당신은 이미지 처리 전문가입니다.

[요청]
AI가 생성한 이모티콘 이미지를 OGQ 규격으로 자동 변환하는 기능을 만들어주세요.

[필수 처리]
1. 배경 제거 (투명 배경)
2. 740×640px 리사이징 (비율 유지)
3. 흰색 테두리 3px (다크모드 대응)
4. PNG 최적화 (1MB 이하)
5. 메인 이미지(240×240) + 탭 아이콘(96×74) 자동 생성

[주의]
배경 제거 후 얼굴 가장자리가 깨지지 않아야 합니다.

"배경 제거 후 얼굴 가장자리가 깨지지 않아야" — 이 한 줄이 중요했어요. AI가 배경 제거 도구로 rembg를 추천했는데, 첫 결과에서 머리카락 가장자리가 들쭉날쭉했거든요. "가장자리 품질"을 명시하니까 후처리 로직을 추가해줬습니다.

결제 연동 — Toss Payments가 생각보다 쉬웠다

당신은 한국 결제 시스템 전문가입니다.

[요청]
이모티콘 세트 구매에 Toss Payments를 연동해주세요.

[요구사항]
- 단건 결제: 세트당 과금
- 구독 결제: 월정액 플랜
- 결제 수단: 카드, 카카오페이, 네이버페이
- 결제 전: 워터마크 미리보기
- 결제 후: 워터마크 제거된 고해상도 다운로드

[제약]
Next.js 14 App Router 구조입니다.

결제는 생각보다 AI가 잘 처리해줬어요. Toss Payments SDK 연동 코드를 한 번에 만들어줬고, 웹훅(결제 완료 알림)까지 포함됐습니다. 결제 전에는 워터마크가 들어간 미리보기를 보여주고, 결제 후에 깨끗한 이미지를 내려주는 구조.

마켓플레이스까지 — "만든 이모티콘을 팔 수 있게"

여기서 욕심이 생겼어요. 내가 만든 이모티콘을 다른 사람한테 팔 수 있으면 어떨까?

당신은 마켓플레이스 설계 전문가입니다.

[현재 상태]
- 이모티콘 생성 + 결제 시스템 완성
- Supabase RLS로 사용자별 데이터 격리

[요청]
사용자가 만든 이모티콘 세트를 다른 사용자에게 판매할 수 있는
마켓플레이스 기능을 추가해주세요.

[요구사항]
- 작가 프로필 + 판매 등록
- 구매 + 다운로드
- 수익 분배 (작가 75%, 플랫폼 25%)

이모티콘 생성 앱이 이모티콘 마켓플레이스로 확장됐습니다. 만드는 것 → 파는 것까지.

솔직한 한계점

완벽하진 않아요:

  • 얼굴 일관성: 24개 표정에서 "같은 사람"으로 보이는 게 100%는 아니에요. 대부분은 괜찮지만 일부 표정에서 미묘하게 달라 보일 수 있습니다
  • 카카오톡 입점 불가: 현재 카카오톡은 AI 생성 이모티콘 입점을 제한하고 있어요. OGQ(네이버)는 허용하지만, 이모티콘 시장의 대부분이 카카오톡이라 아쉽습니다
  • 개인정보: 셀카 = 생체정보이므로 개인정보보호법 준수가 필수. 생성 완료 후 원본 사진을 즉시 삭제하는 정책을 적용했지만, 사용자 신뢰 확보가 과제

되돌아보면 — "내 상황"을 알려주는 게 전부였다

"이모티콘 앱 만들어줘"로는 아무것도 안 나왔는데, "OGQ 규격이 740×640이고, 카카오는 AI 제한 중이고, 나는 AI 모델 훈련 경험이 없다"를 넣으니까 실행 가능한 계획이 나왔어요.

특히 효과가 컸던 세 가지:

  • 시장 상황을 알려주기 — "카카오 제한, OGQ 허용"을 넣으니 OGQ 특화 전략이 나옴
  • "못 하는 것"을 알려주기 — "모델 훈련 못 함"을 넣으니 API 호출 방식을 추천
  • 결과에서 빠진 걸 피드백 — "실사 사진이 나온다"고 하니 이모티콘 스타일 프롬프트로 수정
  • 셀카 한 장 → 이모티콘 24개. AI한테 제대로 시키면 이런 것도 됩니다.

    공유

    댓글