패러디 단편은(는) 무엇을 하나요?
그 안에 있는 사람들을 알거나 그 상황을 아는 관객을 위한 짧은 코미디: 80년대 액션쇼 인트로로 풀어낸 팀의 중요한 밤, 할로윈 괴물 영화, 크리스마스 TV 광고. 그룹은 어떤 집단(영업팀, 교무실, 5인제 축구클럽, 가족)이든 될 수 있고, 주제는 그들이 함께 겪은 모든 것입니다. 이 스킬이 만드는 다른 어떤 결과물보다 강력하게 와닿습니다. 관객이 알아보는 것들을 보고 웃기 때문입니다. 이 스킬은 의도적으로 그러한 영상을 만드는 방법입니다.
2026년 11월 한 팀을 위한 세 개의 비디오(릴리스의 액션쇼 인트로, 할로윈 자매편, 크리스마스 캐럴 광고)를 만들고 배우면서 구축되고 학습되었습니다. 실제 동료들이 등장하기 때문에 examples/ 디렉토리에 있지 않습니다. 그 다음에는 가상 캐스트가 등장하는 두 개의 공개 단편(끝나지 않는 화상 통화에 대한 공포 트레일러, 사무실 복귀에 대한 야생동물 다큐멘터리)을 각각 16:9 및 세로 버전으로, 그리고 제품 UI 내에서의 브랜드 에디션을 추가로 제작했습니다.
효과가 좋은 이유 (중요도 순)
- 실제 얼굴, 움직임. 획기적인 변화는 팀의 프로필 사진을 애니메이션화한 것이었습니다. 정지 사진은 미소를 이끌어냈고, 같은 사람들이 선글라스를 들거나 펀치로 건배하는 모습은 웃음을 자아냈습니다. 인지가 엔진입니다.
people.md를 참조하세요. - 진짜 내부 농담. 팀의 자체 채널에서 발견된 대사는 어떤 쓰여진 개그보다 강력합니다: 동료의 유행어, 누군가 계속 우겨넣는 기능, 누군가가 줄곧 말해오던 것. 맥락 파악이 대본 다듬기보다 가치 있습니다.
context.md를 참조하세요. - 이벤트에 맞는 장르의 비트. 관객은 이미 형식(세 가지 규칙이 깨짐, 과거/현재/미래의 유령, 팀 구성)을 알고 있으므로 비디오는 비트만 채우면 됩니다. 매핑이 촘촘할수록 대본이 설명해야 할 내용이 줄어듭니다.
genres.md를 참조하세요. - 과장 허용. 이것은 릴리스 노트가 아닙니다. 요청자가 사실이 중요하지 않다고 말하면 숫자는 부풀려지고 타임라인은 창작될 수 있습니다. 초기에 한 번 물어보고; 그런 다음 개그에 대한 사실 확인을 중단하십시오.
- 애정이 선이다. 모든 사람이 개그의 주인공이거나 그 안에 포함되어 있으며, 결코 희생양이 되어서는 안 됩니다. 이는 영상을 따뜻하게 유지하고 또한 안전 규칙(아래)입니다.
- 장르별 외관과 사운드. 자체 글꼴, 오버레이 및 그레이딩(VHS 트래킹, 필름 그레인 및 레터박스, 촛불), 오리지널 노래 또는 악보, 몇 가지 음향 효과, 광고에서 최대 한 줄의 내레이션. 어떤 것도 툴킷 템플릿처럼 보여서는 안 됩니다.
- 짧게. 광고는 60-90초입니다. "쇼 인트로"는 2분까지 가능합니다. 약 2분 30초가 지나면 중간이 처집니다; 거기서 먼저 자르십시오.
- 모든 클립 검토. 약 3개의 LTX 클립 중 1개는 낯선 사람에게 잘립니다. 잘못된 얼굴 하나가 마법을 깨뜨리므로 모든 클립을 연락처 시트로 확인하고 다시 생성하십시오.
두 종류의 캐스트
- 실제 인물(그룹의 자체 사진): 그들을 아는 관객에게 가장 강한 웃음을 제공합니다. 기본적으로 내부 전용; 각 개인의 서면 동의가 있을 때만 공개할 수 있습니다.
- 가상 캐스트(FLUX 초상화 또는 비인간 캐릭터): 공개 비디오 또는 관객이 사람보다는 상황을 인식하는 공유 주제(화상 통화, 사무실 주방)용입니다. 인지가 얼굴에서 상황으로 이동하므로 상황은 보편적이면서도 구체적이어야 합니다: "음소거 해제", 412개의 탭이 있는 스프레드시트, 핫 데스크 위의 재킷.
people.md의 0단계를 참조하세요. - 한 번 캐스팅, 모든 곳에 사용. 공유 폴더에 가상 캐스트를 한 번 생성하고 각 비디오에 동일한 얼굴에서 자체 의상과 클립을 제공하십시오. 동일한 네 명의 사람이 등장하는 두 개의 비디오는 시리즈처럼 느껴지며, 그들 사이의 콜백(비디오 2의 마지막 대사가 비디오 1의 첫 대사)은 공짜 웃음을 제공합니다.
필수 규칙
- 모두 애정 어린 것. 그룹 내 누구도 신경 쓸 농담의 대상이 되어서는 안 됩니다. 성과, 건강, 개인 생활 또는 비밀로 한 말은 금지. 의심스러우면 대사를 삭제하십시오.
- 실제 인물은 내부에 유지. 그들의 초상권은 그들의 것입니다. 그룹을 위해 만들고, 링크 전용으로 공유하며, 공개 게시 전에 허락을 구하십시오. 등장하는 사람 중 제외를 요청하면 제외하십시오.
- 화면에 민감한 정보 금지. 고객 또는 파트너 이름, 호스트명, 비밀 값(비밀은 흐림 처리된 막대 또는
••••), 내부 URL은 금지. 실제 시스템 이름을 변경하십시오("RELAY ONE"). - 원어 및 원음악. 장르의 형식만 빌리고, 어떤 작품의 캐릭터, 이름, 대사, 디자인 또는 테마 음악은 절대 사용하지 마십시오. 공개 도메인 이야기(디킨스, 그림, 셰익스피어)는 직접 사용할 수 있지만 영화나 TV 프로그램은 이름을 바꾸거나 말거나 사용할 수 없습니다. 노래가 있으면 원래 가사를 쓰십시오(
acestep스킬). - 관객이 읽었을 수 있는 경우에만 인용. 공개 팀 채널은 가능. DM은 불가.
context.md를 참조하세요.
시작하기 전에
- GPU 엔드포인트(Modal, 한 번):
uv sync --extra modal && uv run modal setup, 그 다음uv run tools/modal_setup.py flux2 image_edit ltx2 qwen3_tts. LTX는 게이트 처리됨: Hugging Face 토큰이 있는 Modal 시크릿이 필요합니다(docs/modal-setup.md). 음악:.env에 무료ACEMUSIC_API_KEY(acestep스킬). - 프로젝트는
projects/<name>/디렉토리에 있는 일반 Remotion 프로젝트입니다. 여기 있는 어떤 것도 템플릿처럼 보여서는 안 되므로 맞는 템플릿은 없습니다. 아무 템플릿에서package.json및remotion.config.ts를 복사하고(config는lib/임포트가 해결되도록 함),src/Root.tsx에 컷당 하나의 컴포지션을 유지하며, 캐스트의 클립을public/people/에 넣으십시오. 샷은 그 사람이 포함된 절대 프레임의<Sequence>입니다.
import { LivingPhoto } from '../../../lib/components/LivingPhoto';
// 클립을 한 번 재생하고 마지막 좋은 프레임을 유지합니다. fit은 약간 짧은 클립을 늘려 샷을 채웁니다.
<Sequence from={120} durationInFrames={180}>
<LivingPhoto src="people/sam-xmas.mp4" hold={140} fit={180} pos="center 30%" style={{ inset: 0 }} />
</Sequence>
워크플로우
| 단계 | 내용 | 참고 문서 |
|---|---|---|
| 1. 브리핑 | 이벤트, 관객, 캐스트(3-6명), 장르, 길이, "사실이 중요한가?" | 이 파일 |
| 2. 맥락 파악 | 그룹의 채널과 도구를 조사; public/bible.md 작성 | context.md |
| 3. 매핑 | 장르 비트를 이벤트에 매핑; 사람당 하나의 비트 바이블에서 대사 선택 | genres.md |
| 4. 캐스트 | 사진 또는 가상 캐스트, image_edit로 의상, LTX로 애니메이션, 연락처 시트 | people.md |
| 5. 월드 | FLUX 배경(텍스트 없음), SFX, 음악 또는 오리지널 가사 노래 | acestep, elevenlabs |
| 6. 제작 | 절대 프레임의 Remotion 샷; 캐스트용 LivingPhoto; 장르 오버레이 | people.md, video-design |
| 7. 확인 | 렌더링 연락처 시트, qc.py --render --fix, sync_check.py --cues, 그 다음 안전 규칙 재확인 | video-design/critique.md, CLAUDE.md |
| 8. 컷 | 세로 버전 및 원하는 경우 브랜드 에디션: 동일한 자산 위의 새 레이아웃 | formats.md |
씬이 아닌 샷. 이 영상들은 광고처럼 편집됩니다: 고정된 샷 리스트와 절대 프레임 범위, 샷 사이 10-20프레임 디졸브, 모든 것 아래에 노래 또는 악보. 내레이션이 있으면 먼저 생성하고 그것에 고정하십시오(CLAUDE.md, 오디오 고정 타임라인); 마지막에 한 줄의 내레이터가 있는 광고는 음악 주도로 할 수 있습니다.
움직임에 맞춘 사운드: 측정하고, 짐작하지 마세요. 재채기, 재킷이 떨어지는 소리, 배지 딸랑이: 각 사운드를 tools/sync_check.py --clip으로 배치하고(피크가 움직임과 만나는 지점), 프로젝트의 sync-cues.json에 나열한 다음, 보여주기 전에 모든 렌더링에서 sync_check.py --video ... --cues를 실행하십시오. 손으로 배치한 재채기는 0.5초 빨랐고; 다른 세 개의 큐는 0.8-1.0초 차이가 났습니다. 클립이 멈추거나 잘리면 그곳에서 사운드도 끝내십시오.
텍스트는 펀치라인 전달자입니다. 말풍선, 스탬프, 댄스 카드, 묘비, 타이핑된 라벨. Remotion이 모두 렌더링합니다(FLUX와 LTX는 텍스트를 왜곡합니다). 모든 화면 개그에 프레임 큐와 사운드를 제공하십시오.
목소리. 누구의 소유도 아닌 내레이터의 경우, Qwen VoiceDesign을 사용하여 서면 브리핑에서 디자인하십시오("야생동물 다큐멘터리를 내레이션하는 따뜻한 중년 영국 여성, 조용하고 느리고 측정된 속도"; "깊고 거친 영화 트레일러 아나운서"): qwen3_tts.py --design-instruct "..." --text "<장르의 20초 시드 문단, 대본이 아님>" --format wav. VoiceDesign은 호출할 때마다 새로운 음성을 생성하므로, 한 번 디자인한 다음 모든 문장에 대해 해당 참조를 복제하십시오(세 번 테이크, pick_takes.py). 장르를 설명하고 실제 인물은 절대 설명하지 마십시오; 장르의 유명한 목소리가 아닌 내레이터를 선택하면(야생동물 영화에 여성) 명확히 독창성을 유지할 수 있습니다.
컷. 처음부터 세로 컷과 브랜드 에디션을 계획하십시오. 생성된 모든 자산을 재사용하며 렌더링 하나만 추가로 필요합니다. formats.md를 참조하세요.
장르 간 재사용. 한 번 애니메이션된 캐스트는 다음 휴일을 위해 리코스튬할 수 있습니다: 사진, 크롭 및 맥락 바이블은 그대로 유지되며 의상, 클립 및 월드만 변경됩니다.
비용 (Modal, 2026-11)
LTX ~5초 클립당 $0.08, image_edit ~편집당 $0.01 웜(콜드 스타트는 약 10분; 먼저 하나의 편집을 보내고 기다리십시오), FLUX ~배경 또는 초상화당 $0.01, ACE-Step 노래는 몇 센트. 5명의 캐스트 멤버와 재생성이 포함된 90초 광고는 약 $2입니다. 하나의 가상 캐스트를 공유하는 두 개의 80-100초 단편(9개의 의상 편집, 16개의 클립, 2개의 디자인된 목소리)은 합쳐서 약 $2.50였습니다. acemusic API는 배치 중간에 502를 반환할 수 있습니다; 실패한 테이크는 건너뛰므로 더 많은 결과를 위해 다시 실행하십시오.
관련 문서
context.md, genres.md, people.md, formats.md (여기); ltx2, qwen-edit, acestep, elevenlabs, video-design, remotion 스킬; lib/components/LivingPhoto.tsx.