스크롤 ↓
새로운 AI 1인 기업 경영서 · CHAPTER 02 — 좁은 니치 × AI 이미지
🔬 AI 1인 기업 해부 · EP.02 — 대니 포스트마

대니 포스트마 —
셀카 한 장을 월 4억으로 바꾸는 법

30시간 만에 제작 · 2주 만에 $100,000 · 지금 월 ~$300,000(4억) · 누적 1,790만 장 — 거의 혼자
월 ~4억HeadshotPro (~$300,000 MRR)
30시간v1 제작 시간
1,790만누적 생성 장수
85%+마진
서문 · 이 장에서 배우는 것

좁은 니치 —
왜 '하나만'이 전략인가

천재의 이야기가 아니다. 수요·유통·원가를 설계한 사람의 이야기다. 이 장이 답하는 세 가지 질문 —

질문 1

모델은 오픈소스인데
어떻게 월 4억을 지키는가?

제품은 주말이면 복제된다. 진짜 해자는 기술이 아니라 SEO(검색 선점) — 광고비 0원으로 자는 동안 유입된다.

질문 2

왜 '헤드샷' 하나만
팠는가?

링크드인·이력서·소개팅 — 수요가 영원하고 지불 의사가 명확한 좁은 니치. 넓게 말고 하나를 선점했다.

질문 3

원가는
어떻게 설계하는가?

이미지 1장 원가는 수십 원, 판매가는 수만 원. 오늘 우리가 같은 서비스(ProShot)를 직접 만들며 마진 85%+를 검증한다.

① 누구인가

발리에서 노트북 하나로.
좁은 니치 하나를 판다

네덜란드 출신 1인 개발자. 먼저 AI 카피툴 Headlime을 만들어 8개월 만에 Jasper에 매각(~$1,000,000)했고, 2023년 3월 HeadshotPro를 약 30시간 만에 만들어 2주 만에 $100,000를 벌었다. 지금은 월 ~$300,000(4억), 누적 1,790만 장 — 거의 혼자 굴린다.

📂 1차 출처 · 직접 보기

홈페이지에 실시간 카운터가 돈다

허풍이 아니라 홈페이지에 실시간 숫자가 박혀 있다 — 지금까지 만든 헤드샷과 고객 수. 이게 유일한 '확정' 수치다.

headshotpro.com
17,943,292+ 헤드샷 생성196,987 고객Trustpilot 4.7★ (3,503)
🔗 headshotpro.com 직접 열기
📊 숫자로 보는 HeadshotPro

30시간에 만들어
2주 만에 $100,000

완벽한 구조가 아니라 빠른 출시 + 좁은 니치 선점. 그 뒤로 계속 굴러가며 지금의 수익이 됐다.

~30hv1 제작 시간
$100,000출시 2주 매출
$300,000월 매출 (MRR)
$1,000,000前작 Headlime 매각(8개월)

그는 처음부터 가격을 정해놓고 만들었다 — $29/$39/$59 팩. 만들기 전에 이미 정산이 끝나 있었다.

📊 데이터 · 원가 vs 판매가

원가 수십 원수만 원에 판다

이 사업의 본질은 하나다 — 생성 원가는 장당 몇 센트인데, 사람들은 사진작가 20만 원 대신 기꺼이 수만 원을 낸다. 그 격차가 곧 마진이다.

HeadshotPro $39 팩(50장) 기준 · 생성 원가는 장당 1~4센트(fal/Gemini) · 마진 85%+

② 성공 공식
SEO

진짜 해자는 검색 선점

"professional headshots [도시명]" 200+ 페이지를 프로그래매틱으로 깔아 검색 의도를 통째로 잡았다. 광고비 0원·영업 0명 — 자는 동안 유입된다. 모델은 오픈소스라 복제돼도, 이 유통은 안 뺏긴다.

→ Programmatic SEO
② 성공 공식
1

넓게 말고 니치 하나

사진 앱 전체가 아니라 '프로 헤드샷' 딱 하나. 수요가 영원하고(링크드인·이력서·소개팅) 지불의사가 명확한 좁은 시장을 선점했다. 좁을수록 검색도, 브랜드도 이긴다.

→ Narrow Niche
② 성공 공식
🔘

