Skip to main content

Shot Prompt Package

기존 문서의 Shot Render Plan 구조는 제거되었다. 파일 ID와 경로는 문서 링크 호환을 위해 유지한다.

1. 목적

승인된 Shot 하나에서 이미지와 영상에 사용할 Prompt를 단순하게 얻는다. 별도 생성 준비 상태, Frame·Motion 승인, 이전 이미지 선택을 요구하지 않는다.

2. 데이터 계약

CinemaShotPromptPackage
├── id
├── projectId
├── shotId (unique)
├── status
├── shotDefinitionVersion
├── framePrompt
├── motionPrompt
├── profileKey / provider / model / modelSnapshot
├── providerResponseId
├── promptVersion
├── errorCode / errorMessage
├── generatedAt
├── createdAt
└── updatedAt

Shot당 현재 Package 하나를 둔다. Prompt 자체의 변경 이력이 필요해지면 별도 불변 revision 테이블을 추가할 수 있지만 현재 MVP에는 도입하지 않는다.

3. 생성 규칙

  1. Shot 계획을 확정한다.
  2. 승인된 Shot, Mapping, Beat와 Character 문맥을 읽는다.
  3. Package를 GENERATING 상태로 만든다.
  4. LLM이 framePromptmotionPrompt를 구조화 응답으로 반환한다.
  5. 현재 Shot의 definitionVersion이 요청 시점의 shotDefinitionVersion과 같으면 READY로 저장한다.
  6. 실패하면 FAILED와 원인을 저장하고 재시도를 허용한다.

4. 독립성

Prompt포함하는 정보요구하지 않는 정보
Frame정적 순간, 피사체, 배치, 카메라, 환경, 조명이전 Frame, 종료 Frame, Motion 결과
Motion행동, 연기, 카메라, 시선, 시간, 대사, 사운드생성된 Frame, 선택 이미지, 이전 Shot 경계

5. 편집과 충돌

  • PATCH 요청은 변경할 framePromptmotionPrompt 중 하나 이상을 보낸다.
  • 각 Prompt는 최대 30,000자이며 현재 계약에는 별도 낙관적 version이 없다.
  • 사용자가 수정한 두 Prompt는 함께 또는 독립적으로 저장할 수 있다.
  • 수동 수정은 Shot 사양을 역으로 변경하지 않는다.
  • 명시적 재생성은 두 Prompt를 현재 Shot 기준으로 다시 만든다.

6. 삭제된 Render Plan과의 차이

이전 구조현재 구조
FrameSpec·MotionSpec 별도 승인Shot이 전체 사양 소유
Render Plan 확정 필요Shot 계획 확정만 필요
선택 Frame과 경계 최신성 검사해당 의존성 없음
Context Run·Prompt Draft·Package 다단계Shot Prompt Package 한 단계
Generation Attempt 전용 테이블직접 생성 연결 시 공통 생성 이력 사용