calesthio/OpenMontage · error · ValueError

Unknown renderer_family {renderer_family!r}. Valid families:

Error message

Unknown renderer_family {renderer_family!r}. Valid families: {sorted(cls.RENDERER_FAMILY_MAP)}. Set renderer_family at proposal stage.

What it means

Error "Unknown renderer_family {renderer_family!r}. Valid families: {sorted(cls.RENDERER_FAMILY_MAP)}. Set renderer_family at proposal stage." thrown in calesthio/OpenMontage.

Source

Thrown at tools/video/video_compose.py:756

        "explainer-teacher": "Explainer",
        "cinematic-trailer": "CinematicRenderer",
        "documentary-montage": "CinematicRenderer",
        "product-reveal": "Explainer",
        "screen-demo": "Explainer",
        "presenter": "TalkingHead",
        "animation-first": "Explainer",
    }

    @classmethod
    def _get_composition_id(cls, renderer_family: str) -> str:
        """Resolve renderer_family to Remotion composition ID.

        Raises ValueError if renderer_family is not recognized — the caller
        must set it at proposal stage.
        """
        comp = cls.RENDERER_FAMILY_MAP.get(renderer_family)
        if comp is None:
            raise ValueError(
                f"Unknown renderer_family {renderer_family!r}. "
                f"Valid families: {sorted(cls.RENDERER_FAMILY_MAP)}. "
                f"Set renderer_family at proposal stage."
            )
        return comp

    @staticmethod
    def _cuts_to_cinematic_scenes(cuts: list[dict[str, Any]]) -> list[dict[str, Any]]:
        """Adapt canonical sequential cuts to CinematicRenderer's scene contract."""

        scenes: list[dict[str, Any]] = []
        timeline_cursor = 0.0
        hard_transitions = {"cut", "none"}
        title_types = {"hero_title", "text_card", "title"}

        for index, cut in enumerate(cuts):
            try:
                source_in = float(cut.get("in_seconds", 0))

View on GitHub (pinned to 95e1c3d0ab)

Solutions

  1. Set renderer_family at the proposal stage to one of the valid families listed in the error.
  2. Check the spelling of renderer_family against RENDERER_FAMILY_MAP keys in tools/video/video_compose.py.

When it happens

Trigger: video_compose receives a renderer_family value that is not in RENDERER_FAMILY_MAP, usually because the proposal stage set an invalid or missing renderer_family.

Common situations: See trigger scenarios.


AI-assisted analysis of calesthio/OpenMontage@95e1c3d0ab (2026-08-15). Data as JSON: /api/errors/b39ace501b637235. Report an issue: GitHub.