기술의 재포장 (래핑)

OpenAI·Midjourney 같은 복잡한 API를, 대중이 가장 쓰기 쉬운 UI로 재구성한다. 사람들은 프롬프트보다 버튼 하나로 끝나는 서비스를 원한다.

→ Wrapper Service
💡 핵심 가치

"거창한 기술을 개발하려 하지 말고,
사람들이 겪는 진짜 불편함을
가장 빠르게 해결
해 주고 돈을 받으라."

③ 대표 서비스 · 직접 보기
headshotpro.com
HeadshotPro 스크린샷
📸 대표 서비스 · 오늘 우리가 만들 것의 원본

HeadshotPro

셀카 몇 장을 올리면 AI가 정장·조명·배경이 완벽한 프로 헤드샷을 만든다. "사진작가보다 8배 싸다"(작가 평균 $232 vs $39).

1,790만+ 장 생성링크드인·이력서·팀페이지$29 / $39 / $59 팩
🔗 headshotpro.com 직접 보기
③ 대표 서비스 · 직접 보기
photoai.com
Photo AI 스크린샷
📸 같은 카테고리 · 시장 검증

Photo AI (피터 레벨스)

EP.1의 레벨스도 같은 '셀카 → AI 사진'으로 월 $130,000를 번다. 이 카테고리가 1인 기업의 검증된 금맥이라는 증거 — 우리도 이 길로 간다.

$130,000마진 87%3,000만+ 장
🔗 photoai.com 직접 보기
③ 대표 서비스 · 직접 보기
aragon.ai
Aragon AI 스크린샷
⚔️ 경쟁사 · 자본이 뛰어든 시장

Aragon AI

같은 AI 헤드샷인데 Sequoia 투자·$10,000,000 ARR·40M+ 장. 시장이 그만큼 크다는 뜻. 솔로는 품질 군비경쟁 대신 SEO·좁은 니치로 이긴다 — 이게 대니의 길.

$10,000,000 ARRSequoia 투자팀 11~15명
🔗 aragon.ai 직접 보기
🗺️ 시장 지도 — 경쟁 서비스들

이미 돈이 도는 시장이다

헤드샷 하나로 이만큼 많은 서비스가 산다 = 수요가 크다는 증거. 우리는 그중 좁은 각도로 들어간다. (클릭하면 실제 서비스로)

⚠️ 팩트 체크 · 과장 없이

숫자는 정확하게

월 $300,000 MRR은 "본인 공개" — 감사받은 수치가 아니에요. 확정 가능한 건 홈페이지 카운터(1,790만 장·19.7만 고객·Trustpilot 4.7★)뿐입니다.
일회성 결제라 진짜 MRR 아님 — HeadshotPro는 팩 단위 1회 결제(구독 아님). "매달 반복"이라 단정하면 과장입니다.
제품은 주말이면 복제된다 — 모델이 오픈소스라 클론이 수십 개. 방어력은 기술이 아니라 SEO·브랜드·유통에서 나옵니다.
📊 데이터 · AI 헤드샷 시장

돈이 도는 시장 — 누가 얼마

헤드샷 하나로 여러 회사가 공존한다. 솔로(대니·레벨스)도, VC 투자사(Aragon)도 — 시장이 크고 마진이 높다는 증거.

Aragon $10,000,000 ARR(getLatka) · HeadshotPro/Photo AI 본인공개 연환산 · 환율 ₩1,370/$

📊 왜 됐나

헤드샷이 완벽한 니치인가

아무거나가 아니다. 수요·지불의사·전달방식이 전부 1인 기업에 유리한 니치를 정확히 골랐다.

💼영원한 수요
링크드인·이력서·소개팅
💳명확한 지불의사
작가 20만 vs $39
비동기·CS 0
올리고→기다리고→받고
🛠 실전 ① · 오늘 만들 것

배웠으면 — 직접 만든다

오늘 우리는 대니의 HeadshotPro 미니 버전 "ProShot"을 안티그래비티로 직접 만들어 배포한다. 셀카를 올리면 AI가 프로 헤드샷으로 바꿔주는 서비스 — 원본의 실제 숫자부터 보자.

$29~59HeadshotPro 판매가 (30~70장)
~50원우리 생성 원가 (장당)
85%+마진
$232실물 작가 평균가 (우리의 8배)

