What is flipcode?
Short answer: flipcode is FlipLetters’ board language — a small plain-text format for split-flap and flip-dot board animations. A board file lists the board, the output size, and a series of slides with their text, flip transition, hold time and click sound. FlipLetters Studio renders it to an MP4 deterministically: the same code always gives the same video.
flipcode is a file format — a small language like Markdown or LaTeX, not a general programming language. The language is called flipcode; a document is a board file (.flip). Its vocabulary is exactly what a physical flap board can do — boards, slides, flip choreography, holds, click sounds — and nothing more. (Looking for OpenCV’s flipCode? That’s an unrelated image-mirroring argument; see the FAQ below.)
A complete board file
flipletters v1 board: trainboard 8x34 output: 1920x1080 30fps title: DEPARTURES accent: #ffb63d sound: solari volume 0.8 --- slide 1 hold: 12s flip: cascadeRows 11/s jitter 0.2 stagger 0.4 | TIME DESTINATION STATUS TRK | 10:25 LOS ANGELES ON TIME B4 | 10:41 TOKYO HANEDA BOARDING C2
| lines are the board’s text rows, spaces preserved — the code looks like the video it produces. Comments start with //. Global directives come first; each --- line (3+ dashes) starts a slide.
Board types and size limits
minimal3×146×24Big title letterstrainboard / station8×3412×44Departures gridartboard / art10×1820×36Pixel / paint flapsflipdot / dots28×8456×168Dense = slower exportmarquee / desk1×102×16One short wordannouncement / poster7×810×12Portrait milestonesOversized grids are clamped to the max. The Studio has one newer board beyond spec v1 (arena / lightbox) — see /docs for the full list.
Cheat sheet: global directives
name:project name — free textboard:template + grid, e.g. trainboard 8x34 (sizes in the table above)output:a preset (yt-1080/landscape, yt-4k, vertical/reels/portrait, square) or any WIDTHxHEIGHT with 30fps — compact 1200x630@25 allowedtitle:board header (station & announcement boards), ≤40 charsaccent:accent color — #rrggbb or #rgbbackdrop:classic · cream · confetti (minimal & announcement boards)sound:solari · thock · deep · clickity · fizz · none, plus volume 0..1 (percents allowed) and softness 0..1speed:global pace 0.25–2, x suffix optionalseed:non-negative integer — re-rolls all deterministic jitterwatermark:on · offbrief:free text — the AI prompt this template came fromCheat sheet: slides
--- slidestarts a slide (any line of 3+ dashes)hold:seconds the finished board holds, 0–60, s suffix optionalflip:transition mode + rate + jitter + stagger (see below)align:left · center (flip-dot & marquee text)| textone board text row — spaces preserved, uppercased: cellsone paint-grid row (art & dot boards): color flaps ■ R G B Y O P K, . blank, ● dotBoards cap at 24 slides. Text rows use A–Z, 0–9, space and .,:!?'&@#$%()+-=/.
Transition modes
Set with flip:, then a rate of 2–30 flips per second (11/s), jitter 0–1 and stagger 0–1.5 — keyed or positional (flip: cascade 11 0.2 0.4).
allAtOnce / allevery cell flips at oncecascadeRows / cascaderow by row, top to bottomsweepColumns / sweepcolumn by column, left to rightrandomDissolve / dissolvecells flip in random orderwavea wave rolls across the boarddiagonalcells flip along diagonalsradialcells flip outward from the centerspinStop / spinevery cell spins and locks in randomlyFlip-native effect recipes
There is deliberately no fade, zoom, or slide-in — a flap board can’t do those. Every effect people reach for has a flip-native equivalent:
Fade inthe first slide always flips up from blank; a slow randomDissolve (5/s, jitter 0.4) reads as a soft dissolveFade outend with an all-blank slide on randomDissolve — the board dissolves back to empty flapsHard cutflip: allAtOnce 20/s jitter 0Reveal line by linecascadeRows with a large staggerSuspensespinStop — every cell spins and locks in randomlyHold a beatrepeat the previous slide's rows with a long hold — identical cells don't flipImagespictures become flaps, not files: the Studio rasterizes an upload into : paint rows; flipcode never references image files or URLsWhere to go next
The spec is open: the written rules and the zero-dependency reference parser live at github.com/tera-sarah/flipcode (MIT). The full reference — including the arena board, boards in URLs, and the MCP for AI agents — is on /docs. To render a board file as video, paste it into the Studio and export the MP4.
flipcode FAQ
What is flipcode?
flipcode is a small plain-text format for split-flap and flip-dot board animations. A board file lists the board, the output size, and a series of slides with their text, flip transition, hold time and click sound. FlipLetters Studio renders it to an MP4 deterministically: the same code always gives the same video.
Is this the same as OpenCV flipCode?
No. OpenCV's flipCode is an argument to cv2.flip() that mirrors an image (0 = vertical, 1 = horizontal, -1 = both). FlipLetters flipcode is an unrelated text format for split-flap board videos.
How do I make a split-flap video from flipcode?
Paste a board file into FlipLetters Studio at app.flipletters.com, or start from a free template, then export an MP4. Free exports carry a small watermark.