I've been chasing consistency in AI video since my first Seedance render. Every test I ran — same character, same lighting, same prompt — something would drift between shots. The logo would subtly change. The texture would shift. The character's jacket would lose a seam.
Then I watched @hellorob's demo on ComfyUI's feed and realized the problem wasn't Seedance 2.0. It was the pipeline feeding it.
What the Pipeline Does
This is a ComfyUI workflow that runs inside a single MCP chat session. You give it a product shot — a bottle, a shoe, a jacket — and it generates consistent Seedance 2.0 video renders from every angle without the typical identity drift.
The pipeline combines three control signals:
- DepthAnything V3 — produces a dense depth map that locks the spatial geometry of the scene
- Canny edge lines — blended with the depth map to preserve fine detail boundaries (edges of logos, stitch lines, textures)
- SAM3 mask — gates the composite to kill the "sprite outline" leakage that plagues Seedance 2.0 renders
The composite control signal is fed directly into Seedance 2.0's image-to-video pipeline as the conditioning input.
The Exact Technique
Here's the specific approach that made it work:
- Frame 1: Render your product shot at your chosen angle. This is your reference frame.
- Depth pass: Run DepthAnything V3 on the reference. The output is a grayscale depth map that tells Seedance 2.0 exactly where everything is in Z-space.
- Edge pass: Run Canny edge detection on the same reference. Tune the low/high thresholds to capture the fine details without picking up noise — the debossed logo, the texture of the fabric, the stitching.
- Blend: Combine the depth map and edge lines into a single control image. The depth map handles the big geometry. The Canny edges handle the micro-details.
- Mask: Apply a SAM3 mask to isolate the subject from the background. This prevents the "sprite outline" — where the subject's edges bleed into the scene between frames.
- Feed to Seedance 2.0: Use the blended control image as your conditioning input, with the reference frame as the image input.
- Direct from Claude: The entire pipeline is packaged as a reusable Claude skill — you describe the shot you want in natural language and the skill runs the entire ComfyUI node graph.
Why It Matters for AI Filmmaking
Consistency is the wall every AI filmmaker hits. You can generate a beautiful shot. You can even generate several. But when you cut them together, the character's face changes, the lighting shifts, the product looks different. That's been the barrier between "AI demo reel" and "AI film."
This pipeline solves the problem at the conditioning level — not by post-processing, not by manual frame correction, but by giving Seedance 2.0 the spatial and edge information it needs to stay consistent from the start.
The fact that it's a reusable Claude skill means you can instruct it in natural language and get consistent results. That's not a workflow trick. That's a production methodology.
GenFlick's Take
This is exactly the direction we're building at GenFlick. Our character consistency system uses a similar approach — reference frames + depth-conditioned generation — but extended to full character animation across scenes, not just product shots. The DepthAnything + Canny + SAM3 pipeline proves the approach works at the shot level. We're scaling it to the scene level.
If you're working on a film project and consistency is your blocker, try this pipeline. It runs in ComfyUI today. The skill is public. And for the first time, I'm not adding "then fix the consistency in post" to my workflow.
Key Takeaway
Consistency isn't about better prompts. It's about better conditioning. Depth, edge, and mask signals tell the model what to keep constant. The prompt tells it what to move. Once you separate those two concerns, Seedance 2.0's output becomes predictable — and predictable is what you need for a film.
GenFlick is building the AI filmmaking stack.
Sign up at genflick.com →