출처: HeadshotPro 공개 카운터·가격 — headshotpro.com/pricing · 생성 원가는 fal/Gemini 공식 단가(장당 1~4센트)

🛠 실전 ② · 우리가 만들 것의 스펙

미니 버전 "ProShot"

핵심 기능만 담은 미니 버전. 그래도 업로드부터 결과까지 실제로 작동하고, 실제로 배포한다.

🔄

핵심 흐름

셀카 업로드 → 스타일 선택(코퍼레이트·링크드인·크리에이티브 등) → AI가 프로 헤드샷 생성 → 결과 확인 + PNG 다운로드

🛡️

원가 안전장치

데모는 1인 2회 무료 제한(내 API 비용 통제). 그 이상은 자기 API 키를 넣는 BYOK 모드 — "AI 요금은 고객이 낸다" 구조 그대로.

⚙️

기술 구성

안티그래비티로 개발 · Next.js + Tailwind · 얼굴 유지는 fal.ai flux-pulid(얼굴 지문 인코더) · Vercel 배포. DB·로그인 없음 — 오늘 안에 끝나는 범위.

🛠 실전 ③ · 준비물 — API 키와 원가

이미지 엔진 가격표부터 확인

경영자는 만들기 전에 원가부터 본다. 헤드샷은 "내 얼굴 그대로"가 생명 — 그래서 얼굴 지문 인코더가 있는 fal.ai flux-pulid를 쓴다. 1장에 약 52원.

모델신원 유지1장 단가원화 (₩1,560/$)
fal · flux-pulid ✅ 오늘 사용강함 · id_weight 조절$0.033약 52원
Gemini 2.5 Flash Image (나노바나나)부드러움 — 리스타일 강점$0.039약 61원 — 키 있으면 대안
Replicate · instant-id (SDXL)강함 · 노브 많음$0.02~0.05약 31~78원 — 세팅 복잡

오늘은 fal-ai/flux-pulid — 셀카 1장·학습 0·수 초, 게다가 id_weight 다이얼로 "내 얼굴 유지"를 1(강하게)~0.7(스타일 자유)로 조절. 얼굴이 흐려지면 여기를 올린다. fal은 MP(메가픽셀) 단위 과금 · 헤드샷 1장 ≈ 1MP ≈ $0.033. (출시 전 fal.ai/pricing에서 실시간 단가 재확인)

키 발급 (1분) fal.ai → Dashboard → Keys 접속 → ② 로그인 → ③ "Create key" 클릭 → ④ 복사해서 프로젝트의 .env.local에 FAL_KEY= 로 저장 (코드에 직접 붙여넣기·커밋 금지)
🏛️ 경영 한 수 · 고정비 vs 변동비

잠깐 — 레벨스는 왜 16원인가?

"API 쓰면 너무 비싼 거 아니야?" 좋은 질문이다. 레벨스는 API를 안 쓴다 — 오픈소스 모델을 GPU 서버를 빌려 직접 돌린다. 이건 우열이 아니라 비용 구조의 차이다.

방식비용 구조장당 원가누구에게 유리
API (우리) ✅ 오늘변동비 — 쓴 만큼만 지불52원 고정시작하는 사람 — 안 팔리면 0원
자체 GPU (레벨스)고정비 — 월 $200 정액21,000장 → ~16원규모가 커진 사람
손익분기점GPU 월 $200 ÷ API 단가 $0.033 = 약 6,000장
월 6,000장 미만API 승 — 예: 월 500장이면 API 2.6만 원 vs GPU 31만 원
월 6,000장 초과자체 GPU 승 — 레벨스는 21,000장이라 당연히 직접 운영

📌 정답은 하나가 아니라 규모에 따라 바뀐다. 시작은 API(리스크 0), 월 5천 장을 넘기면 그때 레벨스처럼 갈아탄다 — 이것이 고정비 vs 변동비, 경영학 교과서가 실전에서 작동하는 순간이다.

🧪 체험 · 레벨스 구조, 미리 서버에 올려뒀다

아직 여러분 단계는 아니지만 —
경험은 지금 해봐야 한다

