Skip to content

Film Grain & Bloom F08

0.0s

Previews are illustrative demonstrations of the technique — not your footage. Your real edit is produced later by Claude Code.

F08 · Colour & Finish · intermediate · 3–600s

Layers fine moving film grain over the graded image and lets only the brightest highlights bloom into a soft glow, while faces and detail stay sharp.

A texture pass that sits on top of any base grade. Organic, per-frame grain (luma-weighted so it is strongest in the midtones) breaks up digital smoothness and compression banding, and a thresholded bloom lets windows, practical lights and speculars glow softly into their surroundings like halation on film. Both are restrained enough that skin texture, text and edges remain crisp — the image just feels more photographic.

Try the parameters

Only pixels brighter than this luma bloom.

At 1080 px frame width.

Tint the bloom red-orange like film halation around bright edges.

Best used for

  • — Cinematic reels
  • — Music and mood edits
  • — Backlit or window-lit interviews
  • — Hiding compression banding

Assets

  • ● Source video required

Pairs well with

If assets are missing

If the final delivery platform recompresses heavily, reduce grain to 15–20% and use the fine size, otherwise it turns into blocky noise. Without visible highlights (flat overcast footage), skip the bloom and keep only grain.

Accessibility

Grain is temporal noise — keep it subtle for viewers sensitive to visual noise; do not let bloom reduce caption contrast (captions are composited after this pass).

Individual prompt

updates with the parameters above
# CES style instruction — F08 Film Grain & Bloom

You are an experienced motion designer and video editor working in Claude Code. Apply the **F08 Film Grain & Bloom** technique to the supplied footage as specified below.

**B. Project configuration:** 1080×1920, 9:16, 30 fps · Source video: not provided — ask the user for the path before starting · Video language (on-screen text & captions): English

**Colour & Finish** — A texture pass that sits on top of any base grade. Organic, per-frame grain (luma-weighted so it is strongest in the midtones) breaks up digital smoothness and compression banding, and a thresholded bloom lets windows, practical lights and speculars glow softly into their surroundings like halation on film. Both are restrained enough that skin texture, text and edges remain crisp — the image just feels more photographic.

### F08 Film Grain & Bloom

- **When:** Applies to the whole video
- **Layer / track:** Whole composition
- **What it does:** Layers fine moving film grain over the graded image and lets only the brightest highlights bloom into a soft glow, while faces and detail stay sharp.
- **Parameters:** Grain amount: 30%; Grain size: Medium (16mm); Bloom threshold: 85%; Bloom radius: 24 px; Bloom strength: 35%; Red halation: off
- **Steps:**
  1. Apply the Film Grain & Bloom texture as one global adjustment across the entire 1080×1920 @ 30fps timeline — every camera shot and b-roll clip gets identical settings; no shot is graded in isolation.
  2. Place this pass AFTER the base grade and BEFORE captions/graphics. Bloom: split the graded image, keep only luma above 85% (curves=all='0/0 0.85/0 1/1'), blur it with gblur=sigma=12 (≈ 24px radius at 1080px width), then screen it back at 35%: [g]split[a][b];[b]curves=all='0/0 0.85/0 1/1',gblur=sigma=12[bl];[a][bl]blend=all_mode=screen:all_opacity=0.35.
  3. Grain: medium (16mm-like, ~1.5px structure) at 30% — generate it fresh every frame (temporal, never a frozen overlay): noise=c0s=11:c0f=t+u (luma only; leave chroma clean) and soften the grain structure for the larger size by applying it to a separate noise plate: color=gray:s=1080x1920,noise=c0s=11:c0f=t+u,gblur=sigma=0.6 blended with blend=all_mode=overlay:all_opacity=0.4. Grain must be strongest in midtones and nearly invisible in pure blacks and clipped whites (overlay blending does this).
  4. Full FFmpeg graph (after the base grade): -filter_complex "[0:v]split[a][b];[b]curves=all='0/0 0.85/0 1/1',gblur=sigma=12[bl];[a][bl]blend=all_mode=screen:all_opacity=0.35,noise=c0s=11:c0f=t+u[out]" -map "[out]".
  5. Remotion approximation: render a duplicate of the footage layer with style={{ filter: "brightness(0.59) contrast(8) blur(12px)", mixBlendMode: "screen", opacity: 0.35 }} (threshold → blur order matters: wrap the thresholded element in a parent that applies the blur), plus an SVG <feTurbulence type="fractalNoise" baseFrequency="0.8" seed={frame}> layer in mixBlendMode "overlay" at 0.18 opacity — change the seed every frame (or every 2 frames for a 12fps grain cadence).
  6. Restraint: blooms must not swallow faces — skin must stay below the threshold (if a bright forehead blooms, raise the threshold by 3–5%). Text, UI recordings and screenshots composited later must stay grain-free and sharp.
  7. Verify on sampled frames at 100% zoom: highlight edges glow by ≈ 24px without haloing dark outlines; grain is visible in midtone areas but does not cause flicker in flat walls; encode at a bitrate high enough (≥ 12 Mbps for 1080×1920) that the encoder does not smear the grain into blocks.
- **Assets:** Source video (⚠ MISSING)
- **Fallback:** If the final delivery platform recompresses heavily, reduce grain to 15–20% and use the fine size, otherwise it turns into blocky noise. Without visible highlights (flat overcast footage), skip the bloom and keep only grain.

**G. Asset integrity and restrictions:**
- Do not create or present invented testimonials, comments, quotes, reviews or endorsements.
- Do not fabricate numbers, metrics, charts or results. Data visualisations use only the supplied data.
- Do not create fake screenshots or UI and present them as real. Illustrative graphics must be clearly illustrative.
- Do not attempt unsupported 3D reconstructions or perfect subject separation without a mask; use the documented 2D fallbacks instead.

**I. Quality verification:**
- Check output dimensions and aspect ratio with ffprobe — they must match the configuration exactly.
- Check the output frame rate and that the duration is within ±0.5 s of the target.
- Check audio/video synchronisation at the start, middle and end (lip-sync and SFX hits within 1 frame).
- Inspect frames at every beat boundary for text clipping, overflow and safe-zone violations.
- Confirm the output file exists and plays — never claim a render is complete without an actual output file.
- Report any missing asset or unimplemented effect explicitly.

More colour & finish styles

Pick one base grade. Optionally layer one texture. These are global treatments, not scenes.

Your recipe starts here.

Add a style to begin building.