Nodes/ComfyTV/Blender Camera
ComfyUI Node

Blender Camera

Render a still from Blender straight into your ComfyUI graph

By jtydhr88·Created 3 months ago·Updated about 20 hours ago· 773
Blender Camera
    • image
    force_run_token0
    project_id
    parent_output_id0
    camera
    shadingclay

    "Blender Camera" is how ComfyTV turns the 3D scene you built in the Blender Scene workbench into an actual image your AI stages can use. One Run, and a camera's view of that scene lands as an image output - ready to feed an img2vid, an inpaint, a multi-angle variation, or just to sit in the project as a rendered still. It's the photographic half of the Blender pair: this one shoots stills, its sibling Blender Animation shoots video.

    The useful mental model: Blender Scene is the stage that is the scene. Blender Camera is a camera pointed at it. You build in the workbench, then this node renders what a chosen camera sees. On the ComfyTV canvas that means the camera stage sits downstream of nothing in the data-flow sense - it reads the live scene from the bridge and emits its own snapshot, which then feeds whatever you wire after it.

    How it works

    Under the hood it's a remote-render call. The stage asks the blender-web bridge to render the named camera in "still" mode, polls the render job until it's done (you get progress pushed into the node), then copies the finished PNG into ComfyTV's output area and emits it as the stage's output. No frames, no timeline math - one image, one render, one output. Re-run it and you get a fresh still with the cache invalidated by the force_run_token bump.

    The inputs that matter

    • camera - which camera in the scene renders. You don't type this; it's "managed by the camera picker on the card," so pick from the node body.
    • shading - a combo with two options. clay (default) is the Workbench driving render - flat form + motion + camera, aimed at AI stages that don't want materials fighting the diffusion model. full is the scene's own engine - real materials, Eevee/Cycles, whatever you'd get from hitting F12.

    Everything else (force_run_token, project_id, parent_output_id) is internal plumbing you never touch.

    The output

    • image (COMFYTV_IMAGE) - the rendered still. Wire it into a Generate→Video stage as the I2V starting frame, an inpaint stage, or a variations stage that uses the 3D camera for multi-angle shots.

    Install

    Same as the rest of ComfyTV: ComfyUI Manager (search ComfyTV) or

    cd ComfyUI/custom_nodes
    git clone https://github.com/jtydhr88/ComfyTV
    

    then restart. No extra Python deps, but the blender-web bridge must be running (launch blender-for-comfytv.bat) or the render never starts.

    Where people get burned

    It's the bridge, again, always. Forget to launch the blender-web distribution and this stage dies with "Blender bridge is not running. Launch the blender-web distribution with blender-for-comfytv.bat and try again." Also: no scene loaded in the workbench means no camera to pick, so the card comes up empty. And if you render clay expecting pretty materials, that's on you - clay is for feeding AI stages, full is for final looks. For a clean still of what your 3D scene actually looks like, this is the node to reach for.

    CategoryComfyTV/3D

    Inputs (5)

    NameTypeDefaultDescription
    force_run_tokenINT00–2147483647Internal — bumped on Run to invalidate ComfyUI's input cache.
    project_idSTRINGInternal — populated by the projectStore on the frontend.
    parent_output_idINT00–2147483647Internal — lineage parent set by spawn handlers on the frontend.
    cameraSTRINGScene camera this stage renders. Managed by the camera picker on the card.
    shadingCOMBOclayclay: Workbench driving render (form + motion + camera, for AI stages). full: the scene's own engine, F12.

    Outputs (1)

    NameTypeDescription
    imageCOMFYTV_IMAGE