GPU 서버 계약은 매출 검증 후의 일. 하지만 어떤 느낌인지는 알아야 하니까 — 제가 무료 오픈소스 모델 Krea-2-Turbo(생성)FLUX.2-klein(편집)을 서버에 올려서 웹에서 바로 쓰게 만들어뒀습니다. 이게 바로 레벨스 구조의 미니어처입니다.

huggingface.co/spaces/WonseokJayJung/connect-ai-lab
🖼️ 이미지 생성 · 편집 데모 — 버튼을 누르면 이 자리에서 바로 실행됩니다
↗ 새 탭에서 크게 열기

Connect AI LAB · 접속자가 몰리면 대기열이 생길 수 있어요 — 그것도 "서버 용량 = 돈"이라는 수업의 일부입니다 😉

🚀 우리가 만든 것 · 대니의 HeadshotPro 그대로

이론이 아니라 — 진짜 만들어서 서버에 올렸습니다

대니가 팔던 AI 프로필·헤드샷 서비스를 최신 오픈모델 Qwen-Image-Edit(Apache·상업 OK)그대로 구현했습니다. 셀카 올리고 스타일 누르면 프로필 완성 — 얼굴은 그대로. 여러분은 0원(제 GPU에서 돌아가니까). 이게 "원가를 0으로 만든" 실체입니다.

wonseokjayjung-ai-profile.hf.space
📸 셀카 → 프로필 사진 — 버튼을 누르면 이 자리에서 바로 실행됩니다
↗ 새 탭에서 크게 열기

Qwen-Image-Edit(오픈·Apache) · 내 GPU에서 실행 = 학생 0원 · ⚠️ 프로필·이력서용(여권·관공서 제출 불가)

🎯 미션 · 테스트하고, 상상하라

써보고 — 사업으로 바꿔보세요

1
생성 테스트 — 여러분 업(業)과 관련된 이미지를 3장 만들어보세요. (상품 목업, 카페 메뉴판, 프로필, 인테리어…)
2
편집 테스트 — 갖고 있는 사진을 올려 바꿔보세요. "배경을 제주 바다로", "이 방을 북유럽 스타일로".
3
상상 미션 (댓글로 공유) — 이걸 AI 1인 기업으로 바꾼다면 나는 [누구]에게 [무엇]을 팔겠다 — 한 줄로. 그리고 매출 대비 이익을 최대화하려면 어느 비용을 줄일지도.

레벨스의 Interior AI도, 대니의 HeadshotPro도 — 전부 방금 그 화면과 같은 기술에 "누구에게 무엇을"만 얹은 겁니다. 좋은 연습이 될 겁니다.

📶 시스템 · 원가를 낮추는 성장 사다리

빠르게 시작하고,
팔리면 원가를 낮춘다

처음부터 서버에 돈 쓰지 않습니다. 단계마다 장당 원가를 낮추는 사다리 — 이 순서가 오늘의 핵심 시스템입니다.

1단계 · 오늘fal.ai flux-pulid API — 시작 ₩0, 장당 52원. 돈 안 들이고 오늘 출시
2단계 · 팔리기 시작하면더 저렴한 종량 API로 최적화 — FLUX/SDXL 계열 장당 ~31원, 서버 관리 0. "로컬 AI 가격을 서버 없이"
3단계 · 월 6,000장 넘으면GPU 서버 직접 운영 (레벨스 구조) — 월 ~31만 원 고정, 장당 ~16원, 마진 99% 구간

각 단계의 공통점 — 고객이 먼저, 인프라는 나중. 매출이 다음 단계의 서버비를 벌어다 줄 때만 사다리를 오릅니다.

🛠 실습 · 6단계로 직접 만든다

안티그래비티에 붙여넣기만 하면 된다

이미지 엔진은 fal.ai의 flux-pulid를 쓴다 — 셀카 1장, 학습 0, 얼굴 지문 인코더 + id_weight 다이얼로 "내 얼굴 유지"를 조절할 수 있어 헤드샷에 가장 강하다. 각 단계 프롬프트를 복사 → 안티그래비티 → 붙여넣기 → 확인.

