ai21.net
言語

コード生成のピクセルアート人生ストーリー短編

コード生成のピクセルアート人生ストーリー短編 — 1コード生成のピクセルアート人生ストーリー短編 — 2

プロンプト

<inputs>
Ask me for: a voiceover or song with a spoken line (the audio file) and its transcript, 10-12 small objects that sum up my life, two silhouettes to light like a heat camera (a head in profile and a raised hand), and the 3 words I want to land hardest. If I skip any, use the defaults: vinyl, book, camera, cat, coin, game controller, cap, heart, money, plant, clapperboard, skateboard; free CC0 silhouettes from Openverse; action, intention, curiosity.
</inputs>

<direction>
A 20 second 4:3 film, 1440x1080 at 60fps, cut to the voice. Off-white paper, black, one red, one yellow, Geist for every word. Film grain on everything, a soft vignette, and a camera that never rests: a slow handheld float under everything plus a slow push inside every scene.
No scene cuts to the next: each handoff starts on the exact last frame of the scene before. The only hard cuts are the beat flips on the last word.
Every object is pixel art you draw yourself: a 16x16 grid per object, every cell a hand-placed colour, rendered as a 3D block (a darker extrusion down-right, a thin bevel on every cell) with a soft contact shadow.
The silhouettes are lit like a heat camera: the heat comes from how thick the body is at each point, so the nose, the hair and the fingertips run cooler, plus one hotspot and a slow moving noise, mapped through a black > red > orange > cream ramp. The edge stays razor sharp, with a soft glow outside it.
Motion rules: nothing pops in (eased glides of about 0.5s with a soft start), fast moves get real motion blur instead of ghost copies, and captions type with the voice behind a block cursor.
Banned: stock footage, AI video, 3D camera moves, particles, glitch.
</direction>

<structure>
Hang every scene on the transcript's word timings (measure them with faster-whisper word timestamps, one short chunk at a time):
1. The first word fills a yellow card. The card wipes off to the left and the question types underneath on two centred lines that glide to stay centred as they grow, the key word underlined in red as it's spoken.
2. The objects streak past in lanes above and below the words, a cyan four-point flare sweeps in, then the page burns away: black closes in from the edges onto the head, behind a hot red edge.
3. The head heats up on black while the answer types low on the left. A thin white orbit draws itself around the head, its far half passing behind it. On the last word, paper blooms out from inside the head with the objects in it, and the camera falls through: the head rushes past the lens until the paper is all we see.
4. The objects sit on a tilted ring seen in perspective (the front ones bigger and lower, drawn last), slowly turning, each one bobbing; the coin flips and lands with sparks.
5. On each of the 3 words, that object flies out of the ring to the left and grows, the page floods black from it, and the word types beside it (camera: a red shutter star; book: a red ribbon sweep; record: two white orbits and red notes). Then the flood drains back into the object as it flies home, and the camera dives closer into the ring. Put each hero object in the slot that is front-left when its word lands.
6. The ring pulls in a touch, bursts outward, every object turns to ink, and ink blots grow and swallow the page.
7. The hand rises into frame, hot, with the line split either side of it. The heart drops into its palm, then lifts to the centre at the size the next scene holds it.
8. The last word, one letter per beat, the background flipping paper / black / red, the heart holding its place across the cut, the centre object morphing pixel by pixel into the next one.
9. Thin brush strokes sweep through, the letters drift apart and float, then settle back into the word with the heart above it. The camera keeps pushing through the hold.
</structure>

<build>
1. One HTML canvas. Every frame is a pure function of time inside seek(t).
2. Bake each pixel sprite once to an offscreen canvas (the extrusion layers, then the face), then draw it scaled and rotated.
3. The heat: precompute each silhouette's base heat once (a distance transform of the mask, held at the edge value outside it so nothing dark bleeds in when it is upscaled). Every frame, add the hotspot and two octaves of value noise at quarter resolution, map it through a 256-step lookup, upscale it, and cut it with the full-resolution mask.
4. The fall through the head: draw the ring scene into an offscreen layer, mask it with the head scaled up about a point inside the skull, and grow that scale on a cubed curve until the head covers the frame. The ring inside zooms less than the head does, so it reads as depth.
5. The pixel morph: pair every cell of object A with a cell of object B and glide each one's position and colour, with a small random delay per cell.
6. Render with Playwright at 60fps with 8 motion-blur subframes, then lay the original audio back on with ffmpeg.
</build>

