---
title: "Enforce Scene Rules"
description: "Post-LLM cleanup pass that mirrors Andy's three reels-generator enforcers (normalize_solid_bg_color + enforce_collage_min_duration + enforce_scene_composition). Caps solid narration to ≤7 words, collapses consecutive solids, trims trailing solid clusters to the CTA, bumps ai_2/ai_3 to ≥0.4s/rect, and keeps at most 2 videos as ai_1 (rest → ai-asset-fullscreen + speed_ramp). Wire between scene_def_generator and scenes_to_tts so TTS audio reflects the corrected narration."
updated: 2026-04-17
---

# Enforce Scene Rules

**Node type:** `utility:enforce_scene_rules`  
**Category:** `Scene Pipeline`

## Description

Post-LLM cleanup pass that mirrors Andy's three reels-generator enforcers (normalize_solid_bg_color + enforce_collage_min_duration + enforce_scene_composition). Caps solid narration to ≤7 words, collapses consecutive solids, trims trailing solid clusters to the CTA, bumps ai_2/ai_3 to ≥0.4s/rect, and keeps at most 2 videos as ai_1 (rest → ai-asset-fullscreen + speed_ramp). Wire between scene_def_generator and scenes_to_tts so TTS audio reflects the corrected narration.

## Canvas ports

These appear as port handles on the left side of the node.

| ID       | Label           | Details             |
| -------- | --------------- | ------------------- |
| `scenes` | **Scenes JSON** | `TEXT` _(required)_ |

## Sidebar config

These render as form fields in the right-side config panel when the node is selected.

_No sidebar config fields._

## Outputs

| ID       | Label                | Type   |
| -------- | -------------------- | ------ |
| `scenes` | **Corrected Scenes** | `JSON` |

---

_Auto-generated from the Wireflow node registry._

---

Documentation index: fetch https://www.wireflow.ai/llms.txt for the full list of Wireflow docs.