STEP 1 · 뼈대 + 히어로
Create a new Next.js 14 App Router project in TypeScript named "proshot", using Tailwind CSS. Build a single landing page (app/page.tsx) for a product called ProShot: "셀카 한 장으로 AI 프로필 사진". Include a centered hero with a Korean headline, one-line subheadline, and a primary CTA button "내 헤드샷 만들기". Clean modern light theme, lots of whitespace, rounded-2xl cards, subtle gradient background. Tailwind only, responsive and mobile-first. Add a footer "ProShot — AI CITY BUILDERS".

✅ 확인: npm run dev → localhost:3000에 한국어 히어로+버튼이 에러 없이 뜬다

STEP 2 · 셀카 업로드 + 스타일 선택
Add a client component "UploadCard" (app/components/UploadCard.tsx, "use client"). Let the user pick ONE selfie via an image file input, show a live preview thumbnail, and read it into a base64 data URL in state. Below the preview add a style picker: three selectable cards with values "corporate","studio","outdoor" and Korean labels "비즈니스 정장","스튜디오","야외 자연광" (default corporate). Add a primary button "헤드샷 생성" that is enabled only when a valid selfie is chosen. Validate file size under 8MB and image type, with Korean error text. Do not call any API yet.

✅ 확인: 셀카 올리면 미리보기, 스타일 클릭 시 하이라이트, 유효한 사진 선택 후에만 버튼 활성화

🛠 실습 · Step 3·4 (핵심)

서버가 키를 숨기고 AI를 부른다

STEP 3 · 서버 함수 /api/generate
Create a serverless route at app/api/generate/route.ts (App Router). Set export const runtime = "nodejs"; export const maxDuration = 60. Install and use "@fal-ai/client", configured with fal.config({ credentials: process.env.FAL_KEY }) — the key MUST stay server-side only, never sent to the browser. POST accepts JSON { imageBase64, style }. Strip the data-URL prefix, convert base64 to a Buffer, wrap in a Blob (image/jpeg), upload via fal.storage.upload() to get a reference URL. Map style to an English prompt (corporate/studio/outdoor professional headshot). Call fal.subscribe("fal-ai/flux-pulid", { input: { prompt, reference_image_url, image_size: "portrait_4_3", num_inference_steps: 20, guidance_scale: 4, id_weight: 1, negative_prompt: "blurry, low quality, distorted face, watermark, text" } }). Return { imageUrl: result.data.images[0].url }. Wrap in try/catch; ALL error messages to the client must be in Korean; never leak the key or raw errors. Then wire the "헤드샷 생성" button to POST here and show a loading spinner "AI가 사진을 만드는 중...".

✅ 확인: .env.local에 FAL_KEY 넣고 생성 → 10~20초 뒤 헤드샷이 뜬다. 브라우저 Network 탭에 키가 안 나간다

STEP 4 · 무료 2회 제한 + BYOK(자기 키)
Add a free demo limit: 2 free generations per browser using a localStorage counter "proshot_uses". When hit, show a Korean modal "무료 체험 2회를 모두 사용했어요" with two options. Option A (BYOK): a text input for the user's own fal.ai API key saved to localStorage "proshot_byok"; when present, send it to /api/generate in header "x-fal-key" and in the route use that key via fal.config instead of process.env.FAL_KEY; BYOK usage does NOT count against the demo limit; never log or store it server-side; show a Korean note that the key is used only for their own requests. Option B: a disabled "정식 버전 준비 중" button as a placeholder for future paid checkout.

✅ 확인: 2번 생성 후 3번째에 한국어 제한 모달. BYOK 키 넣으면 카운터 안 올라가고 계속 생성

🛠 실습 · Step 5·6

결과 화면 다듬고 배포

STEP 5 · Before/After + PNG 다운로드 + 폴리싱
Replace the single result with a before/after view: original selfie on the left, generated headshot on the right, each in a rounded-2xl card with Korean labels "원본" and "AI 헤드샷". Add a "PNG 다운로드" button that fetches the generated image and downloads it as "proshot-headshot.png". Add "다시 생성" and "스타일 바꾸기" buttons. Polish the page: consistent spacing, subtle shadows, a loading skeleton during generation, graceful Korean error toasts, fully responsive on mobile.

✅ 확인: 원본·헤드샷이 나란히, 다운로드 버튼이 실제 PNG 저장, 모바일 폭에서도 안 깨짐

