a detective in shirtsleeves at a rain-streaked office window, venetian-blind shadows across his face, lights a cigarette, watches the street below, and speaks the line as smoke curls through the blind slats.
Noir detective monologueDialogue
{
"subject": "a detective in shirtsleeves at a rain-streaked office window, venetian-blind shadows across his face",
"action": "lights a cigarette, watches the street below, and speaks the line as smoke curls through the blind slats",
"dialogue": "\"The city lies to everybody. The rain just makes it honest.\" — low gravel voiceover feel, spoken on camera",
"scene": "1940s private-eye office at night, desk fan turning slowly, neon sign flickering outside",
"shot": {
"composition": "medium shot through the blinds",
"camera_motion": "slow lateral dolly",
"lens": "50mm"
},
"lighting": "hard neon key through blinds, match flare on the light-up",
"style": "classic film noir, deep blacks, gentle grain",
"audio": {
"sfx": "rain on glass, match strike, fan tick, muffled street horns",
"music": "lonely muted trumpet"
},
"color_palette": "noir black, neon red, smoke silver",
"negative_prompt": "text, color anachronisms, modern cars below"
}
The look is entirely in the light — 'hard neon key through venetian blinds' with the shadow bars across the face is the noir signature. The match strike gives a motivated flare on the light-up, a small piece of real physics. Delivering the voiceover line on camera (not as narration) keeps it grounded; the negative prompt bans modern cars below so the period holds.
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.