Cinematic trading-floor b-roll for the feel, a pixel-perfect timed-HTML broadcast UI for the facts. The ticker isn't melted into a frame — it's a vector-crisp CSS scroll, with a flashing BREAKING pill, a live stat box, and per-beat lower-third headlines, over the whole reel. Headline → context → developing beats → outlook, narrated like an anchor over an urgent bed. Native 9:16, 28s.
@keyframes — composites the flashing BREAKING pill, the channel header, the live stat box, per-beat lower-third headlines, and a scrolling ticker over the top. The pixels carry mood; the HTML carries the broadcast UI. Topic and disclaimer are deliberately neutral — this is a format demo, not live footage.
Cinematic markets base (Ken-Burns slow-zoom on 9:16 keyframes) + a crisp hyperframes-render broadcast overlay · VO + ducked urgent bed · 28s.
Every frame is two things stacked: an AI-generated cinematic plate, and a deterministic broadcast-UI overlay. Each does the job the other can't.
Cinematic markets keyframes from generate_project — trading floors, skylines, abstract data, on-policy subjects with NO real people that sidestep fal's content filter — brought to life with slow motion. Carries the urgency and the scale, what AI video does well. On this reel the motion came from the Ken-Burns stills fallback (ffmpeg zoompan), because fal's video tier was flaky that day. Honest, reliable, exactly 9:16.
One agent-authored HTML document composited over the whole base reel via hyperframes-render: a flashing red BREAKING pill, a "MARKETS FLASH" header, a live S&P 500 ▲ +1.2% stat box, per-beat lower-third headlines that swap at their timestamps, a CSS scrolling ticker (AAPL / NVDA / XOM with green/red deltas), and an "Illustrative — AI-generated b-roll, not live footage" disclaimer. Vector-crisp text AI video can never render legibly.
aspect_ratio:"9:16". Image-led, on-policy markets subjects — NO real people, NO violence — they sidestep fal's content filter.ltx-q-i2v — or, when fal's video tier is flaky, ffmpeg zoompan slow-zoom cover-cropped to 1080×1920. This reel used the Ken-Burns fallback.chatterbox-tts over an urgent instrumental bed from music, mixed with the VO above a ducked bed.create_media's 15s cap, so the cap is called directly with duration:28.The whole hybrid layer is one HTML file. The BREAKING pill pulses on a steps animation, lower thirds are staggered by animation-delay to land on their beats, and the ticker is a single linear scroll. Pixel-perfect, every time — never baked into a generated image.
/* flashing BREAKING pill + per-beat lower thirds + scrolling ticker */ .breaking { background:#d2222d; animation:flash 1s steps(2,end) infinite; } @keyframes flash { 50% { opacity:.35; } } .lt { position:absolute; bottom:230px; opacity:0; } @keyframes show { 0%{opacity:0} 8%,92%{opacity:1} 100%{opacity:0} } .l1 { animation:show 9s 0s forwards; } /* 0–9s */ .l3 { animation:show 10s 18s forwards; } /* 18–28s */ .ticker .run { animation:scroll 18s linear infinite; } <div class="stat">S&P 500 <span class="up">▲ +1.2%</span></div>
generate_project aspect=9:16, cinematic markets, on-policy prompts (no people) → 5/5 done
zoompan slow-zoom, cover-crop 4:3 → 1080×1920 → 5 × ~6s clips
chatterbox-tts anchor VO → music urgent news bed → ffmpeg-audio-mix (VO over ducked bed)
ffmpeg-concat clips + muxed audio → 28s base reel
hyperframes-render timed broadcast-UI HTML, duration:28 (cap called directly — exceeds 15s create_media cap) → final reel
The overlay is the win. The BREAKING pill, the live stat box, the per-beat lower thirds, and the scrolling ticker land pixel-perfect on the CSS timeline — the UI reads as a real news graphics package, in a way no text-to-video model can produce. The hybrid does exactly what it promises: feel from the pixels, broadcast UI from the HTML.
The base used the Ken-Burns stills fallback, not live i2v — fal's video tier was flaky and slow that day. That's the honest mitigation, not a regression: ffmpeg zoompan cover-cropped to 1080×1920 is reliable and exactly 9:16. When the video tier is healthy, ltx-q-i2v (or kling / pixverse / cosmos-3-i2v) gives true camera motion.
Neutral topic ("Markets Flash") and the on-screen "Illustrative — AI-generated b-roll, not live footage" disclaimer are deliberate — no real people, no likeness or misinformation risk. This is the right ceiling for the format: a convincing broadcast UI over honest, on-policy b-roll. Pairs with the live-stream-commentary playbook.
Built from the breaking-news-flash playbook — point it at any neutral, on-policy topic (a market move, a tech launch, a weather system) and it writes the headline → context → developing beats → outlook, renders 9:16 cinematic b-roll, and lays a pixel-perfect broadcast-UI overlay — BREAKING pill, stat box, lower thirds, ticker, disclaimer — on top. Keep the ticker and the stat in the HTML, never in the image.