STEP 6 · Vercel 배포
Prepare this project for Vercel deployment. Add a Korean README with deploy steps. Confirm /api/generate uses the Node.js runtime (not edge) because it uses @fal-ai/client and Buffer. List the required env var FAL_KEY and remind it must be added in Vercel Project Settings > Environment Variables (never committed). Add a .env.example with FAL_KEY= (empty), ensure .env.local is gitignored. Give me the exact terminal commands and Vercel dashboard steps to deploy.

✅ 확인: GitHub push → Vercel import → FAL_KEY 등록 → *.vercel.app에서 헤드샷 생성까지 된다

🛠 실전 코드 · 검증된 서버 함수 (그대로 복붙)

이게 진짜 작동하는 /api/generate

2026년 기준 실제 검증된 코드. STEP 3에서 안티그래비티가 못 만들면 이 파일을 그대로 붙여넣으면 된다.

app/api/generate/route.ts
import { fal } from "@fal-ai/client"; import { NextResponse } from "next/server"; export const runtime = "nodejs"; // 필수: Buffer + @fal-ai/client 사용 export const maxDuration = 60; const STYLE_PROMPTS = { corporate: "professional corporate headshot, dark business suit, plain neutral studio background, soft key lighting, sharp focus, LinkedIn profile photo", studio: "professional studio headshot, soft rim lighting, dark grey gradient background, editorial magazine style, high detail", outdoor: "professional outdoor headshot, softly blurred office background, natural daylight, warm tone, high detail", }; export async function POST(req) { try { const { imageBase64, style } = await req.json(); if (!imageBase64) return NextResponse.json({ error: "셀피 이미지가 없습니다." }, { status: 400 }); // BYOK: 사용자 키가 있으면 그걸, 없으면 서버 데모 키 const userKey = req.headers.get("x-fal-key"); fal.config({ credentials: userKey || process.env.FAL_KEY }); const raw = imageBase64.replace(/^data:image\/\w+;base64,/, ""); const blob = new Blob([Buffer.from(raw, "base64")], { type: "image/jpeg" }); const referenceUrl = await fal.storage.upload(blob); const prompt = STYLE_PROMPTS[style] || STYLE_PROMPTS.corporate; const result = await fal.subscribe("fal-ai/flux-pulid", { input: { prompt, reference_image_url: referenceUrl, image_size: "portrait_4_3", num_inference_steps: 20, guidance_scale: 4, id_weight: 1, // 1=얼굴 강하게 유지, 0.7로 낮추면 스타일 자유↑ negative_prompt: "blurry, low quality, distorted face, watermark, text", }, }); const imageUrl = result.data?.images?.[0]?.url; if (!imageUrl) return NextResponse.json({ error: "이미지 생성에 실패했습니다. 다시 시도해 주세요." }, { status: 502 }); return NextResponse.json({ imageUrl }); } catch (err) { console.error(err); // 서버 로그만 — 클라이언트로 절대 노출 금지 return NextResponse.json({ error: "서버 오류가 발생했습니다. 잠시 후 다시 시도해 주세요." }, { status: 500 }); } }

설치: npm i @fal-ai/client · 키: .env.localFAL_KEY= (fal.ai → Dashboard → Keys) · 절대 커밋 금지

🛠 막히고 다듬고 배포 · 프롬프트 3개

여기서 더 나아가기

🎨 ① 디자인 폴리싱 (신뢰감 UP)
Do a design pass on ProShot for a premium, trustworthy feel: refine typography scale and spacing, add a soft hero gradient, a testimonial section with 3 Korean quotes, an FAQ accordion (Korean), smooth hover/press states, and a subtle fade-in on the result cards. Keep it fast, accessible (focus states, alt text), fully responsive, light theme, no external UI libs.
🚀 ② 배포 (Vercel 단계별)
Walk me through deploying ProShot to Vercel from scratch in Korean: init a git repo, push to a new GitHub repo, import on vercel.com, set the FAL_KEY environment variable in Project Settings, and redeploy. Confirm /api/generate runs on the Node.js runtime in production. Give exact commands and dashboard clicks.
🔧 ③ 트러블슈팅 (막혔을 때)
My ProShot /api/generate returns an error. Help me debug: check FAL_KEY is set in Vercel, the route uses runtime "nodejs" (not edge), the selfie base64 is stripped of its data-URL prefix before Buffer conversion, maxDuration is high enough, and fal.storage.upload receives a Blob. Add temporary server-side console.error logging (never exposed to the client) and tell me what to look for in the Vercel function logs. Diagnose the root cause in one Korean paragraph first, then fix it.
🛠 실전 ⑥ · 정산 — 이 서비스, 팔면 얼마 남나

