<inputs>
Ask me for: a brand name, its logo (SVG or high-res PNG), one line of what it becomes in 5 years (not today's features), one coined word the film should teach (e.g. "signal"), a public-domain archival clip of the old way of doing it (https://t.co/t5EaRxnryq Prelinger), an archived web page from ~2000 where people asked for things (Wayback Machine), a royalty-free song ~100-120 BPM with a real drop (Mixkit, free for commercial use), and a free ElevenLabs key for the narrator (premade voices only).
</inputs>
<direction>
An a16z x Content Rewards brand film, ~55s. It sells one feeling and one idea, never features. Real archival and real web pages, never stock footage, never product screens, never fake UI. One hero object: a 3D button with the logo embossed into it, the ONLY saturated colour in the film. Everything else white, silver, cream and archival black. Small white captions that light up word by word on the narrator's timestamps. Film texture: fresh grain every frame, halation on bright edges, soft vignette, warm lifted blacks. The brand appears at the end, never before.
Banned: stock footage, dashboards, chat UIs, feature tours, cards without real profile pictures, wobbly "worm" graph lines, random glitches, any hold longer than 1.5s, purple, rainbow gradients, orange on anything but the button.
</direction>
<structure>
Cold open (0-8s): the archival clip plays on a glowing old CRT TV with its real dialogue, captions word by word.
The past (8-17s): push into the real 2000 web page, a cursor lands on one real "wanted" post, old pages strobe one per frame, a counter ticks EVERY frame up to today's scale. Narrator: "People have always asked the internet for what they need." / "Today, there are five hundred million posts a day."
Bridge (17-30s): a galaxy of real old asks. One ask snaps to a white outline with a chip of the coined word ("We call that a signal."). Archival of people doing it by hand on the TV. Cut on each word: "Door by door. Call by call. Scroll by scroll." The narrator never stops talking between acts.
Button (30s): the button rises out of black, rim light first, colourless. "[Brand] finds the signals." A flat grey line: "this is how you find customers by hand". Hard cut to a button macro, the colour comes alive, the music drop lands on this exact frame. "and this... is with [Brand]": a steep lit curve, counters changing every frame, a glowing sine with a comet head the camera chases, then platform strikes (X, Reddit, LinkedIn, YouTube, Instagram, TikTok) each with its own counter, then the galaxy again with glowing platform logos: "Every signal on the internet." Hyperspace.
End: the tagline word by word, then "[Brand] is live.", ONE cream frame on the kick, then logo + URL in silence.
</structure>
<build>
1. One HTML file, 1920x1080. Everything is computed from time inside seek(t): no CSS transitions, no timers, no Math.random (seeded hash), no state between frames.
2. Button: three.js MeshPhysicalMaterial (clearcoat 1, roughness ~0.4), ACES filmic, cool + warm rim spots, room env map. Emboss the real logo by displacing a dense disc with a blurred mask of the logo, folded into the rim so corners don't show. Brushed-metal base.
3. Counters: linear on the film's global clock, so they keep running through cutaways. Tabular numerals, fixed unit label.
4. Captions: <=7 words, one idea per shot, hand-placed line breaks, one text layer on screen at a time. Grey to white over 0.2s on the word timestamps (ElevenLabs /with-timestamps).
5. Glitch = 1-2 frames, only on a real cut, always with a click. Readable things stay on screen >= 8 clean frames.
6. Render with Playwright per frame (Chromium with --use-angle=swiftshader so WebGL renders headless), finish in numpy: fresh grain per frame, halation, vignette ~0.65x at the corners, 1px chroma fringe with EDGE-CLAMPED shifts. Pipe PNGs into ffmpeg, h264, 24fps.
7. Mix: narrator 10-15dB over the music, duck -18dB while speaking, hits on the exact action frame, -14 LUFS.
</build>
<gotchas>
If the narrator pauses, the visuals must not stop. If a counter freezes, the render is broken. If the button isn't the most memorable thing in the film, start over.
</gotchas>
한국어 번역
<inputs>
저에게 다음을 요청하세요: 브랜드 이름, 그 로고(SVG 또는 고해상도 PNG), 5년 후 그것이 무엇이 되는지 한 줄(오늘의 기능이 아니라), 영상이 가르쳐야 할 조어 하나(예: "signal"), 예전 방식으로 하던 일의 퍼블릭 도메인 아카이브 클립(https://t.co/t5EaRxnryq Prelinger), 사람들이 무언가를 요청했던 2000년경의 아카이브 웹 페이지(Wayback Machine), 실제 드롭이 있는 약 100-120 BPM의 로열티 프리 곡(Mixkit, 상업적 사용 무료), 그리고 내레이터를 위한 무료 ElevenLabs 키(프리메이드 보이스만).
</inputs>
<direction>
a16z x Content Rewards 브랜드 필름, 약 55초. 하나의 감정과 하나의 아이디어를 파는 것이며, 기능은 절대 팔지 않습니다. 실제 아카이브와 실제 웹 페이지를 사용하고, 스톡 푸티지도, 제품 화면도, 가짜 UI도 절대 사용하지 않습니다. 히어로 오브젝트 하나: 로고가 엠보싱된 3D 버튼, 영상에서 유일하게 채도가 높은 색. 나머지는 모두 화이트, 실버, 크림, 아카이브 블랙. 내레이터의 타임스탬프에 맞춰 단어별로 점등되는 작은 흰색 캡션. 필름 질감: 매 프레임 새 그레인, 밝은 가장자리의 할레이션, 부드러운 비네트, 따뜻하게 들어 올린 블랙. 브랜드는 마지막에 등장하며, 그 전에는 절대 등장하지 않습니다.
금지: 스톡 푸티지, 대시보드, 채팅 UI, 기능 투어, 실제 프로필 사진이 없는 카드, 흔들리는 "worm" 그래프 라인, 무작위 글리치, 1.5초를 넘는 홀드, 보라색, 무지개 그라디언트, 버튼 외의 것에 사용된 주황색.
</direction>
<structure>
콜드 오픈(0-8초): 아카이브 클립이 빛나는 오래된 CRT TV에서 실제 대사와 함께 재생되고, 캡션이 단어별로 표시됩니다.
과거(8-17초): 실제 2000년 웹 페이지로 밀고 들어가고, 커서가 실제 "wanted" 게시물 하나에 닿고, 오래된 페이지들이 프레임당 하나씩 스트로브처럼 번쩍이고, 카운터가 오늘날의 규모까지 매 프레임 올라갑니다. 내레이터: "People have always asked the internet for what they need." / "Today, there are five hundred million posts a day."
브리지(17-30초): 실제 오래된 요청들의 은하. 요청 하나가 흰색 윤곽으로 스냅되며 조어 칩이 붙습니다("We call that a signal."). TV에서는 사람들이 직접 손으로 하던 모습의 아카이브. 각 단어마다 컷: "Door by door. Call by call. Scroll by scroll." 내레이터는 막 사이에도 계속 말합니다.
버튼(30초): 버튼이 검은색에서 솟아오르고, 림 라이트가 먼저, 무채색. "[Brand] finds the signals." 평평한 회색 선: "this is how you find customers by hand". 버튼 매크로로 하드 컷, 색이 살아나고, 음악 드롭이 정확히 이 프레임에 떨어집니다. "and this... is with [Brand]": 가파르게 빛나는 곡선, 매 프레임 바뀌는 카운터, 카메라가 혜성 머리를 쫓는 빛나는 사인파, 그다음 플랫폼 스트라이크(X, Reddit, LinkedIn, YouTube, Instagram, TikTok)가 각자의 카운터와 함께, 그다음 다시 은하가 빛나는 플랫폼 로고들과 함께: "Every signal on the internet." 하이퍼스페이스.
엔딩: 태그라인이 단어별로, 그다음 "[Brand] is live.", 킥에 크림색 프레임 하나, 그다음 정적 속의 로고 + URL.
</structure>
<build>
1. HTML 파일 하나, 1920x1080. 모든 것은 seek(t) 안에서 시간으로부터 계산됩니다: CSS 트랜지션 없음, 타이머 없음, Math.random 없음(시드 해시), 프레임 간 상태 없음.
2. 버튼: three.js MeshPhysicalMaterial(clearcoat 1, roughness ~0.4), ACES 필믹, 쿨 + 웜 림 스팟, 룸 환경 맵. 로고의 블러 마스크로 밀집 디스크를 변위시켜 실제 로고를 엠보싱하고, 모서리가 드러나지 않도록 림 쪽으로 접어 넣습니다. 브러시드 메탈 베이스.
3. 카운터: 필름의 글로벌 클록에 선형으로, 그래서 컷어웨이를 통해서도 계속 돌아갑니다. 등폭 숫자, 고정 단위 라벨.
4. 캡션: 7단어 이하, 샷당 하나의 아이디어, 직접 배치한 줄바꿈, 한 번에 하나의 텍스트 레이어만 화면에. 단어 타임스탬프에서 0.2초에 걸쳐 회색에서 흰색으로(ElevenLabs /with-timestamps).
5. 글리치 = 1-2프레임, 실제 컷에서만, 항상 클릭과 함께. 읽을 수 있는 것은 8프레임 이상 깨끗하게 화면에 유지.
6. Playwright로 프레임별 렌더링(WebGL이 헤드리스로 렌더링되도록 --use-angle=swiftshader를 사용한 Chromium), numpy로 마무리: 프레임마다 새 그레인, 할레이션, 모서리에서 약 0.65x 비네트, EDGE-CLAMPED 시프트가 있는 1px 크로마 프린지. PNG를 ffmpeg로 파이프, h264, 24fps.
7. 믹스: 내레이터를 음악보다 10-15dB 크게, 말하는 동안 -18dB 덕킹, 정확한 액션 프레임에 히트, -14 LUFS.
</build>
<gotchas>
내레이터가 멈추면 비주얼도 멈추면 안 됩니다. 카운터가 멈추면 렌더가 잘못된 것입니다. 버튼이 영상에서 가장 기억에 남는 것이 아니라면 처음부터 다시 하세요.
</gotchas>