<gotchas>
A mask PNG with no alpha channel fills the whole box with heat, so put the silhouette in the alpha. A limb cut by the photo's border shows as a straight edge, so extend the mask past the frame. A handoff only reads as smooth when the last frame of one scene is the first frame of the next: draw the outgoing scene under the transition, and give scenes that show the same ring one shared zoom function. A flood that's still retreating when the next scene starts reads as a hard cut, so let it finish first. A fast ease-out flood reads as a jump; use a soft start.
</gotchas>

<start>
Ask me for the inputs, measure the word timings, then show me 8 stills before you render.
</start>

日本語訳

<inputs>
私に次のものを尋ねてください:話し言葉が入ったボイスオーバーまたは歌(音声ファイル)とその書き起こし、私の人生を要約する 10〜12 個の小さなオブジェクト、ヒートカメラのようにライティングする 2 つのシルエット(横顔の頭部と挙げた手)、そして最も強く響かせたい 3 つの言葉。どれかを省いた場合はデフォルトを使う:レコード、本、カメラ、猫、コイン、ゲームコントローラー、キャップ、ハート、お金、植物、カチンコ、スケートボード;Openverse の無料の CC0 シルエット;行動、意図、好奇心。
</inputs>

<direction>
20 秒の 4:3 フィルム、1440x1080、60fps、声に合わせてカットする。オフホワイトの紙、黒、赤 1 色、黄 1 色、すべての言葉に Geist。全体にフィルムグレイン、柔らかなビネット、そして決して止まらないカメラ:全体の下にゆっくりとした手持ちの浮遊を加え、さらに各シーンの内側でゆっくりと押し込む。
シーンから次のシーンへカットしない:各ハンドオフは直前のシーンの正確な最終フレームから始まる。唯一のハードカットは最後の言葉でのビートフリップだけ。
すべてのオブジェクトは自分で描くピクセルアート:オブジェクトごとに 16x16 のグリッド、各セルに手で置いた色、3D ブロックとしてレンダリングする(右下への暗い押し出し、各セルに細いベベル)、柔らかな接地影付き。
シルエットはヒートカメラのように照らす:熱は各点での体の厚みから生じるので、鼻、髪、指先はより冷たく、さらに 1 つのホットスポットとゆっくり動くノイズを、黒 > 赤 > オレンジ > クリームのランプでマッピングする。エッジは剃刀のように鋭いまま、その外側に柔らかなグロー。
モーションのルール:何もポンと現れない(約 0.5 秒の柔らかな始まりを持つイーズ付きの滑り)、速い動きにはゴーストコピーではなく本物のモーションブラー、キャプションはブロックカーソルを背にして声に合わせてタイプする。
禁止:ストックフッテージ、AI 動画、3D カメラムーブ、パーティクル、グリッチ。
</direction>

