Cockpit service animation — ink line-art edition (63 s)
A 12-scene, 63-second animation introducing SQUAREONE Cockpit, drawn entirely in monochrome hand-inked line art; Cockpit blue appears only on the UI and one word per headline. No editing software — every frame is drawn in Python (Pillow) and encoded with ffmpeg.
| Pillow モーションエンジン (movie2.py) | Draws all 12 cuts frame by frame → rawvideo → libx264 |
|---|---|
| I002 (Sora) アイデンティティパック | Line-art figure patterns, vectorised with potrace and re-rasterised for 1080p |
| inkui.py | Diagrams and UI generated in the same ink language |
| ElevenLabs eleven_v3 | Twelve narration lines (Popo / Calm JP) |
| ElevenLabs Music v2 | BGM bed built from the usable spans of two takes with 3-second crossfades |
| sfx.py / mixaudio.py / ffmpeg | SFX, sidechain ducking (−13 dB), −13.7 LUFS integrated |
Structure
The skeleton follows the flat-vector explainers we studied, built on a "scatter → converge" arc across 12 scenes: S1–S2 pose the problem with AI-tool cards scattering and notifications colliding, S3 converges light into the logo, S4 gathers everything into one dashboard, then S5 minutes → proposal, S6 visible knowledge learning, S7 API keys never handed to staff, S8 team-level and company-level optimisation, S9 before/after, S10 connect / distribute / watch, S11 multi-device, and S12 the closing line with the CTA.
No separate subtitle track is burned by design: the large on-screen captions are the body text, and the narration reads them.
How it was made
No editing software was involved. movie2.py owns each scene's timeline, draws every 1920×1080 frame with Pillow, pipes it to ffmpeg as rawvideo and encodes with libx264. The reference video's signature moves — cards staggering in 60 ms apart with a 24 px rise and fade, one accent word per headline with an underline growing from the left, a slow 1.00→1.04 background zoom on every cut — are all implemented as functions.
Figures use I002 patterns vectorised with potrace and carry no colour at all (I002 forbids fills). Connector lines start and end with a margin outside the elements they join, and a dilated alpha mask of the elements cuts the line layer so nothing pierces a card or a figure. Captions sit on paper-coloured plates placed, per frame, in whichever candidate slot has the lowest ink density — faces and hair are the densest black, so they are avoided structurally.
Audio: twelve narration lines from ElevenLabs; a BGM bed made from the usable spans of two Music v2 takes (their tails faded out) joined with 3-second crossfades; sidechain ducking under narration; −13.7 LUFS integrated, −1.0 dBFS true peak, no silent windows.
QC
Every cut was measured for stillness and frame delta; low-resolution metrics fail to register thin ink lines on pale paper, so full-resolution measurements were recorded alongside in the manifest.
- 63-second flat-vector colour edition (C005) completed
- Identity switched to I002 ink line art; diagrams and UI redrawn with inkui.py. Ink edition adopted