Communitygithub.com

ai-video-render

결정론적 코드 기반 애니메이션으로 짧은 동영상을 렌더링합니다. 시간의 순수 함수, 고정 시드, 스타일 선택, 샷별 스틸 검사, 헤드리스 프레임 캡처 및 ffmpeg 조립을 포함합니다. ai-video-script 이후, voiceover 이전에 실행됩니다.

ai-video-render란 무엇인가요?

ai-video-render는 스토리보드를 실제 시각적 동영상으로 변환하는 AI 에이전트 스킬입니다. 이 스킬은 결정론적 렌더링 엔진을 사용하여 모든 프레임이 동일한 입력에 대해 동일한 출력을 생성하도록 보장합니다. `window.render(t)` 함수를 통해 시간에 따라 순수하게 프레임을 그리며, `requestAnimationFrame`이나 `setTimeout`과 같은 비결정적 요소는 사용하지 않습니다. 헤드리스 Chrome을 사용하여 각 프레임을 캡처하고 ffmpeg로 조립하여 무음 동영상(`film.mp4`)을 생성합니다. 사용자가 스타일을 선택하면 샷별로 3개의 스틸 프레임(시작, 중간, 끝)을 렌더링하여 텍스트 오버플로우, 겹침, 객체 크기 등을 검증한 후 전체 렌더링을 진행합니다. 3D 스타일은 Blender에서 별도로 렌더링하고 웹 페이지에서 자막을 추가합니다. 최종 출력물로 렌더링 페이지(`render-page.html`, `render.js`), 프레임 캡처(`frames/`), 무음 동영상(`film.mp4`), 렌더링 보고서(`render-report.md`)를 제공합니다. 이 스킬은 Claude Code, Cursor, Codex 등 다양한 AI 에이전트 플랫폼에서 사용할 수 있으며, ai-video-script 다음, voiceover 이전 단계에서 실행됩니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/LaomaiAI/ai-video-skills/tree/HEAD/skills/03-render

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

ai-video-render: 코드 애니메이션 렌더링

사용 시점

film.json이 존재하고 스타일이 선택된 경우입니다. 이 스킬은 스토리보드를 그림으로 변환합니다: 렌더 페이지, 프레임 캡처, 그리고 무음 동영상을 생성합니다. 여기서는 보이스오버 작업이 이루어지지 않습니다.

결정론 계약 (변경 불가)

  • 모든 그림은 시간의 순수 함수입니다: window.render(t)는 어떤 순간의 프레임도 그립니다. requestAnimationFrame, setTimeout, CSS 전환, 또는 내보내기를 위한 프레임 간 저장된 상태를 사용하지 마십시오.
  • 모든 난수는 고정된 시드를 사용합니다. 렌더링 경로에서 시드 없는 난수 소스나 실제 시계를 절대 사용하지 마십시오.
  • 모든 프레임 시작 시 캔버스 상태를 재설정합니다.
  • 페이지는 첫 번째 성공적인 렌더링 후 window.seek(t), window.render(t), window.ready = true를 노출합니다.
  • 동일한 타임스탬프를 두 번 렌더링하면 동일한 프레임이 생성되어야 합니다. 전체 렌더링 전에 scripts/determinism-check.js로 이를 확인하십시오.

1. 스타일 선택 (사용자 선택, 엄격한 게이트)

1개의 스타일과 2개의 다른 대안을 시각적 차이점, 이유, 제한 사항과 함께 style-options.md에 추천하세요. 사용자가 선택할 때까지 기다리세요. "그냥 실행"은 선택 권한이 아닙니다.

스타일 카탈로그 (직접 상위 저장소에서 가져오세요; 프롬프트 파일과 데모 소스는 이 저장소에 없습니다):

  • 플랫 순서도, 손으로 그린 노트, 복고풍 신문, 복고풍 종이 오려내기, 초현실 콜라주, 3D 만화, 검은 배경 기술 (7개 세트, dashi-animationstyle).
  • 15가지 MG 스타일: 플랫 벡터, 선화, 아이소메트릭 2.5D, 3D 렌더링, 쉐이프 모프, 스티커 설명, 사이버펑크 HUD, 콜라주, 오로라 글라스, 바우하우스, 신스웨이브, 픽셀 아트, 리퀴드 모션, 프레임 바이 프레임 라인 보일, 다양한 자막.
  • 36가지 아트 스타일 레시피 (huashu-art-motion) 및 lemo-opuscar 스타일: 임파스토 오일, 수채화, 중국 수묵화, 우키요에, 화이트보드 설명.

