Add narration and scene production skills
This commit is contained in:
@@ -0,0 +1,32 @@
|
|||||||
|
---
|
||||||
|
name: short-video-cuts
|
||||||
|
description: 실제 통합 내레이션에 맞춰 5초 이내 컷과 별도 자막 구간을 설계하고 07-cuts 결과와 scenes 검토 근거를 작성한다.
|
||||||
|
---
|
||||||
|
|
||||||
|
# 실제 음성 기준 컷과 자막
|
||||||
|
|
||||||
|
## 먼저 읽을 자료
|
||||||
|
|
||||||
|
- [공통 제작 계약](../../../docs/workflow-contracts.md): 실제 파일·시간 확인, scenes 승인과 상태.
|
||||||
|
- [음성과 연결 지침](../../../docs/short-video-guide.md#음성을-기준으로-컷과-연결을-확정한다), [화면 역할 지침](../../../docs/short-video-guide.md#설명의-단위를-화면으로-바꾼다), [자막 지침](../../../docs/short-video-guide.md#자막과-주석을-읽을-수-있게-배치한다).
|
||||||
|
- [07 양식](../../../templates/stages/07-cuts.json), [결과 스키마](../../../contracts/artifact.schema.json), [검토 양식](../../../templates/review.md).
|
||||||
|
|
||||||
|
## 입력과 승인 확인
|
||||||
|
|
||||||
|
개별 호출에서도 같은 제작물의 유효한 05-tts-split, 검증된 06-tts 결과·실제 통합 WAV와 그 근거인 story 승인을 확인한다. `inputs`에 실제 사용한 05와 06 버전을 기록한다. 결과·파일 부재는 awaiting_input으로 총괄에 보고하고 기다린다. 오래된 버전이나 미확인 부분 파일로 실측 컷을 확정하지 않는다.
|
||||||
|
|
||||||
|
## 작성과 확인
|
||||||
|
|
||||||
|
1. 실제 통합 음성의 측정 길이를 `narration_duration_ms`에 기록한다. 03의 예상 길이·단위 WAV 길이·06 통합 구간은 서로 다른 값이다. 실제 음성이 180000ms를 넘으면 대본 수정과 story 재승인으로 돌려보낸다.
|
||||||
|
2. `timing_evidence`에 통합 파일 측정 방법, 청취 구간과 발화·자막 정렬 확인 방법을 적는다. 글자 수로 예상한 정렬을 실측이라고 표시하지 않는다.
|
||||||
|
3. cuts를 음성 순서대로 작성한다. 첫 start_ms=0, 마지막 end_ms=통합 길이이며 인접 컷의 끝과 시작이 같다. 빈 구간·중복 없이 전체 음성을 덮고 각 컷은 `0 < end_ms-start_ms <= 5000`을 만족해야 한다.
|
||||||
|
4. 컷 ID는 유일하며 unit_ids는 05·06의 실제 단위를 참조한다. narration_text는 해당 실제 발화를 순서대로 보존한다. 한 문장이 여러 화면 컷에 걸칠 수 있으나 단어·의미를 누락하거나 재배치하지 않는다. TTS 단위·문장·이야기 블록과 컷의 일대일 대응을 강제하지 않는다.
|
||||||
|
5. captions는 컷과 별도 구간으로 작성하며 여러 컷에 걸칠 수 있다. 각 자막은 `0 <= start_ms < end_ms <= 통합 길이`이고 입력 언어·텍스트 의미·표시 순서를 보존한다. 실제 음성과 읽기 단위에 맞춰 정렬하며 자동 인식 오류를 확정하지 않는다.
|
||||||
|
|
||||||
|
필드·타입은 양식·스키마를 그대로 따른다. 화면에서 설명할 관계와 필요한 상태 변화는 review.md에 적어 08로 전달하고 새 필드를 추가하지 않는다.
|
||||||
|
|
||||||
|
## 제출과 검토 경계
|
||||||
|
|
||||||
|
자기 단계의 새 버전을 `projects/<project_id>/stages/07-cuts/r<revision>/artifact.json`과 같은 폴더의 `review.md`에 저장한다. 데이터 경로는 저장소 루트 기준이며 이전 버전을 덮어쓰지 않는다. review.md에 실측·청취 근거, 컷별 이해할 내용, 적용한 실제 시간·화면 역할·상태 변화 원칙과 비적용 이유를 적는다. 추가 입력·승인 지점을 만들지 않는다.
|
||||||
|
|
||||||
|
총괄에 제출 경로·선행 버전·검증 결과·issues를 보고한다. 부재는 awaiting_input, 검증 실패는 failed, scenes 결정 대기는 awaiting_review로 보고한다. 총괄만 `project.json`의 상태·포인터·승인을 작성한다. 준비된 같은 검토 묶음에서 07→08→09를 작성할 수 있지만 07·08·09의 실제 결과에 대한 사용자 scenes 승인 전에는 10으로 진행하지 않는다. 응답 없음이나 담당의 완료 추천은 승인이 아니다.
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
---
|
||||||
|
name: short-video-entities
|
||||||
|
description: 짧은 영상 장면의 인물·배경과 반복 고정 특징을 정리하고 컷별 등장 참조를 09-entities 결과와 scenes 검토에 기록한다.
|
||||||
|
---
|
||||||
|
|
||||||
|
# 인물·배경과 고정 특징
|
||||||
|
|
||||||
|
## 먼저 읽을 자료
|
||||||
|
|
||||||
|
- [공통 제작 계약](../../../docs/workflow-contracts.md): 09 참조·완료 기준과 scenes 승인 경계.
|
||||||
|
- [화면 역할 지침](../../../docs/short-video-guide.md#설명의-단위를-화면으로-바꾼다), [음성과 연결 지침](../../../docs/short-video-guide.md#음성을-기준으로-컷과-연결을-확정한다), [그림체와 고정 특징 지침](../../../docs/short-video-guide.md#깔끔한-그림체로-작동-방식을-보여준다).
|
||||||
|
- [09 양식](../../../templates/stages/09-entities.json), [결과 스키마](../../../contracts/artifact.schema.json), [검토 양식](../../../templates/review.md).
|
||||||
|
|
||||||
|
## 입력과 승인 확인
|
||||||
|
|
||||||
|
개별 호출에서도 같은 제작물의 유효한 03-script와 08-scenes, 그 근거인 실측 07 및 story 승인을 확인한다. `inputs`에는 실제 사용한 03과 08 버전을 기록한다. 선행 결과·실측 근거·승인 부재나 오래된 버전은 총괄에 issues로 보고하고 기다린다. 준비된 동일 scenes 검토 묶음 안에서는 아직 scenes 승인을 받지 않은 08로 09를 작성할 수 있다.
|
||||||
|
|
||||||
|
## 작성과 확인
|
||||||
|
|
||||||
|
1. 08의 설명과 시작·끝 상태에 필요한 characters와 backgrounds를 정리한다. 각 entity의 id는 유일하며 description과 fixed_features는 장면 간 식별과 설명의 일관성에 필요한 특징만 담는다. 없는 인물·배경을 분량 채우기 위해 추가하지 않는다.
|
||||||
|
2. 고정 특징은 반복되는 형태·색·구조·배치의 기준이다. 행동이나 상태 변화 자체를 고정해 08의 설명을 막지 않는다. 실제 구조·재료의 차이를 보존하고 확인되지 않은 특징은 문제로 보고한다.
|
||||||
|
3. 08의 컷 순서대로 appearances를 작성한다. 모든 cut_id를 정확히 한 번 포함하고 character_ids·background_ids는 해당 목록에 존재해야 한다. 같은 등장 배열 안에서도 ID를 중복하지 않는다. 등장하지 않는 종류는 빈 배열로 기록한다.
|
||||||
|
4. 모든 컷을 08의 실제 등장 상태와 대조한다. 인접 continuous 연결에서 동일 대상의 고정 특징·위치·방향이 유지되고 필요한 상태 변화가 설명되는지 확인한다. 컷 변경을 새 인물·배경으로 잘못 분리하지 않는다.
|
||||||
|
|
||||||
|
정확한 필드·타입은 양식·스키마를 그대로 따른다. 기존 description·fixed_features·appearances에 담고 새 필드를 추가하지 않는다. 03의 이야기 블록과 07의 컷은 일대일이 아니다. `references/1.png`의 고정 그림체를 참고하되 캠핑 소재·인물·상표를 새 배경에 강제하지 않는다.
|
||||||
|
|
||||||
|
## 제출과 검토 경계
|
||||||
|
|
||||||
|
자기 단계의 새 버전을 `projects/<project_id>/stages/09-entities/r<revision>/artifact.json`과 같은 폴더의 `review.md`에 저장한다. 이전 버전을 덮어쓰지 않고 데이터 경로는 저장소 루트 기준으로 쓴다. review.md에 컷별 인물·배경 참조, 상태 변화와 연속성을 지키는 고정 특징, 적용한 화면 역할·연결 원칙의 실제 결과와 비적용 이유를 남긴다. 추가 입력·승인 지점을 만들지 않는다.
|
||||||
|
|
||||||
|
총괄에 제출 경로·선행 버전·검증 결과·issues를 보고한다. 부재는 awaiting_input, 검증 실패는 failed, scenes 결정 대기는 awaiting_review로 보고한다. `project.json`의 상태·포인터·승인은 총괄만 작성한다. 07·08·09의 실제 결과를 함께 검토하고 사용자 scenes 승인 전에는 10으로 진행하지 않는다. 응답 없음이나 담당의 완료 추천은 승인이 아니다.
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
---
|
||||||
|
name: short-video-scenes
|
||||||
|
description: 짧은 영상의 실제 컷마다 설명할 화면과 시작·끝 상태를 설계하고 인접 연결을 08-scenes 결과와 검토에 기록한다.
|
||||||
|
---
|
||||||
|
|
||||||
|
# 컷별 화면과 연결 설계
|
||||||
|
|
||||||
|
## 먼저 읽을 자료
|
||||||
|
|
||||||
|
- [공통 제작 계약](../../../docs/workflow-contracts.md): 08 참조·완료 기준과 scenes 승인 경계.
|
||||||
|
- [화면 역할 지침](../../../docs/short-video-guide.md#설명의-단위를-화면으로-바꾼다), [음성과 연결 지침](../../../docs/short-video-guide.md#음성을-기준으로-컷과-연결을-확정한다), [그림체와 상태 변화 지침](../../../docs/short-video-guide.md#깔끔한-그림체로-작동-방식을-보여준다).
|
||||||
|
- [08 양식](../../../templates/stages/08-scenes.json), [결과 스키마](../../../contracts/artifact.schema.json), [검토 양식](../../../templates/review.md).
|
||||||
|
|
||||||
|
## 입력과 승인 확인
|
||||||
|
|
||||||
|
개별 호출에서도 같은 제작물의 유효한 03-script와 실제 통합 음성으로 검증한 07-cuts, 해당 story 승인을 확인한다. `inputs`에 실제 사용한 03과 07 버전을 기록한다. 선행 결과·실측 근거·승인 부재나 오래된 버전은 총괄에 issues로 보고하고 기다린다. 준비된 동일 scenes 검토 묶음 안에서 아직 scenes 승인을 받지 않은 07로 08을 작성할 수 있다.
|
||||||
|
|
||||||
|
## 작성과 확인
|
||||||
|
|
||||||
|
1. 07 순서를 따라 모든 cut_id를 scenes에 정확히 한 번 포함한다. 존재하지 않는 컷·누락·중복을 허용하지 않는다. 03의 이야기 블록과 컷은 일대일이 아니며 설명이 여러 컷에 걸치면 같은 대상과 시각적 기준점을 유지한다.
|
||||||
|
2. description에는 이 구간에서 시청자가 이해할 관계를, start_state와 end_state에는 이를 보여줄 물체·인물·배경과 설명에 필요한 상태 변화를 적는다. 내레이션의 명사를 그림으로 나열하거나 장식적 움직임으로 설명을 대신하지 않는다.
|
||||||
|
3. camera에는 전경·단면·근접·지도·조건 비교 등 선택한 화면을 적는다. 실제 구조·재료·방향·비교 기준을 보존하며 확인되지 않은 사실을 새 도해로 만들지 않는다. 근거 부족은 총괄에 보고해 조사나 대본으로 돌려보낸다.
|
||||||
|
4. 07 순서의 각 인접 컷 쌍에 connections를 정확히 하나 작성한다. from_cut_id·to_cut_id는 해당 인접 쌍을 참조하고 mode는 continuous 또는 cut이다. reason에 설명이 이어지거나 위치·시간·시점이 바뀌어야 하는 이유를 적는다.
|
||||||
|
5. continuous는 앞 컷 end_state와 다음 start_state의 인물·물체 위치, 흐름 방향, 카메라 상태를 맞춘다. cut은 새로운 시점·상태를 이해할 수 있게 제시한다. 일정한 간격만을 이유로 전환하지 않는다.
|
||||||
|
|
||||||
|
정확한 필드·타입은 양식·스키마를 따른다. 기존 description·상태·camera·연결 필드에 담고 새 필드를 추가하지 않는다. 고정 그림체는 `references/1.png`를 따르되 이미지의 캠핑 소재를 새 배경으로 강제하지 않는다.
|
||||||
|
|
||||||
|
## 제출과 검토 경계
|
||||||
|
|
||||||
|
자기 단계의 새 버전을 `projects/<project_id>/stages/08-scenes/r<revision>/artifact.json`과 같은 폴더의 `review.md`에 저장한다. 이전 버전을 덮어쓰지 않고 데이터 경로는 저장소 루트 기준으로 쓴다. review.md에 컷 ID·실제 음성 구간, 이해할 내용, 상태 변화, 화면·연결 선택 이유와 근거 참조를 남긴다. 적용한 원칙의 실제 결과와 소재에 맞지 않아 적용하지 않은 이유를 적으며 추가 입력·승인 지점을 만들지 않는다.
|
||||||
|
|
||||||
|
총괄에 제출 경로·선행 버전·검증 결과·issues를 보고한다. 부재는 awaiting_input, 검증 실패는 failed, scenes 결정 대기는 awaiting_review로 보고한다. `project.json`의 상태·포인터·승인은 총괄만 작성한다. 준비된 08로 같은 검토 묶음의 09를 작성할 수 있지만 07·08·09의 실제 결과에 대한 사용자 scenes 승인 전에는 10으로 진행하지 않는다. 담당의 추천은 승인이 아니다.
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
---
|
||||||
|
name: short-video-tts-split
|
||||||
|
description: 승인된 짧은 영상 대본을 Qwen3-TTS용 발화 단위로 나누고 05-tts-split 결과와 검토 메모를 작성한다.
|
||||||
|
---
|
||||||
|
|
||||||
|
# TTS 발화 단위 분할
|
||||||
|
|
||||||
|
## 먼저 읽을 자료
|
||||||
|
|
||||||
|
- [공통 제작 계약](../../../docs/workflow-contracts.md): 저장·버전·승인·상태와 05 완료 기준.
|
||||||
|
- [제작 지침의 음성 기준](../../../docs/short-video-guide.md#음성을-기준으로-컷과-연결을-확정한다): 의미·호흡·발음에 따른 분할.
|
||||||
|
- [쉬운 설명 지침](../../../docs/short-video-guide.md#쉬운-말로-원인을-설명한다): 긴 문장을 다듬어야 할 때 참고.
|
||||||
|
- [05 양식](../../../templates/stages/05-tts-split.json), [결과 스키마](../../../contracts/artifact.schema.json), [검토 양식](../../../templates/review.md).
|
||||||
|
|
||||||
|
## 입력과 승인 확인
|
||||||
|
|
||||||
|
개별 호출에서도 같은 제작물의 유효한 03-script 버전과 이를 포함한 story 승인을 먼저 확인한다. 승인 전에는 05를 작성하지 않는다. 선행 결과·승인 부재나 오래된 버전은 총괄에 문제로 보고하고 기다린다. 사용자가 이미 승인한 동일 버전은 다시 승인받지 않는다.
|
||||||
|
|
||||||
|
`inputs`에 실제 사용한 03의 stage_id와 revision을 기록한다. 정확한 필드·타입은 양식과 스키마의 unit 정의를 따르며 새 필드를 추가하지 않는다.
|
||||||
|
|
||||||
|
## 작성과 확인
|
||||||
|
|
||||||
|
1. 승인된 대본 순서대로 의미와 호흡이 자연스러운 발화 단위를 만든다. 숫자·약어·고유명사의 읽는 방법은 발음 메모에 적는다.
|
||||||
|
2. 각 단위의 유일한 ID, 원본 block_ids, 표시 텍스트와 발화 텍스트를 기존 필드에 담는다. 발음용 표기 변경과 내용 변경을 구분한다. 의미가 바뀌는 수정은 03 새 버전과 story 재승인으로 돌려보낸다.
|
||||||
|
3. 단위를 이어 읽어 03의 전체 의미·순서가 보존되고 발화 누락·중복이 없는지 확인한다. block_ids는 사용한 03에 존재해야 한다.
|
||||||
|
|
||||||
|
TTS 단위·문장·이야기 블록은 화면 컷과 다르다. 단위를 5초로 제한하거나 컷 길이에 맞추려고 문장을 끊고 발화를 재배치하지 않는다. 03의 예상 길이는 실제 생성 음성 길이가 아니다.
|
||||||
|
|
||||||
|
## 제출과 진행 보고
|
||||||
|
|
||||||
|
자기 단계의 새 버전을 `projects/<project_id>/stages/05-tts-split/r<revision>/artifact.json`과 같은 폴더의 `review.md`에 저장한다. 이전 버전을 덮어쓰지 않고 데이터 경로는 저장소 루트 기준으로 쓴다. review.md에 사용한 의미·호흡·발음 원칙, 실제 적용 결과와 소재에 맞지 않아 적용하지 않은 이유를 남긴다. 추가 입력·승인 지점을 만들지 않는다.
|
||||||
|
|
||||||
|
총괄에 제출 경로·선행 버전·검증 결과·남은 issues를 보고한다. 입력 부재는 awaiting_input, 검증 실패는 failed로 보고하며 확인하지 않은 결과를 complete라고 하지 않는다. `project.json`의 상태·포인터·승인은 총괄만 작성한다. 분할 확인을 마친 뒤 06으로 전달한다.
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
---
|
||||||
|
name: short-video-tts
|
||||||
|
description: 짧은 영상의 05 발화 단위로 기존 qwen3-tts 환경의 Qwen3-TTS 요청과 실제 WAV 결과를 관리하고 06-tts 검토를 작성한다.
|
||||||
|
---
|
||||||
|
|
||||||
|
# Qwen3-TTS 음성 제작
|
||||||
|
|
||||||
|
## 먼저 읽을 자료
|
||||||
|
|
||||||
|
- [공통 제작 계약](../../../docs/workflow-contracts.md): 실제 파일·시간 확인, 외부 결과와 상태, 승인 경계.
|
||||||
|
- [제작 지침의 음성 기준](../../../docs/short-video-guide.md#음성을-기준으로-컷과-연결을-확정한다): 의미·호흡·발음과 실제 음성 구간.
|
||||||
|
- [06 양식](../../../templates/stages/06-tts.json), [결과 스키마](../../../contracts/artifact.schema.json), [검토 양식](../../../templates/review.md).
|
||||||
|
|
||||||
|
## 입력과 환경 확인
|
||||||
|
|
||||||
|
개별 호출에서도 같은 제작물의 유효한 05-tts-split과 그 근거인 03의 story 승인을 확인한다. 선행 결과·승인 부재나 오래된 버전이면 총괄에 issues를 보고하고 기다린다. `inputs`는 실제 사용한 05 버전을 기록한다.
|
||||||
|
|
||||||
|
기존 conda 환경 `qwen3-tts`의 `Qwen3-TTS`를 사용한다. 환경 재설치·전역 설정 변경으로 해결하지 않는다. 실제 제작 시 사용 가능한 모델·화자·입력 언어 지원을 확인한다. 환경이나 패키지 존재, 모델 로딩 성공, 실제 추론 성공을 따로 보고한다. 설치 확인만으로 음성 생성이 성공했다고 쓰지 않는다.
|
||||||
|
|
||||||
|
지원되지 않는 언어나 도구 부재는 blocking issues로 총괄에 보고하고 결과·해결 입력을 기다린다. 요청 언어를 임의로 바꾸거나 다른 도구로 대체하지 않는다. 외부 실행파일 경로·키·인증정보는 결과에 기록하지 않는다.
|
||||||
|
|
||||||
|
## 요청과 실제 결과
|
||||||
|
|
||||||
|
1. 양식의 `request.engine`, `request.conda_env`, `request.language`, `request.units`에 도구·환경·입력 언어·05 단위를 기록한다. 정확한 구조는 스키마를 따르며 새 필드를 만들지 않는다.
|
||||||
|
2. 외부 결과를 받기 전에는 `result=null`을 유지한다. 요청 작성과 추론 성공을 구분한다. 실제로 사용한 모델·화자는 `result.model`, `result.voice`에 기록한다.
|
||||||
|
3. 요청 단위별 WAV를 `result.files`에 연결하고 실제 통합 WAV를 `result.narration`에 기록한다. unit_id는 요청에 존재하며 모든 단위가 순서대로 누락·중복 없이 포함되어야 한다.
|
||||||
|
4. WAV 실존·내용 형식·실제 길이를 확인한 파일만 media.verified=true로 기록한다. kind=audio, width/height=null이며 duration_ms는 실측한다. 예제 경로나 요청 길이를 실제 파일로 표시하지 않는다.
|
||||||
|
5. `result.unit_ranges`는 실제 통합 음성 안의 단위별 구간이다. 단위 WAV의 파일 길이, 03의 예상 길이, 통합 음성에서의 시작·끝을 구분한다. 구간의 순서·전체 포함·겹침과 발음·호흡·언어·누락·중복을 실제 청취로 확인한다.
|
||||||
|
|
||||||
|
실제 통합 음성이 180000ms를 넘으면 03 대본 수정과 story 재승인으로 돌아간다. 임의로 언어를 바꾸거나 발화를 빠르게 재생해 상한에 맞추지 않는다. 실측·청취·정렬 확인 방법과 미확인 내용을 review.md에 남겨 07의 timing_evidence 작성 근거로 전달한다.
|
||||||
|
|
||||||
|
## 제출과 진행 보고
|
||||||
|
|
||||||
|
자기 단계의 새 버전을 `projects/<project_id>/stages/06-tts/r<revision>/artifact.json`과 같은 폴더의 `review.md`에 저장한다. 데이터 경로는 저장소 루트 기준이며 이전 버전을 덮어쓰지 않는다. review.md에 실제 사용한 의미·호흡·발음 원칙과 결과, 적용하지 않은 구성의 이유를 적는다. 추가 입력·승인 지점을 만들지 않는다.
|
||||||
|
|
||||||
|
총괄에 제출 경로·선행 버전·실제 파일 검증·남은 issues를 보고한다. result 부재는 awaiting_input, 실행·검증 실패는 failed다. 부분 파일은 보존하되 모든 요청 파일·통합 음성·구간을 확인하기 전 complete로 보고하지 않는다. `project.json`의 상태·포인터·승인은 총괄만 작성한다. 검증된 통합 음성과 구간을 07로 전달한다.
|
||||||
Reference in New Issue
Block a user