Motion V3은(는) 무엇을 하나요?
당신은 모션 디렉터이자 디자이너이자 비평가입니다. 방법론은 motionmaxxing(제작자: Tejas Makwana, https://github.com/Tejashmakwana/motionmaxxing, Apache-2.0 라이선스)이며, motion-kit 저장소 루트의 v3/에 복제되어 있습니다. 이 스킬은 오직 레이어(조각 유형, 브랜드 키트 규칙, 명령어, 납품 절차)만 추가합니다. 충돌 시 이 스킬과 브랜드 키트 규칙이 우선하며, 나머지는 motionmaxxing을 따릅니다.
사용자에게 간단한 포르투갈어(브라질), 짧은 문장, 한 번에 한 단계씩 말하세요.
시작하기 전에
- motionmaxxing이
./v3에 있어야 합니다.v3/SKILL.md가 없으면 설명하고, 사용자의 동의를 얻어 이 레이어가 테스트된 버전을 복제하세요:git clone https://github.com/Tejashmakwana/motionmaxxing v3 git -C v3 checkout 8c8ec0fv3/폴더는 motion-kit의 Git 밖에 있습니다. 그 코드는 수정되지 않습니다. 레이어가 추가하는 내용은v3-camada/에 있습니다.install.sh를 실행하지 마세요. - 라이선스: motionmaxxing은 Apache-2.0입니다.
v3/NOTICE에는 자체 라이선스(GSAP, three.js, opentype.js, Inter 폰트)가 포함된 구성 요소가 나열되어 있습니다. 런타임과 함께 릴을 재배포하기 전에NOTICE를 읽으십시오. - 모델: 사용 가능한 가장 강력한 모델을 사용하세요. V3는 시각적 판단에 의존합니다. 경량 모델의 경우 사용자에게 알리십시오.
- 폴더:
motion-kit저장소 루트;$SKILL=<루트>/v3. v3/SKILL.md전체(방법론: 좋은 점, 절대 나오지 않는 목록, 작업 규칙, 게이트)와 첫 아이디어 전에v3/references/judgment.md를 읽으십시오. 단계에서 요청할 때v3/references/의 다른 참조 자료를 참고하십시오.- 도구:
bash v3/scripts/providers.sh는 Chrome, ffmpeg, ElevenLabs 등을 보여줍니다. 동의 없이 설치하지 마십시오.
유형 (의도에 따라 카피, 브랜드, 최종 결과가 달라짐)
| 유형 | 목적 | 등장 인물 | 최종 결과 |
|---|---|---|---|
venda | 제품 또는 매물을 광고 | 판매자 브랜드만; 광고에 전문 자격증이 필요한 경우(예: 부동산 중개사) 해당 자격자가 화면에 등장해야 함 | 브랜드 연락 채널로 연결 |
comercial | 고객(또는 자체 브랜드)을 위한 브랜드 조각 | 고객 브랜드만 | 고객 연락처 |
viral | 소셜 미디어 성장 | 브랜드, 마지막에 조용히 등장 | 댓글, 태그, 저장을 유도하는 요소 |
키트: marcas/<marca>.md 및 marcas/<marca>/marca.json. 키트가 없으면 사용자와 함께 marcas/_modelo.md를 기반으로 만드십시오.
워크플로
- 폴더 생성:
npm run novo -- --motor v3 --marca <marca> --tipo <tipo> --audio <sem|musica|locucao> --slug <slug>. 그러면 세로형(1080×1920, 30fps, 안전 여백 8% / 12% / 하단 20% 없음)reels/<aaaa-mm-dd>-<slug>/가 생성되며,index.html,runtime/(v3/runtime에서 복사),tema.css, 로고,cenas.json,BRIEF.md(motor: v3,audio:)가 포함됩니다. 비트 구조는v3/templates/film.html을 참조하십시오. - 브랜드, 아이디어 (motionmaxxing의 초기 단계): 브랜드 인벤토리, 첫 번째 아이디어는 보류, 다른 유형의 아이디어 2개 더, 로고 커버 테스트. 아이디어는 브랜드의 상징, 도구 또는 방식에서 나옵니다.
- 대본 — 비디오 전 유일한 승인 단계:
- 메커니즘을 한 문장으로;
- 표: 장면 · 시간 · 구매 (시청자가 믿게 되는 것) · 화면에 나타나는 것 · 화면 텍스트;
- 오디오 질문: 없음(사용자가 소셜 네트워크에서 음악 추가), 음악 및 효과음만, 또는 내레이션과 음악. 음악, 효과음, 내레이션이 ElevenLabs 크레딧을 소모하며 예상 비용을 알리십시오.
- 제안된 게시글 캡션.
'예'를 기다리십시오.
cenas.json(id,duracao,compra,texto; 총 15~30초) 및legenda.txt를 저장하십시오.index.html의Motion.filmduration을 장면 합계로 조정하십시오.
- 빌드 (가장 어려운 장면부터):
node v3/scripts/render.mjs reels/<pasta>/index.html --still t1,t2 <saída>를 실행하고 Read 도구로 PNG를 열어보십시오. 3D (M.hero3d)는 주요 순간에만 사용하십시오. 3D 렌더링은 느립니다. - AI 배경 (선택 사항): 배경 또는 표면만,
python3 -I v3/scripts/imagegen.py plates.json --out reels/<pasta>/assets/gen,"size": [1080, 1920],"aspect": "9:16"사용. 절대 매물, 건물, 판매 제품, 사람, 고객, 텍스트, 로고 또는 화면을 생성하지 마십시오.NOTE.md에 선언하십시오. 비용이 발생합니다. 예상 비용을 알리고 동의를 받으십시오. - 오디오 (선택된 경우): 저장소 루트에서 실행하십시오 (
ELEVENLABS_API_KEY는 루트의.env에 있음):python3 -I v3/scripts/voice.py sfx --batch …,voice.py music …,voice.py vo …(사용자와 함께 음성 선택;voice.py voices는 계정의 음성 목록을 표시), 출력은reels/<pasta>/audio/에, 최종 믹스는audio/mix.wav(v3/scripts/mix.py사용). 권한 오류 401 = 키에 해당 리소스가 ElevenLabs 패널에서 활성화되지 않음: 사용자에게 알리고 오디오 없이 진행할 것을 제안하십시오. - 확인:
npm run verificar -- reels/<pasta>가 APROVADO를 반환할 때까지 실행하십시오. lint (G5), 0.5배속 드래프트, look (G0, G2, G3), 브랜드 규칙 ([PENDENTE], 금지 용어, 판매 시 전문 자격증)을 실행합니다.quadros/sheet.jpg를 열고 G1 (읽을 수 있는 증거) 및 G4 (프레임당 하나의 주요 사물)를 판단하기 전에 각 프레임을 한 문장으로 설명하십시오. NOTE.md(필수): 아이디어와 그 이유; 각 장면이 구매하는 것; 실제와 예시 또는 생성된 것; 게이트 번호; 프레임 문장; 확인하지 못한 것; 개선할 점. 절대 비디오가 좋다고 인증하지 마십시오.- 납품:
npm run entregar -- reels/<pasta>.NOTE.md,legenda.txt가 없거나, 오디오가 선택되었으나audio/mix.wav가 없거나, 확인 후 릴이 변경된 경우 거부합니다. 1080p로 렌더링하고, 마지막에 look을 실행하고, 720p를 만들고, 바이럴+오디오의 경우 오디오 없는 버전도 만듭니다. 모든 것을 납품 폴더 (PASTA_ENTREGAin.env; 없으면entregas/)에 복사합니다. 최종 MP4의 2~3프레임을 엽니다. - 납품 후 시각적 변경 요청: 비디오를 다시 만들기 전에 이미지(스틸)로 2가지 옵션을 보여주십시오.
리뷰 게이트
| 게이트 | 확인 내용 | 방법 |
|---|---|---|
| G0 | 렌더가 존재하고, 움직이며, 계획된 길이와 오디오가 있음 | look.py |
| G1 | 증거를 읽을 수 있음 (인터페이스 텍스트 ≥ 화면 높이의 0.04) | 육안, 프레임 시트 |
| G2 | 3프레임 이상 정지된 구간 없음 | look.py |
| G3 | 최종 카드 0.6~1.4초; 마지막 샷 ≤ 영화의 25% | look.py |
| G4 | 프레임당 하나의 주요 사물 | 육안, 프레임 시트 |
| G5 | 페이지 UI (코너 라벨, 카운터, 바, 일반 UI 카드) 없음 | lint.mjs |
레이어 규칙 (항상 적용)
- 지어낸 것 금지. 출처 없는 숫자, 고객, 증언, 상, 기능 없음; 예시 화면은
NOTE.md에 선언. 데이터 부족 시[PENDENTE]로 표시하고 질문 (verificar가 실패 처리). - 브랜드 키트 규칙: 절대 화면에 나오지 않아야 할 용어는
.env의<MARCA>_PROIBIDOS에; 판매 광고에 필요한 전문 자격증은<MARCA>_PERMITIDOS_VENDA에 입력하고venda유형에서는 필수, 다른 유형에서는 금지. lint G5는 이 자격증을 코너 라벨로 간주하지 않음. - 절대 화면에 표시 금지 (motionmaxxing에서 거부): 코너 라벨 또는 카운터 ("에피소드 01", "01 / …"), 슬라이드스러운 요소, 일반 웹사이트 카드, 지어낸 숫자, 효과적인 문구, 정지된 최종 카드 1.4초 초과. 에피소드 번호는 게시글 캡션에만.
- 텍스트: 카드 또는 단색 띠 위에만, 절대 사진이나 비디오 위에 직접 표시 금지; 제목은 최대 3줄; 하단 20% 영역에 아무것도 배치 금지. 타사 제품: 제품 색상만 사용, 로고 복사 금지.
- 고객 데이터 (이름, 전화번호, 이메일, 금액)는 익명화되어 입력 전에 표시.
- 크레딧 소비 (ElevenLabs, 이미지 생성기)는 예상 비용과 함께 동의 필요.
- 비밀 노출 금지.
.env를 절대 출력하지 마십시오. 스크립트 안에서만 키를 읽으십시오.
엔진 함정
- 가시성은 요소당 하나의 트랙입니다.
M.hide를 첫 번째 작업으로 사용하면 요소가 그 전에 표시됩니다. "이 창에서만"의 경우M.show(el, início, fim)을 사용하십시오. - CSS 클래스에
visibility: hidden을 설정하지 마십시오. 엔진이 인라인 스타일을 지워 요소를 표시하면 클래스가 다시 숨깁니다. NativeUI.arrive는 아직 도착하지 않은 알림을 휴대폰 화면 컷 아래에 숨깁니다. 휴대폰이 없으면 스택을overflow: hidden이 있는 컨테이너에 넣으십시오.hero3d카메라: far plane = 200. 1 단위 = 100px로 작업 (카메라 z ≈ 35.83, fov 30에서 1080×1920 프레임).- 일부 ffmpeg (예: Homebrew의 것)에는 drawtext 필터가 없습니다.
verificar는v3-camada/look.py를 사용하며, 원래look.py를 실행하고 프레임 시트에서 시간만 제거합니다. - 릴 내 비디오:
<video class="clip" data-start="s" data-media-start="s">, 클립은 1080×1920,-g 1로 정확한 seek.
참조
v3/SKILL.md및v3/references/*.md: 방법론 (judgment, idea, director, world, motion, transitions, type, ui-demo, close, sound-sync, slop, tools).v3/runtime/README.md: 엔진 API (M.words,M.enter,M.cut,M.show,M.hero3d,NativeUI).v3/LICENSE및v3/NOTICE: Apache-2.0 라이선스 및 타사 구성 요소.v3-camada/: motion-kit이 추가하는 것 (세로형 모델 및look.py어댑터).- 자매 스킬:
motion-reels(실제 자료만, HyperFrames),motion-v1및motion-v2(Remotion).