MAGE TOWER · COST REPORT

외형 걷기는 두 번째 유료 생성 단계다

정지 외형은 asset당 PixelLab state 1회입니다. 실제 걷기를 추가하면 4방향 animation이 더 필요해 공식 예상가는 $0.095에서 $0.2242로 증가합니다.

기준일 2026-07-25 환율 1 USD = 1,459.12원 공식 가격과 현재 구현 기준
정지 외형 1개 약 139원 $0.095 · 최근 실측 20 generations
Template 걷기 추가 약 189원 $0.1292 · 4방향 job
걷기 포함 합계 약 327원 $0.2242 · 예상 24 generations
장기 권장 판매가 70~75P 40P는 quota 활용 베타 가격

결론

비용의 중심은 PixelLab입니다. 현재 외형 PNG는 파일당 0.6~1.1KB라 Supabase Storage 비용은 사실상 무시할 수 있고, 5분마다 도는 Vercel 복구 Cron도 invocation 항목만 보면 월 10원 미만입니다.

가격은 베타와 장기 운영을 분리합니다

현재 구독 quota를 활용하는 공개 베타는 Template 걷기 포함 40P 또는 기존 외형에 +10P가 가능합니다. 종량제 원가와 실패 비용까지 버티려면 장기 가격은 70~75P가 안전합니다.

hair와 outfit도 작은 파츠만 생성하지 않습니다. 전체 캐릭터 state를 다시 만든 뒤 기준 캐릭터와의 픽셀 차이를 추출하므로 공급자 원가는 full과 같습니다.

호출과 저장 흐름

완성 합성 PNG는 저장하지 않습니다. 원본 asset과 파츠 PNG, 조합식만 DB·Storage에 남기고 Host가 브라우저 메모리에서 합성해 iframe에 전달합니다.

01 · HOST 인증·30P 예약 중복 요청과 beta quota를 확인합니다.
02 · PIXELLAB state 생성 job 완료 후 character ZIP을 가져옵니다.
03 · SUPABASE 원본·공식 저장 private PNG와 loadout ID를 보존합니다.
04 · IFRAME 메모리 합성·적용 URL과 token 없이 게임에 전달합니다.

걷기 포함 시 state ZIP 수입 뒤 animate-character를 추가 호출하고, 동·서·남·북 background job 4개와 animation ZIP을 다시 수입합니다.

사용하는 API

Rofanworld Host API

Method 경로 역할 유료 호출
GET /generations 내 생성 목록 없음
POST /generations idempotency, point hold, 생성 접수 PixelLab state 1회
GET /generations/{id} 생성 상태 polling 없음
POST /generations/{id}/sync provider 동기화·ZIP 수입 PixelLab read
GET /assets 내 ready asset 목록 없음
GET /assets/{id}/image 인증된 private PNG 반환 Storage read
GET·PUT /loadout 조합식 조회·저장 없음
POST /runtime-payload 저장 또는 draft 조합 검증 없음
GET /internal/.../recovery stale 생성 최대 5건 복구 필요한 건만 read

PixelLab API

상태 Method·경로 용도 핵심 계약
현재 POST /create-character-state prompt로 캐릭터 state 편집 asset당 유료 생성 1회
현재 GET /background-jobs/{id} 비동기 상태·usage 확인 UI는 1.8초 간격, 최대 200회 polling
현재 GET /characters/{id} character 상태 확인 job 404 복구 보완
현재 GET /characters/{id}/zip 방향 PNG·metadata 수입 응답 character ID와 같은 state만 선택
걷기 POST /animate-character walking animation 생성 Template·4방향을 명시

directions를 생략하면 8방향이 생성될 수 있습니다. 별무리 탑은 ["south","west","east","north"]만 명시해 불필요한 비용을 막아야 합니다.

PixelLab 가격 분석

32×32 animation 전용 가격 행이 없어 공식 공개 가격의 최저 64×64 tier로 계산했습니다. PixelLab은 실제 GPU 처리시간에 따라 가격이 달라질 수 있다고 안내합니다.

