빠른 시작
5분 안에 첫 번째 Photta 이미지를 생성하세요.
한 줄 요약
ai.photta.app에서 가입하고, API 키 생성을 클릭한 뒤 이를 PHOTTA_API_KEY로 export하세요. /api/v1/tryon/apparel로 POST 요청을 보낸 후 반환된 생성 ID를 상태가 completed로 바뀔 때까지 3초마다 폴링합니다. 일반적으로 1.5~4분 내에 완료됩니다.
- 인증: Bearer 키
- 처리 방식: 비동기, 폴링
- 제한 사항: 600 requests/min
이 페이지의 모든 수치는 다음 출처를 기반으로 합니다: Photta API 문서 · 확인 완료
RESPONSE=$(curl -s -X POST https://api.photta.app/api/v1/tryon/apparel \
-H "Authorization: Bearer $PHOTTA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"product_type": "top",
"product_images": [
"https://cdn.yourstore.com/products/shirt-front.jpg"
],
"product_back_image": "https://cdn.yourstore.com/products/shirt-back.jpg",
"product_category": "t_shirt",
"mannequin_id": "mnk_f3a9b1",
"pose_id": "pose_c2d4e5",
"background": "https://cdn.yourstore.com/backgrounds/studio-loft.jpg",
"lock_background": true,
"resolution": "2K",
"aspect_ratio": "3:4",
"body_size": "M",
"expression": "neutral",
"user_instruction": "Keep the collar pattern crisp and centered."
}')
ID=$(echo "$RESPONSE" | jq -r '.data.id')동작 원리
시작부터 첫 번째 이미지까지 5개의 명령어
터미널에 순서대로 붙여넣으세요. 모든 코드 스니펫은 독립적으로 실행 가능하며 curl + jq만 사용합니다.
단계 1
API 키 생성
ai.photta.app에서 회원가입 후 개발자 대시보드를 엽니다. API 키 생성을 클릭하세요. 라이브 키는 photta_live_로 시작합니다. 나머지 가이드에서 셸을 통해 키를 읽을 수 있도록 export하세요.
# https://ai.photta.app → Developers → Generate API key export PHOTTA_API_KEY="photta_live_xxxxx" export PHOTTA_BASE_URL="https://api.photta.app/api/v1"단계 2
첫 try-on POST 요청 보내기
제품 이미지 URL과 마네킹 ID를 포함하여 /api/v1/tryon/apparel 엔드포인트를 호출합니다. API는 즉시 202 Accepted를 반환하며 data.id에 생성 ID를 함께 제공합니다.
RESPONSE=$(curl -s -X POST https://api.photta.app/api/v1/tryon/apparel \ -H "Authorization: Bearer $PHOTTA_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "product_type": "top", "product_images": [ "https://cdn.yourstore.com/products/shirt-front.jpg" ], "product_back_image": "https://cdn.yourstore.com/products/shirt-back.jpg", "product_category": "t_shirt", "mannequin_id": "mnk_f3a9b1", "pose_id": "pose_c2d4e5", "background": "https://cdn.yourstore.com/backgrounds/studio-loft.jpg", "lock_background": true, "resolution": "2K", "aspect_ratio": "3:4", "body_size": "M", "expression": "neutral", "user_instruction": "Keep the collar pattern crisp and centered." }') ID=$(echo "$RESPONSE" | jq -r '.data.id')단계 3
완료될 때까지 폴링
3초마다 GET /api/v1/tryon/apparel/:id를 호출합니다. 일반적인 완료 시간은 1.5–4분입니다. 작업이 멈춰 스크립트가 무한정 대기하지 않도록 시도 횟수에 상한을 두십시오.
# $ID is data.id from the POST response. Poll every 3 seconds until status is "completed" or "failed". for i in $(seq 1 120); do RESULT=$(curl -s "https://api.photta.app/api/v1/tryon/apparel/$ID" -H "Authorization: Bearer $PHOTTA_API_KEY") STATUS=$(echo "$RESULT" | jq -r '.data.status') [ "$STATUS" = "completed" ] && break [ "$STATUS" = "failed" ] && echo "generation failed" && exit 1 sleep 3 done echo "$RESULT" | jq -r '.data.output_url'단계 4
출력 결과 영구 저장
status가 completed로 바뀌면 data.output_url에 렌더링된 이미지가 담깁니다. 프로덕션 환경이 이미지 렌더링을 Photta CDN에 의존하지 않도록 해당 바이트를 자체 스토리지에 다운로드하십시오.
OUTPUT_URL=$(echo "$RESULT" | jq -r '.data.output_url') curl -sO "$OUTPUT_URL" echo "Saved $(basename "$OUTPUT_URL")"단계 5
실패 모드를 명확히 처리하기
HTTP 상태 코드에 따라 분기합니다. 402는 credits 부족, 429는 rate limit(Retry-After 준수), 5xx는 일시적인 서버 오류입니다. 모든 오류 본문에는 조치 가능한 머신 판독용 error.code가 포함됩니다.
case "$STATUS_CODE" in 402) echo "insufficient_credits_error — top up before retrying" ;; 429) echo "rate_limit_error — wait the Retry-After seconds (30 by default)" ;; 4??) echo "$BODY" | jq '.error.type, .error.message' ;; 5??) echo "api_error — retry with backoff" ;; esac
개발자가 자주 묻는 질문
시작하기 관련 질문
빠른 시작 가이드를 완료하는 데 얼마나 걸리나요?
가입, 키 발급, 첫 cURL 실행까지 5분이면 충분합니다. 생성 작업 자체에 1.5~4분이 소요되므로, 첫 착용 모델 이미지를 확인하기까지 총 10분 정도를 예상하십시오.
사용해 보려면 신용카드가 필요한가요?
신규 계정에는 결제 전 사용할 수 있는 체험용 credits가 제공됩니다. 프로덕션으로 전환할 준비가 되면 플랜을 구독하여 더 높은 월간 credit 잔여량과 빠른 rate limit을 이용하십시오.
어떤 endpoint부터 시작해야 하나요?
의류 try-on(/api/v1/tryon/apparel)입니다. 가장 널리 사용되며 문서화가 가장 잘 되어 있고, 다른 모든 Photta endpoint에서 재사용되는 비동기 + polling 패턴을 그대로 다룹니다. 여기에 익숙해지면 주얼리와 고스트 마네킹도 동일한 방식으로 작동합니다.
브라우저에서 직접 실행할 수 있나요?
아니요. API 키는 서버 측에 보관해야 합니다. 브라우저로 전송하면 모든 방문자에게 유출됩니다. 자체 백엔드(Next.js route handler, Express, Flask, Lambda)의 씬 프록시를 통해 호출을 라우팅하고, 브라우저는 해당 프록시와 통신하도록 하십시오.
관련 페이지
기능
가상 Try-On (의류)
바닥에 펼쳐놓은 의류 컷을 원하는 표정과 체형의 AI 마네킹에 착용시킵니다. 4가지 제품 유형, 5가지 화면비 지원.
읽기기능
주얼리 Try-On
목걸이, 반지, 팔찌, 귀걸이를 주얼리 전용 마네킹에 타이트하게 클로즈업하여 연출합니다 — 반사광과 미세한 표면 디테일까지 완벽히 처리.
읽기기능
고스트 마네킹
의류 사진에서 마네킹을 제거하고 내부 구조는 그대로 유지합니다. 3D 또는 바닥 컷 마감, 배치 처리에 최적화.
읽기기능
아이웨어 스튜디오
클로즈업 모델 위에 안경과 선글라스를 렌더링하며, 원본 제품 사진의 프레임 형태를 정확하게 유지합니다.
읽기기능
디테일 컷
단 한 장의 제품 사진으로 스티칭, 원단, 하드웨어, 라벨의 클로즈업 컷을 생성합니다. 분석 엔진이 촬영할 영역을 자동으로 제안합니다.
읽기기능
마네킹 생성
옵션을 조합해 의류 또는 주얼리용 마네킹을 직접 생성한 뒤, 각 try-on 호출에서 해당 마네킹 ID를 재사용하세요.
읽기기능
워크플로우
주얼리 히어로 컷과 같은 프리셋 워크플로우를 단 한 번의 호출로 실행하여 완성된 이미지 세트를 받아보세요.
읽기기능
배치 고스트 마네킹
한 번의 호출로 의류 사진 전체를 일괄 전송하고 단일 배치 ID를 폴링하세요. 각 이미지는 개별적으로 과금되고 추적됩니다.
읽기API
Photta API
Photta API는 크레딧 기반 REST API입니다. 기능 엔드포인트로 제품 사진을 POST하고, 몇 초마다 statusEndpoint를 폴링한 뒤, 완성된 이미지를 다운로드하세요. 8가지 기능, 단 하나의 키, 단 하나의 크레딧 잔액으로 이용할 수 있습니다.
읽기
이 페이지의 모든 수치는 다음 출처를 기반으로 합니다: Photta API 문서 · 확인 완료