스타일 사용 규칙:

  • 하나의 영화는 하나의 스타일, 하나의 테마, 최대 2개의 애니메이션 문법을 사용합니다.
  • 스타일의 프롬프트나 데모에서 방법을 학습한 후, 새 주제에 맞게 콘텐츠를 다시 만드세요. 절대 데모의 구도, 캐릭터 또는 자산을 영화에 복사하지 마십시오.
  • 스타일 프롬프트가 "시그니처 특징을 변경하지 마시오"라고 말하는 경우, 창작 시드(스토리, 브랜드, 카피, 팔레트)나 출력(예: 세로 1080x1920, 재생 시간)만 변경하십시오.
  • 파랑-보라 그라데이션, 어두운 보라색 별이 빛나는 하늘, 또는 네온 청록-보라색(명백한 AI 느낌)은 사용자가 명시적으로 요청하지 않는 한 사용하지 마십시오.
  • 코드는 절대 사실적인 사람 얼굴을 그리지 않습니다. 코드로 만든 장면에 합성된 그린 스크린 캐릭터 샷에만 AI 생성 푸티지를 사용하십시오; 이미지 생성 능력이 없는 경우, 손과 뒷모습만 표시하십시오.

2. 샷별로 구축

  • templates/render-page.html 및 templates/render.js에서 렌더 페이지를 작성합니다. 기본적으로 1920x1080으로 설정합니다 (세로: 1080x1920, 구도와 자막을 다시 배치하며, 가로 프레임을 확대한 것이 아님).
  • 한 번에 하나의 샷을 구축합니다. 샷당 3개의 스틸 프레임(시작, 중간, 끝)을 렌더링하고 텍스트 오버플로우, 겹침, 객체 크기, 및 화면 내 지속 시간을 확인합니다. 다음 샷으로 넘어가기 전에 샷을 수정합니다.
  • 30초를 초과하는 영화의 경우, 먼저 모션 블러 없이 저해상도 샘플을 렌더링하고 확인한 후, 전체 버전을 렌더링합니다.
  • 3D 렌더링 스타일은 예외입니다: Blender에서 그림을 렌더링하고, 웹 페이지에서 단어와 그레인을 추가합니다.

3. 렌더링 및 조립

  • 헤드리스 Chrome은 영화 FPS로 프레임당 하나의 스크린샷을 캡처합니다. ffmpeg(H.264, CRF 16)로 조립합니다. 여기서 오디오 트레이는 비워둡니다; 보이스오버는 다음 스킬에서 믹싱됩니다.
  • 사운드와 그림을 위한 하나의 타임라인을 유지합니다: 컷과 주요 액션은 비트 그리드 또는 보이스오버 타임라인에 위치합니다.
  • ffprobe로 확인: H.264, 1920x1080 (또는 1080x1920), 30fps, 프레임 수가 film.json의 duration 곱하기 fps와 일치해야 합니다.

출력 계약

  • render-page.html + render.js (영화의 렌더 페이지).
  • frames/ (프레임별 캡처).
  • film.mp4 (무음 영상).
  • render-report.md (해상도, fps, 프레임 수, 결정론 검사 결과).

규칙

  • 실행되지 않은 검사는 "실행되지 않음"으로 기록합니다. 절대 발생하지 않은 검사를 통과했다고 주장하지 마십시오.
  • HTML 페이지, 무음 중간 파일, 또는 프롬프트를 완성된 영화로 제시하지 마십시오.
  • 참조 이미지는 사용자 소유 또는 라이선스 취득된 것입니다; 완성된 영화에는 원본 이미지가 포함되지 않습니다.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

관련 스킬