a 32-bit pixel-art side-scrolling street of noodle shops and arcades at night, pixel rain falls in layered parallax, a cat runs under an awning, neon signs cycle their two-frame animations, one window light turns off.
Pixel-art rainy arcade streetStylized
{
"subject": "a 32-bit pixel-art side-scrolling street of noodle shops and arcades at night",
"action": "pixel rain falls in layered parallax, a cat runs under an awning, neon signs cycle their two-frame animations, one window light turns off",
"scene": "retro-future Tokyo alley rendered as a living game background",
"shot": {
"composition": "side-scroll flat perspective",
"camera_motion": "slow lateral pan with parallax layers",
"lens": "orthographic"
},
"lighting": "dithered neon glow pooling in pixel puddles",
"style": "hand-placed pixel art, 60fps scroll with 12fps sprite animation",
"audio": {
"sfx": "chiptune rain white-noise, muffled 8-bit arcade sounds",
"music": "melancholic chiptune waltz"
},
"color_palette": "neon magenta, cyan, wet asphalt navy",
"negative_prompt": "smooth gradients, anti-aliasing, readable signage text, 3D rendering"
}
Pixel art has a specific motion signature — 'parallax layers' plus '12fps sprite animation' against a 60fps scroll — and naming both is what stops the model from smoothing it into vector art. Dithered neon in pixel puddles is the detail that reads as hand-placed. The negative prompt is doing critical work here: banning 'smooth gradients, anti-aliasing, 3D rendering' is the difference between real pixel art and a filter.
Using & remixing it
Paste the JSON straight into Veo 3 or 3.1, or hit Copy as prose for the flattened sentence version — both work, JSON just keeps the fields easy to tweak. To change the look, re-roll one field at a time (swap the camera_motion or lighting and keep everything else fixed). Want a different subject in the same style? Open it in the Veo 3 prompt generator and edit the fields.