<structure>
すべてのシーンを書き起こしの単語タイミングに掛ける(faster-whisper の単語タイムスタンプで、短いチャンクを 1 つずつ測る):
1. 最初の単語が黄色いカードを満たす。カードは左へワイプして消え、その下に質問が中央揃えの 2 行でタイプされる。行は伸びながら中央を保つように滑り、話されるにつれてキーワードに赤い下線が引かれる。
2. オブジェクトが言葉の上下のレーンを流れていく。シアンの 4 点フレアが掃き込み、次にページが燃え去る:黒が端から頭へ向かって閉じ、その背後には熱い赤い縁。
3. 黒の上で頭が熱を帯び、その間に答えが左下でタイプされる。細い白い軌道が頭の周りに自らを描き、その遠い半分は頭の後ろを通る。最後の言葉で、頭の内側からオブジェクトを載せた紙が咲き出し、カメラはそこへ落ちていく:頭がレンズの横を駆け抜け、紙だけが見えるようになるまで。
4. オブジェクトは遠近で見た傾いたリングの上に座る(手前のものはより大きく低く、最後に描かれる)、ゆっくり回転し、それぞれが上下に揺れる。コインは弾けて火花とともに着地する。
5. 3 つの言葉それぞれで、そのオブジェクトがリングから左へ飛び出して大きくなり、ページがそこから黒で満たされ、その横に言葉がタイプされる(カメラ:赤いシャッターの星;本:赤いリボンのスイープ;レコード:2 つの白い軌道と赤い音符)。その後、オブジェクトが家へ飛んで戻るにつれて黒はオブジェクトの中へ引いていき、カメラはリングへさらに潜り込む。各ヒーローオブジェクトは、その言葉が着地するときに手前左になるスロットに置く。
6. リングが少し引き、外へ弾け、すべてのオブジェクトがインクに変わり、インクの染みが広がってページを飲み込む。
7. 手が熱を帯びてフレームに上がり、その両側にセリフが分かれて置かれる。ハートがその手のひらに落ち、次に次のシーンが保持するサイズまで中央へ持ち上がる。
8. 最後の言葉、1 拍に 1 文字、背景は紙/黒/赤と反転し、ハートはカットをまたいでその位置を保ち、中央のオブジェクトはピクセルごとに次のオブジェクトへモーフする。
9. 細い筆のストロークが掃き抜け、文字が離れて漂い、そしてハートを上にした言葉へ戻って落ち着く。カメラはホールドの間も押し続ける。
</structure>

<build>
1. HTML キャンバス 1 枚。すべてのフレームは seek(t) 内の時間の純粋関数。
2. 各ピクセルスプライトを一度オフスクリーンキャンバスにベイクし(押し出しレイヤー、次に面)、それを拡大・回転して描く。
3. 熱:各シルエットの基本熱を一度だけ事前計算する(マスクの距離変換。拡大したときに暗いものがにじまないよう、外側はエッジ値のまま保持する)。毎フレーム、ホットスポットと 2 オクターブのバリューノイズを 4 分の 1 解像度で加え、256 段階のルックアップでマッピングし、拡大して、フル解像度のマスクで切り取る。
4. 頭を突き抜ける落下:リングのシーンをオフスクリーンレイヤーに描き、頭蓋内の一点を中心に拡大した頭でマスクし、頭がフレームを覆うまでそのスケールを 3 乗カーブで増やす。中のリングは頭ほど拡大しないので、奥行きとして読める。
5. ピクセルモーフ:オブジェクト A の各セルをオブジェクト B のセルと対にし、各セルの位置と色を滑らかに動かす。セルごとに小さなランダム遅延を付ける。
6. Playwright で 60fps、8 つのモーションブラーサブフレームでレンダリングし、ffmpeg で元の音声を載せ直す。
</build>

<gotchas>
アルファチャンネルのないマスク PNG はボックス全体を熱で埋めてしまうので、シルエットはアルファに入れる。写真の枠で切られた手足は直線のエッジとして見えるので、マスクをフレームの外まで伸ばす。ハンドオフが滑らかに読めるのは、あるシーンの最終フレームが次のシーンの最初のフレームであるときだけ:出ていくシーンをトランジションの下に描き、同じリングを見せるシーンには共通のズーム関数を 1 つ与える。次のシーンが始まってもまだ引き戻している最中のフラッドはハードカットに見えるので、先に終わらせる。速いイーズアウトのフラッドはジャンプに見える;柔らかな始まりを使う。
</gotchas>

<start>
入力を尋ね、単語のタイミングを測り、レンダリングの前に静止画を 8 枚見せてください。
</start>

出典

原作者
twoclipping
公開日
2026-10-07(由推文 ID 反解)
原典
元の投稿を見る ↗
収録元
yihui-dev/awesome-opus5-5-videos · twoclipping-041659 · MIT
zhuyansen/awesome-opus-5.5-video · 2107822293653041659 · ライセンス未表明
この項目は 2 件の出典を統合・重複排除して作られました