작업 공식 단가 4방향 합계 원화
Character state, 최대 84×84 $0.095/job $0.0950 약 139원
Template animation 64×64 $0.0323/direction $0.1292 약 189원
state + Template 걷기 합산 $0.2242 약 327원
state + v3 4-frame $0.0129/direction $0.1466 약 214원
state + Pro $0.095/direction $0.4750 약 693원

현재 구독 잔량

조사 시점 Pixel Apprentice 구독은 2,000 generations 중 1,037이 남아 있고 pay-as-you-go credit은 $0입니다.

구성 1회 quota 남은 quota로 가능한 수
정지 asset 1개 20 51개
Template 걷기 asset 1개 24 예상 43개
정지 full+hair+outfit 60 17세트
Template full+hair+outfit 72 예상 14세트

Template은 방향당 1 generation 계약입니다. v3의 구독 quota 차감량은 문서에 명확하지 않아 실제 Preview 1건 확인 전에는 가정하지 않습니다.

Supabase·Vercel 비용

Supabase

원본 PNG는 private world-player-visuals bucket에, asset·generation·loadout은 Postgres에 저장합니다. 조합된 완성 PNG는 저장하지 않습니다.

항목 Free Pro
기본료 $0 $25/월
Database 0.5GB 8GB 포함
Storage 1GB 100GB 포함
General egress 5GB 250GB 포함

ready full 두 개는 705B와 1,131B였습니다. 평균 크기로 1,000개를 저장해도 약 0.9MB라 현재 beta에서 Storage 원가는 미미합니다.

Vercel

Host API와 5분 recovery Cron을 실행합니다. 30일 8,640 invocation을 백만 회당 $0.60으로 계산하면 $0.005184, 약 8원/월 수준입니다. CPU·memory·transfer는 별도지만 현재 규모에서는 PixelLab 한 건보다 작습니다.

포인트 가격 판단

포인트 정가는 1P=10원이고 패키지 보너스를 포함한 실매출은 약 9.5~10원/P입니다.

현재 30P

정지 외형. 예상 매출 285~300원, 공식 공급자 원가 약 139원.

장기 운영 70~75P

Template 종량제에서도 현재 30P와 비슷한 공급자 원가율을 유지합니다.

Template의 원가 손익분기는 실패 미반영 33~35P, 전달 성공률 90% 가정 시 37~39P입니다. 40P에는 운영비·결제수수료·환율 여유가 거의 없습니다.

실패·환불은 두 단계로 나눈다

state가 성공해 공급자 비용이 발생한 뒤 animation만 실패할 수 있습니다. generation 전체를 실패 처리하면 쓸 수 있는 정지 asset까지 버리고 비용도 회수하지 못합니다.

  1. Base stage 30P: state 수입 성공 시 정지 asset을 ready로 만들고 settle
  2. Animation stage +10P: 4방향 수입 성공 시 animated revision을 ready로 만들고 settle
  3. Animation 실패: 정지 asset은 유지하고 animation add-on만 release

이를 위해 state와 animation attempt를 별도로 기록해야 합니다. 현재 provider_attempted_at 한 칸으로 두 유료 시도를 함께 세면 안 됩니다.

실제 1건으로 확인할 것

  • 생성된 state character ID가 animate-character에 바로 들어가는가
  • Template 4방향이 정확히 4 generations를 차감하는가
  • v3 4-frame의 실제 구독 quota 차감량은 얼마인가
  • 네 job usage와 ZIP의 frame 경로·순서·anchor는 무엇인가
  • 기존 64×64 atlas에 넣을 두 frame으로 기본 캐릭터와 비슷한 걷기 모션이 나오는가
  • hair·outfit의 frame별 diff가 깜빡이지 않는가

권장 순서

Preview의 ready full 1개에 Template walking-4-frames를 네 방향으로 한 번 호출해 usage와 ZIP을 기록합니다. full이 안정된 뒤에만 hair·outfit frame별 diff 실험으로 넘어갑니다.

공식 근거 링크