만들기 전에 이미 답이 나와 있다

헤드샷 20장 패키지를 ₩19,000에 판다고 가정하면 —

판매가₩19,000 (헤드샷 20장 팩)
AI 원가~50원 × 20장 = 1,000원
결제 수수료 (3.3%)약 627원
= 남는 돈약 17,370원 — 마진 ~91%

대니는 $39 팩(50장)을 원가 $2에 판다 — 마진 85%+. 우리도 API로 시작해도 90%+ — 소프트웨어의 경제학은 처음부터 우리 편이다. (남은 문제는 단 하나 — 팔리게 만드는 것. 그게 마케팅이다)

✅ 이어서 · 타겟·결제

어디서 팔고, 어떻게 받을까

타겟 국가를 먼저 정하면 결제사가 자동으로 정해져요.

🇰🇷 한국만토스페이먼츠
🌍 해외만PayPal
🇰🇷 + 🌍 국내+해외Stripe (스트라이프)

사업 형태: 처음엔 개인 / 개인사업자로 가볍게 시작 → 매출이 커지면 법인으로. 시작부터 법인 안 만들어도 돼요.

✅ 이어서 · 가격·이익 개념

1건 팔면 얼마 남나?

쓸 API의 원가를 계산하고 마진을 붙여 판매가를 정하는 '경영 연습'. 이걸 유닛 이코노믹스(Unit Economics)라고 해요.

매출 (Revenue)판매가 × 판매 건수 = 들어온 돈 전체
원가 (COGS)API·서버 등 1건당 직접 비용
= 매출총이익 (Gross Profit)매출 − 원가
− 운영비·결제수수료·세금결제수수료 약 3% + 고정비 등
= 순이익 (Net Income)진짜 내 손에 남는 돈

⚠️ 판매가 > 원가여야 해요. 원가가 더 크면 팔수록 손해. (1강 Cydoc의 교훈)

📖 대니에게 배우는 경영 원칙

AI 1인 기업 5원칙

1. 좁은 니치 하나. 사진 앱 전체가 아니라 '프로 헤드샷' 하나. 수요가 영원하고 지불의사가 명확한 곳을 선점하라 — 좁을수록 이긴다.
2. 유통이 해자다. 모델은 오픈소스라 복제되지만 SEO는 안 뺏긴다. 프로그래매틱 SEO로 자는 동안 유입시켜라.
3. 만들기 전에 정산하라. $29/$39/$59 가격을 먼저 정하고 만들었다. 원가 몇 센트 vs 판매가 수만 원 — 마진이 처음부터 설계돼 있어야 한다.
4. 비동기·CS 0. 올리고→기다리고→받고. 전화도 예약도 없다. 환불 보장이 지원 조직을 대체한다.
5. 래핑 + 빠른 출시. 어려운 AI는 API에 외주, 나는 UX·니치·유통만 소유. v1을 30시간에 만들어 2주 만에 검증했다.
🎓 논문으로 쌓는 AI 기초 · ① 원리

셀카가 헤드샷이 되는 3단계 원리

수식은 없다. 비유로 이해하면 된다. 이 3개를 알면 다음에 만들 수십 개 AI 제품의 공통 부품을 이해한 것이다.

🌫️

디퓨전 — 안개 닦이

깨끗한 그림을 노이즈로 뭉갠 뒤 "거꾸로 닦으면 뭐가 나올까"를 수억 장 연습한 기계. 안개(노이즈)에 "프로 헤드샷"이라 말하면 없던 사진을 닦아낸다.
DDPM(Ho 2020) · Stable Diffusion(Rombach 2022)

🗺️

잠재공간 — 의미의 지도

사진을 픽셀 덩어리가 아니라 "뜻이 압축된 좌표"로 담는다. 실제 서울은 크지만 지도 위에선 손바닥만 하듯 — 이 압축 덕에 몇 초·몇 원으로 떨어졌다.
Latent Diffusion(2022)

