Nodes/ComfyUI-Sonder-Editor/Sonder Driver Selector
ComfyUI Node

Sonder Driver Selector

'is there a driver this run?' without decoding a frame

By SonderSaid·Created about a month ago·Updated 12 days ago· 30
Sonder Driver Selector
  • project
  • driver_ref
  • has_driver
driver_lane_index0
driver_selector_overrides_json{}

Sonder Driver Selector is the "peek before you commit" half of the driver system in Sonder Editor. In a Sonder project, a Driver lane is how you make the generation follow an external motion source - an OpenPose video, a face track, anything that drives the output frame for frame. That's the IC-LoRA motion-transfer technique the pack demos in its launch material: put a pose clip on a Driver lane, and the generation stays in lockstep with it.

The Selector's job is deceptively small and genuinely important: it resolves which Driver lane is active for the current render window without decoding any media. It hands you two things - a reference to the driver, and a has_driver flag you can use to route the graph. Decoding is expensive and pointless if there's no driver on the selected range, so this node answers "is there a driver, and which one?" for almost nothing.

How it works

Wire the project output from a Sonder Editor in. The optional driver_lane_index picks which Driver lane you mean (zero-based, default 0), and driver_selector_overrides_json is a workflow-local override for the editor's driver state - leave it as {} until you actually need to force things from the graph side. Missing lanes are treated as "no driver," which is the graceful default.

Outputs:

  • driver_ref - a resolved reference to the lane. This is not frames; it's a lightweight handle you pass to Sonder Driver Bridge, which does the actual decoding.
  • has_driver - 1 if the selected lane contributes media to the render window, 0 if not. This is the lazy-routing signal: wire it into a Sonder Switch or Cluster's select and the graph can choose the driver branch or the no-driver branch automatically.

Install and wiring

Part of the Sonder pack - ComfyUI Manager search Sonder Editor, or git clone https://github.com/SonderSaid/ComfyUI-Sonder-Editor.git into custom_nodes, pip install -r requirements.txt, restart. It's a classic (V1-style) node, so it loads everywhere the pack does.

The pattern the README wants you to use: put the Selector outside the driver branch, use has_driver to drive the Switch/Cluster, and pass driver_ref into Sonder Driver Bridge inside the active branch. If has_driver is 0, the Bridge still runs but emits a black fallback and strength 0 - so the whole driver subsystem degrades gracefully when a scene simply has no driver. That's the design to appreciate: one clean branch point, decided for free, no frames decoded until you're sure you need them.

The thing people sometimes expect that isn't here: this node doesn't give you images. If you're looking for the actual driver frames, you're one hop further - that's Sonder Driver Bridge's job. The Selector is the scout; the Bridge is the transport.

CategorySonder

Inputs (3)

NameTypeDefaultDescription
projectSONDER_PROJECTWire from the Sonder Editor project output.
driver_lane_indexoptINT00–999Zero-based Driver lane order. Missing lanes are treated as no driver.
driver_selector_overrides_jsonoptSTRING{}Workflow-local Driver selector override state.

Outputs (2)

NameTypeDescription
driver_refSONDER_DRIVER_REFResolved Driver reference for the selected lane. Wire to Sonder Driver Bridge.
has_driverINT0 when no effective driver is present, 1 when the selected lane contributes media.