<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年後にそれが何になるかの一行(今日の機能ではない)、フィルムが教えるべき造語1つ(例:"signal")、昔のやり方のパブリックドメインのアーカイブ映像(https://t.co/t5EaRxnryq Prelinger)、人々が何かを求めていた2000年頃のアーカイブされたウェブページ(Wayback Machine)、本物のドロップを伴う約100〜120 BPMのロイヤリティフリー曲(Mixkit、商用利用無料)、そしてナレーター用の無料の ElevenLabs キー(プリメイドボイスのみ)。
</inputs>
<direction>
a16z x Content Rewards のブランドフィルム、約55秒。売るのは1つの感情と1つのアイデアだけで、機能は決して売らない。本物のアーカイブと本物のウェブページを使い、ストックフッテージは決して使わず、製品画面も決して使わず、偽の UI も決して使わない。ヒーローオブジェクトは1つ:ロゴがエンボスされた3Dボタンで、フィルム内で唯一の彩度のある色。それ以外はすべて白、シルバー、クリーム、そしてアーカイブの黒。ナレーターのタイムスタンプに合わせて一語ずつ点灯する小さな白いキャプション。フィルムの質感:毎フレーム新しいグレイン、明るいエッジのハレーション、柔らかいビネット、温かみのある持ち上げられた黒。ブランドは最後に現れ、それ以前には決して現れない。
禁止:ストックフッテージ、ダッシュボード、チャット UI、機能ツアー、本物のプロフィール写真のないカード、ぐにゃぐにゃした「worm」グラフ線、ランダムなグリッチ、1.5秒を超えるホールド、紫、虹色のグラデーション、ボタン以外のものにオレンジ。
</direction>
<structure>
コールドオープン(0〜8秒):アーカイブ映像が、実際のセリフとともに、光る古いブラウン管テレビで再生され、キャプションが一語ずつ表示される。
過去(8〜17秒):本物の2000年のウェブページにプッシュインし、カーソルが本物の「wanted」投稿の1つに着地し、古いページが1フレームにつき1枚ずつストロボのように切り替わり、カウンターが今日の規模まで毎フレーム刻まれる。ナレーター:"People have always asked the internet for what they need." / "Today, there are five hundred million posts a day."
ブリッジ(17〜30秒):本物の古い問いの銀河。1つの問いが白い輪郭にスナップし、造語のチップが付く("We call that a signal.")。人々が手作業でそれを行っているアーカイブ映像がテレビに映る。一語ごとにカット:"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."、キックでクリーム色のフレームが1枚、そして無音の中でロゴ+URL。
</structure>
<build>
1. HTML ファイル1つ、1920x1080。すべてが seek(t) 内で時間から計算される:CSS トランジションなし、タイマーなし、Math.random なし(シード付きハッシュ)、フレーム間の状態なし。
2. ボタン:three.js の MeshPhysicalMaterial(クリアコート1、ラフネス約0.4)、ACES フィルミック、クール+ウォームのリムスポット、部屋の環境マップ。本物のロゴをエンボスするには、密なディスクをロゴのぼかしたマスクで変位させ、リムに折り込んで角が見えないようにする。ヘアライン金属のベース。
3. カウンター:フィルムのグローバルクロックに対してリニアなので、カットアウェイをまたいでも動き続ける。等幅数字、固定の単位ラベル。
4. キャプション:7語以下、1ショットにつき1つのアイデア、手で配置した改行、画面上には一度に1つのテキストレイヤー。単語のタイムスタンプで0.2秒かけてグレーから白へ(ElevenLabs /with-timestamps)。
5. グリッチ=1〜2フレーム、本物のカットでのみ、常にクリック音付き。読めるものは画面上に8フレーム以上のクリーンなフレームの間、留まる。
6. Playwright でフレームごとにレンダリング(WebGL をヘッドレスでレンダリングするため Chromium を --use-angle=swiftshader で起動)、numpy で仕上げ:フレームごとの新しいグレイン、ハレーション、四隅で約0.65倍のビネット、EDGE-CLAMPED シフトを伴う1px のクロマフリンジ。PNG を ffmpeg にパイプ、h264、24fps。
7. ミックス:ナレーターは音楽より10〜15dB上、話している間は -18dB でダッキング、ヒットは正確なアクションフレームに、-14 LUFS。
</build>
<gotchas>
ナレーターが間を置いても、ビジュアルは止まってはいけない。カウンターが止まったら、レンダリングは壊れている。ボタンがフィルムで最も記憶に残るものでなければ、最初からやり直すこと。
</gotchas>