Persona-Coordi-Scene 모델 설계
기준일: 2026-03-04 (MVP 합의 반영)
이 문서는 Persona/Coordi/Scene 도메인의 MVP 데이터 계약을 정의합니다.
1) 핵심 원칙
- 코디는
coordis+outfits2계층으로 구성한다. outfits.coordiId는 필수다.- 공유 적용은 내 계정 복제 방식만 허용한다.
- Scene 생성의 기준 이미지는 항상
outfit이다(image_1 = outfit). - 착장 생성 기본 배치는 4장이다.
- Scene 진입 전에는 준비 단계에서 현재 사용할
outfit을 먼저 선택한다. - 준비 단계 UI는 미래에
헤어,메이크업등 외형 프리셋 선택으로 확장 가능하지만, MVP 계약은 여전히outfit중심이다.
2) 도메인 엔티티
2.1 coordis (필수)
- 패션 중심 재사용 단위
- 핵심 필드
id,userId,name,descriptionpositivePrompt,negativePromptrefImageS3Path,refImage2S3Pathtags(jsonb),visibility,createdAt
2.2 outfits (필수)
persona + coordi합성 결과 이미지- 핵심 필드
id,personaId,userId,namecoordiId(NOT NULL)s3Path,thumbnailS3PathoutfitPrompt,outfitNegativePromptvisibility,createdAt
MVP에서는 coordi_cards를 사용하지 않는다.
3) 관계
4) 생성 계약
4.1 코디 생성 (PERSONA_COORDI_GEN)
- 목적: 패션 잡지 스타일의 순수 OOTD 코디 생성
- 입력:
text_1,text_2- 참조 이미지(선택, i2i 모드)
- 실행:
- t2i/i2i 통합 기능
- 결과:
- 코디 이미지 + 코디 프롬프트 저장
4.2 착장 생성 (PERSONA_OUTFIT_GEN)
- 목적: 페르소나에 코디를 합성한 착장 생성
- 필수 입력:
personaId,coordiId
- 기본 배치:
batch_size = 4
- 결과:
- 4개 후보 중 선택 저장하여
outfits생성
- 4개 후보 중 선택 저장하여
4.3 Scene 생성 (PERSONA_TO_IMAGE_GEN, PERSONA_TO_VIDEO_GEN)
- 준비 단계:
/personas/[id]/prepare/image|video- 현재는
outfitId선택만 활성
- 필수 입력:
outfitId
- 주입 규칙:
image_1 = outfit.s3Pathimage_2,image_3 = 사용자 참조 이미지(선택)
프롬프트 합성 규칙
resolved_positive = join([coordi.positivePrompt, scene.text_1])resolved_negative = join([coordi.negativePrompt, scene.text_2])- 빈 값은 제외하며, 최종 빈 문자열(
"")은 허용
5) 공유/복제 정책
- 공개 코디는 타 사용자가 조회 가능
- 적용 시 코디는 내 계정으로 복제하여 사용
- 착장은 항상 내 페르소나 기준으로 새로 생성
- 타인 착장 원본을 내 Scene에 직접 주입하지 않음
6) Snapshot / Persistence
6.1 creations.snapshot 필수 키
text_1,text_2personaId,coordiId,outfitIdfeatureKey,workflowGroupId,variantId
비고:
- 준비 단계의 미래 확장 카테고리(
hairStyleId,makeupId등)는 MVP snapshot 필수 키가 아니다. - MVP 동안 Scene 실행 계약은
outfitId기준을 유지한다.
6.2 projection
resolved_prompt,resolved_negative_prompt,ratio,refs
6.3 결과
creation_results.seedcreation_results.resultIndexcreation_results.s3Pathcreation_results.thumbnailS3Path
정렬:
Creation(1):CreationResult(N)creation.createdAt DESC- 내부
resultIndex ASC
7) Feature Key
PERSONA_PROFILE_IMAGE_GENPERSONA_COORDI_GENPERSONA_OUTFIT_GENPERSONA_TO_IMAGE_GENPERSONA_TO_VIDEO_GEN