Hacker News

Opus 5.5 is good at explainer videos

Opus 5.5로 설명 영상을 만드는 에이전트

URL이나 프롬프트를 입력하면 Claude Opus 5.5가 HTML 애니메이션을 만들고 MP4로 렌더링하는 에이전트입니다. 영상 생성 모델 대신 코드와 가상 시계를 활용해 프레임을 재현하며, OpenComputer의 서버리스 에이전트와 microVM으로 실행합니다.

AI 요약

이 프로젝트는 URL 또는 프롬프트 하나를 받아 MP4 설명 영상을 한 번의 실행으로 만드는 에이전트입니다. 사용자가 직접 편집하지 않아도 영상이 나오도록 구성했으며, 결과물과 구현 코드를 함께 공개했습니다. 영상 모델에 장면 생성을 맡기는 대신 Claude Opus 5.5가 HTML과 JavaScript 애니메이션을 작성하고, 브라우저에서 렌더링한 프레임을 영상으로 묶습니다.

구성과 실행

에이전트는 TypeScript 파일 하나로 정의하며, 프레임워크나 별도 큐, 자체 서버를 두지 않습니다. OpenComputer에서 에이전트를 실행하고 모델 게이트웨이, microVM, 세션 API를 함께 제공합니다. 모델은 anthropic/claude-opus-5.5이며, 영상 한 편에 입력 약 9만 토큰과 출력 약 1만5천 토큰을 사용합니다. 대부분은 생성된 HTML입니다.

작업마다 새 microVM을 띄웁니다. 환경은 Amazon Linux 2023의 arm64, 4 vCPU, 메모리 8GB, Node 22입니다. 첫 도구 호출 때 Playwright용 headless Chromium과 정적 ffmpeg를 설치하며, 이 과정에 약 1분이 걸립니다. 작업이 끝나면 가상 머신을 폐기합니다.

도구와 렌더링

에이전트에는 세 가지 도구가 있습니다. web_fetch는 웹페이지의 본문과 제목, 제목 계층, 자주 쓰인 색상 코드, Google Fonts를 가져옵니다. check_scene은 생성한 HTML을 실행하고 JavaScript 오류와 지정 시점에 보이는 텍스트를 확인합니다. render_video는 영상을 렌더링해 업로드합니다.

렌더링에는 가상 시계를 씁니다. requestAnimationFrame, 타이머, Date, CSS 애니메이션, Web Animations의 시간을 가상 시계로 바꾸면 원하는 시점의 화면을 결정적으로 다시 그릴 수 있습니다. 1920×1080 해상도에 초당 30프레임으로 캡처하며, JPEG 프레임을 libx264에 전달하고 CRF 18로 인코딩합니다. 따라서 결과 영상은 별도의 비디오 생성 모델이 아니라 HTML과 브라우저 렌더링 코드에서 나옵니다.

저장과 배포

에이전트 자체에는 비밀 키를 넣지 않습니다. 웹 폼이 Vercel Blob 업로드 토큰을 발급하며, 토큰은 특정 경로에 3시간 동안만 유효합니다. 작업별 manifest에 토큰을 두고 도구가 작업 ID로 가져옵니다. 완성된 MP4는 공개 Blob URL에 저장합니다.

웹페이지는 CLI와 같은 API를 사용합니다. 세션을 만들고 한 번의 요청을 보낸 뒤, tool.started, tool.completed, turn.completed 이벤트를 폴링해 진행 상황을 표시합니다. Blob에 MP4가 나타나면 작업이 끝난 것으로 처리합니다. 저장소에는 에이전트, 렌더러, 웹 앱이 있으며, OpenComputer 계정에 한 번의 클릭으로 배포하거나 npx opencomputer template deploy https://github.com/diggerhq/shipvideo 명령으로 템플릿을 배포할 수 있습니다.

Hacker News 반응

댓글에서는 영상 품질을 두고 의견이 갈립니다. 일부는 기존 프레젠테이션 슬라이드에 전환 효과를 더한 수준이라고 비판했고, 다른 이용자는 Opus 5.5가 코드를 만들고 반복 수정한 뒤 렌더링한다는 점이 일반적인 AI 영상 생성과 다르다고 짚었습니다. 생성 영상보다 코드 기반 애니메이션을 만들고 ffmpeg로 인코딩하는 과정에 관심을 보인 댓글도 있습니다.

  • @threethirtytwo — 영상을 만드는 데 에이전트는 무엇을 사용하나요?
  • @lern_too_spel — 기존 프레젠테이션 슬라이드 제작 기능을 가져와 영상으로 만든 것뿐입니다. 실제 개념을 설명하는 그림이나 애니메이션은 없습니다.
  • @minimaxir — Opus 5.5가 만든 애니메이션이나 영상과 전형적인 AI 슬롭 영상 사이에는 중요한 차이가 있습니다. Opus 5.5는 영상 생성 모델이 아닙니다. 코드를 만들고 반복 수정해 렌더링하며, 그 방법도 여러 가지입니다.
    • @gAI — 이 영상이 어제부터 계속 머릿속에 맴돕니다. After Effects에서 이걸 만들려면 얼마나 오래 걸렸을지 계속 생각하게 됩니다. Opus 5.5로 JavaScript 애니메이션을 만들다가 AE에서 쓸 JSX 스크립트로 내보낼 수도 있다는 걸 알았습니다. 그러면 첫 시안을 만든 뒤 제가 실제로 쓰는 도구에서 작업할 수 있습니다.
  • @syrusakbary — HTML 페이지를 만들고 순수 JavaScript로 시간에 맞춘 애니메이션을 실행한 다음, ffmpeg로 녹화하는 방식이 가장 영리합니다. 약 6개월 전 Edge.js 발표 영상을 12시간 동안 만들었지만 반응이 좋지 않았습니다. 한 달 전 Wasmer SDK 발표 영상은 6시간을 들여 나아졌지만 기대만큼 퍼지지 않았습니다. 큰 예산이 필요하다고 생각했는데, 어제 Opus 5.5를 써보고 놀랐습니다. 블로그 글을 Markdown으로 넣고 현대적이고 세련되며 속도감 있는 발표 영상을 만들어 달라고 했더니 한 번에 나왔습니다.
    • @wewewedxfgdf — ffmpeg로 녹화한다는 게 정확히 무슨 뜻인가요? ffmpeg가 무엇을 녹화하나요?
    • @syrusakbary — 각 프레임을 PNG로 캡처한 뒤 ffmpeg가 영상으로 합치는 것으로 알고 있습니다. Anthropic 쪽에서 설명하면 더 정확할 것 같습니다.
  • @cush — 영리한 방식이긴 합니다. 다만 Opus 5.5와 무슨 관계인지는 모르겠습니다. 전환 애니메이션이 있는 HTML 프레젠테이션은 Opus 4.6 때도 만들 수 있었고, Playwright와 ffmpeg로 녹화하는 것도 모델만의 기능은 아닙니다.
  • @ceroxylon — 다른 사람도 그런지 모르겠지만, 제 도메인을 넣으면 “모델 제공자가 요청을 거부했습니다”라는 메시지가 나옵니다.

원문: Hacker News / 번역·요약: Trawling