Purpose
Apply a subtle noise texture across the entire frame (or a specific layer) to give a printed / risograph / film-grain feel. The key anti-AI tell: AI-generated motion graphics often have perfectly clean fills; grain breaks that perfection.
Params
{
"opacity": 0.08, // 0.05-0.15 range — subtle
"blend_mode": "multiply", // multiply | overlay | soft-light
"texture_resolution": [1920, 1920],
"tile": false, // tile small texture vs full-canvas
"per_shape": false, // apply to each filled shape vs single overlay
"seed": "static", // static (recommended) | per-frame (looks like noise filter)
"intensity_blend_with_pack": true // multiply by pack.micro_imperfection.grain_intensity
}
Behaviour
- Render a PNG noise texture at
texture_resolution. - Overlay on top of all content (or per shape if
per_shape: true) withblend_modeandopacity. - Use a static seed — moving grain looks like a TV filter, not film grain.
Style pack overrides
- SP-C (editorial-cinematic) — opacity 0.05, multiply, full-canvas overlay.
- SP-G (riso-illustration) — opacity 0.12, multiply, per-shape (more aggressive printed feel).
Quality Checks
- Opacity ≤ 0.15 (more than that looks dirty).
- Static seed (not per-frame).
- Multiply blend mode (not normal — that would just be a gray overlay).
Failure Modes
- Grain looks like TV noise. Per-frame seed; switch to static.
- Grain too aggressive. Reduce opacity to 0.05.
- Grain invisible. Wrong blend mode; use multiply.