Forgemoji의 작동 원리
Forgemoji가 생성하는 모든 이모지는 간단한 "이모지 두 개 선택" 모드를 쓰든 사진-이모지 모드를 쓰든 동일한 5단계 파이프라인을 거칩니다. 전체 과정은 보통 10~20초가 걸리며, 그 중 대부분은 단일 이미지 생성 호출을 기다리는 시간입니다.
모델은 마법이 아니기 때문에 작동 방식을 의도적으로 투명하게 공개합니다. 일단 파이프라인이 무엇을 하는지 알면 대부분의 실패는 예측 가능하고, 그러면 올바른 프롬프트 선택이 자명해집니다.
파이프라인, 단계별로
- 프롬프트 조립
두 이모지가 프롬프트 빌더로 전달됩니다. 빌더는 각 이모지의 공식 Unicode 짧은 이름을 조회한 다음, 두 가지를 결합한 단일 영어 프롬프트를 만듭니다. 선택기에서 입력 언어를 바꿨다면, 프롬프트는 먼저 소규모 내부 룩업 테이블로 번역됩니다(LLM 호출 없음).
- 이미지 생성
프롬프트는 텍스트-이미지 모델로 갑니다. 출력은 1024×1024입니다. 우리는 주 모델과 보조 모델을 프롬프트 기반 라우팅으로 운영하며, 특정 요청을 어떤 모델이 처리했는지 공개하지 않습니다.
- 배경 제거
별도의 rembg 모델이 배경을 지웁니다. rembg 단계는 독립 GPU 워커라서 다음 요청과 겹쳐서 실행됩니다.
- 리사이즈와 포맷
깔끔한 투명 1024×1024를 Lanczos 리샘플링으로 256×256으로 축소합니다. 256×256 PNG가 대부분의 채팅 플랫폼에서 커스텀 이모지로 기대하는 크기입니다.
- 선택형 애니메이션
애니메이션 내보내기를 켰다면, 256×256 PNG는 작은 모션 합성 모델을 거쳐 12fps 24프레임 루프가 만들어집니다. 6가지 스타일을 지원합니다: bob, sway, sparkle, glow, wiggle, pulse. 애니메이션은 기본 생성 시간에 8-12초가 추가됩니다.
내부 동작
건너뛰기 쉽지만 파이프라인이 무엇을 하고 무엇을 하지 않는지 이해하는 데 중요한 디테일 몇 가지. 상위 흐름만 관심 있다면 이전 섹션이면 충분합니다. 실패 모드를 이해하고 싶다면(좋은 프롬프트를 고를 수 있는 유일한 길) 이 섹션을 읽으세요. 배경은 about 페이지에서.
텍스트-이미지 모델은 검색 엔진이 아닙니다. 이미지를 검색해서 🐱 + 🌈가 뭔지 "아는" 게 아니라, 프롬프트 조건 하에서 픽셀을 샘플링합니다. 동일한 요청 두 개가 다른 출력을 내는 것은 잠재 노이즈 시드가 다르기 때문입니다.
rembg 모델은 자연 이미지로 학습됐습니다. 카와이 스타일 이모지는 실루엣이 잘 정의돼 있어서 잘 작동하지만, 완벽하지는 않습니다. 아주 가는 외곽선은 가끔 일부가 잘려나갑니다. 이상한 반투명 헤alo가 보이면 다시 생성하세요.
파이프라인은 독립 GPU 워커 시퀀스로 실행됩니다. 사용자 경로에는 배치 큐가 없습니다, 모든 요청이 새 할당을 받습니다. 피크 시간에는 rembg 워커가 병목입니다.
생성된 이모지는 저장하지 않습니다. 이미지는 JSON 응답 안의 base64 인코딩 PNG 형태로 브라우저로 돌아옵니다. 원본 프롬프트와 모델 출력은 남용 탐지를 위해 30일간 기록되고 그 후 삭제됩니다.
무료 트래픽과 Pro 트래픽은 같은 GPU 풀을 공유합니다. 피크 시간에 Pro가 더 빠른 실효 성능을 보이는 건 큐가 쌓이면 무료 트래픽을 먼저 내리기 때문입니다.
선택기 UI는 생성 파이프라인의 일부가 아닙니다. 전적으로 브라우저에서 실행되고, 최근 50개 생성을 localStorage에 저장하며, 선택한 쌍을 API로 보냅니다.
더 좋은 결과를 위한 팁
- 두 번째 이모지를 신중히 고르세요. 첫 번째 이모지는 "주체", 몸의 형태, 지배적인 색, 얼굴을 정합니다. 두 번째 이모지는 "수식어", 작은 특징(모자, 소품, 패턴)을 더합니다. 둘 다 똑같이 중요한 쌍은 흐릿하게 나오는 경향이 있습니다.
- 추상적이거나 모순되는 쌍은 피하세요. 🌀 + 💎 또는 📜 + 🚀, 모델이 어떤 특징을 강조할지 모르기 때문에 결과는 흐릿한 평균처럼 보입니다. 쌍이 별로 안 좋은 농담처럼 느껴지면 모델은 별로 안 좋은 이미지를 만듭니다.
- 적극적으로 다시 생성하세요. 같은 쌍의 4번째 또는 5번째 시도가 보통 가장 좋습니다. 모델의 무작위성은 버그가 아니라 기능입니다. 처음 2-3개 생성은 워밍업이라고 생각하세요.
- 얼굴 이모지에는 사진 모드를 쓰세요. 🧑 + 📸 스타일이 선택기가 가장 잘하는 것입니다. 🦄 + 🌈 같은 것도 학습 데이터에 잘 정의된 카와이 참조가 있어서 잘 나옵니다.
알려진 한계
가장 큰 한계는 텍스트 렌더링입니다. 모델은 단어를 철자하지 못하므로 🔤이나 🅰️를 포함한 이모지 쌍은 글자와 비슷하게 생기지만 읽을 수 없는 모양을 만듭니다.
피부톤 수식어(Fitzpatrick 스케일 변형)는 처리되지 않습니다. 모델은 잠재 사전이 좋아하는 피부톤을 고르며, 선택기에서 영향을 줄 수 없습니다.
국가 국기(🏳️🌈 등)도 처리되지 않습니다. 프롬프트 쪽 우회 방법을 시도했지만 모두 생성하지 않는 것보다 더 나쁜 결과를 냈습니다.
엔지니어에게
engineerNoteP1
현재 SDK는 공개하지 않습니다. 엔드포인트는 fetch로 직접 호출할 만큼 작습니다. API가 안정화되면 SDK를 공개할 예정입니다.
프라이버시와 데이터
파이프라인은 이모지를 디스크에 쓰지 않습니다. 보낸 프롬프트와 응답은 별도로 30일간 기록되고 그 후 삭제됩니다. 전체 데이터 처리 규칙은 개인정보처리방침에 있습니다.
Forgemoji 편집팀·엔지니어링 및 파이프라인
검토일: 2026년 5월 2일
작성 방법: 이 페이지는 2026년 5월 기준 v2 파이프라인을 설명합니다. 이전 파이프라인 버전(Qwen-Image-2510 + rembg-1.4)은 가는 가장자리에서 다르게 동작했으며 더 이상 운영되지 않습니다. 이 페이지는 고정된 일정에 따라 업데이트되는 것이 아니라 파이프라인이 변경될 때 업데이트됩니다.
출처: 내부 파이프라인 문서 및 변경 로그.