🔑

임베딩 — 얼굴 지문

얼굴을 고유한 숫자 목록(벡터)으로 바꾼다. AI는 사진을 '보는' 게 아니라 이 지문을 '비교'한다. 현대 AI(검색·추천·챗봇 기억)의 등뼈.
ArcFace(Deng 2019)

🎓 논문으로 쌓는 AI 기초 · ② 핵심 개념

가르치기 vs 보여주기

"AI에게 내 얼굴을 어떻게 인식시키나?" 두 방식이 있고, 이 차이가 원가·속도·사업 구조를 통째로 바꾼다.

① 학습형 (옛 방식) — "며칠 특훈" 화가에게 내 사진 5장을 주고 붙잡아 "이 얼굴 외워" 시키기. 잘 닮지만 1인당 훈련시간·GPU 비용이 든다 → "20분 기다리세요, 얼마입니다" 배치 상품. DreamBooth(Google 2022) · LoRA(Microsoft 2021 · 전용 메모지만 붙였다 떼기).
② 제로샷 (새 방식·우리) — "커닝 페이퍼" 몽타주 화가에게 얼굴 사진 한 장(지문)만 책상에 놓아주면 즉석에서 닮게 그린다. 훈련 0회·수 초·셀카 1장. IP-Adapter(Tencent 2023) · InstantID(2024 · 2401.07519) · PhotoMaker(CVPR 2024).
훈련 단계가 사라지니 → 혼자서 수천 명을 자동 응대 = 진짜 잠자는 동안 도는 1인 기업
🎓 논문으로 쌓는 AI 기초 · ③ 새 경제 구조

이 책에서 가장 중요한 한 문장

높은 고정비(모델 학습)는 남이 이미 냈고, 나는 낮은 변동비(호출당 몇 원)만 낸다. 의대는 수천억으로 짓지만(학습), 나는 진료비만 낸다(추론). 세계 최고 AI 두뇌를 통화 요금제처럼 임대하는 시대다.

옛 세계 (2015)새 세계 (2026)
고정비(모델)내가 부담 — 연구실·수십억남이 부담 — API로 임대
변동비(1장)여전히 비쌈몇 원 (거의 0)
필요 인원팀·투자자혼자
이기는 지점기술 독점니치·브랜드·유통
마진불확실85~99%

사다리: 2020 DDPM → 2022 Stable Diffusion·DreamBooth → 2023 LoRA·IP-Adapter → 2024 InstantID·PhotoMaker·FLUX → 2025 InfiniteYou · 비싸고 느림 → 싸고 즉석 / 연구실 전유물 → 1인이 소유

📚 참고문헌 · Sources

이 분석의 출처

1
HeadshotPro — 실시간 카운터(1,790만 장·19.7만 고객)·가격1차·확정
headshotpro.com · /pricing
2
Danny Postma / HeadshotPro 분석 — 30h 제작·2주 $100,000·월 $300,000본인공개
Starter Story · Startup Founder Stories
3
Headlime → Jasper 매각(~$1,000,000, 8개월)보도
indiehackers.com — full story
4
Aragon AI $10,000,000 ARR — 경쟁·시장 규모보도·플랫폼
getlatka.com/companies/aragon.ai
5
AI 연구논문 — Diffusion·DreamBooth·LoRA·InstantID·PhotoMaker·ArcFacearxiv
앞 슬라이드 논문 링크 참조 (전부 arxiv 검증)
6
이미지 API 가격 — Gemini 나노바나나 · fal PuLID · Replicate InstantID가격 근거
ai.google.dev · fal.ai

모든 수치는 공개 자료 기준 · 시점·환율에 따라 변동될 수 있음

EP.02 마무리

핵심은 하나 — 좁은 니치

거창한 기술이 아니라, 좁은 니치 하나를 골라 검색으로 선점하고, 원가 몇 센트를 수만 원에 파는 것. 오늘 우리는 배우기만 하지 않고 — 대니의 HeadshotPro를 ProShot으로 직접 만들어 배포했다. 니치와 유통, 그게 당신의 무기다.

AI 1인 기업 해부 · Connect AI