How to Get a Second Camera Angle Out of Footage You Already Shot
The interesting part is not the AI. It is the magenta.
Run this new workflow on a clip and the first thing you see is not a new camera angle. It is your own footage, bent sideways into the angle you asked for, with big magenta blotches where the information ran out. Behind the actor's shoulder. Down the side of the car. The far edge of the room.
That magenta is the honest part. It is the tool telling you exactly what the original camera never saw, before anything gets invented to fill it. And once you have looked at it a few times, the whole job reframes itself. This is not a prompting exercise. It is closer to what a matchmove artist does: measure the scene, decide where the new camera goes, then art-direct the gaps.
The workflow shipped on Sunday, September 20. It is free, it runs on a machine you may already have, and the person who made it published the places it fails alongside the places it works. That second part is rarer than the first.
What you can actually make with it
You have a clip. One angle, already shot, already cut, no chance of a reshoot. You want the same performance from roughly three-quarters instead of straight on, or from slightly above instead of eye level.
That is now a thing you can attempt in an afternoon.
The pieces are two free downloads. The first is a ComfyUI add-on called CrossViewWarp, released under Apache 2.0, which builds the bent version of your footage. The second is an add-on file for MiniMax H3 that teaches the video model to read that bent version as an instruction. Both come from the same author, who goes by Cseti.
The reason this matters more than the last round of camera-control tools is what it replaced. For two years, moving a virtual camera meant writing a sentence about it. "Slow push in, slight low angle." The model read your adjectives and did something adjacent. Here you set a number, and the geometry of your own footage decides where the frame lands.
How it works, in plain terms
Three things happen, in order.
First, a measuring pass. You feed your clip to a node called Run MoGe Inference, which is built into ComfyUI and needs no extra install. MoGe is Microsoft Research's geometry model. It looks at each frame and works out how far away everything in it is. Not a rough guess. Real distances, in metres, for a normal video shot on a normal camera.
Second, the bend. The CrossViewWarp node takes those distances and rebuilds your footage as if the camera had been somewhere else. Every pixel gets moved to where it would appear from the new position. Pixels that would have been hidden behind something get covered up. Areas with no information at all come out magenta.
Third, the generation. The video model gets handed two things at once: the bent version, which carries where the camera now is, and your untouched original, which carries the faces, the lighting and the texture. It reconciles them into a clean shot. The word crossview in your prompt switches the behaviour on.
That division of labour is the clever bit. Geometry and appearance travel down separate paths, so the model never has to guess at your actor's face in order to move the camera.
The steps
Follow the author's own list, which is on the model page. One line is in bold because it is the one people skip.
- Update ComfyUI to version 0.37.0 or newer. It landed on September 20 and brought a sharper third-generation MoGe into the core install.
- Install the CrossViewWarp add-on:
git cloneit intoComfyUI/custom_nodes, restart, refresh the browser. There is nothing to pip install. It runs on what ComfyUI already ships. - Load your clip. Send it to Run MoGe Inference. Send that node's geometry output into CrossView Warp. Use the geometry output, not a plain depth image from some other pack. The author measured this: real geometry roughly halves the error in the bend.
- Run the graph once. This caches a small copy of your clip so the preview stops needing the graph.
- Now play. Drag the preview picture to swing the camera. Scroll to move it closer or further. Scrub the timeline. Everything updates live.
- Load the add-on file,
MiniMax-H3_Ref2VA-LoRA-CrossView-Warp_v1_3500.safetensors, onto the reference-to-video version of MiniMax H3. Strength 0.8. - Wire the bent version into MiniMax H3 Add Guide with the frame index set to 0. Wire your original clip into MiniMax H3 Reference To Video.
- Resize the bent version and the source to the same size before both of those nodes. This is step 5 on the author's own list, printed in bold there too, and it is the one that is easy to skip because both inputs look fine on their own.
- Put
crossviewin the prompt, plus a description of what you want to appear in the magenta areas. Render.
The published settings for the example clips: 124 frames, a first pass at 0.5 megapixels in 16:9 and a second at 1.5, the res_multistep sampler at 8 steps with the matching 8-step speed-up file, and a sigma shift of 12 for video and 3 for audio.
The part worth stealing even if you never use this tool
The live preview. It sounds like a convenience and it is actually the whole ergonomics of the thing.
Most AI video work is a slot machine. You set your controls, queue a job, wait, look, adjust, queue again. Here you run the graph once and then the camera becomes a thing you handle. Drag the picture and the frame swings in your hand. Park the playhead on frame 40, aim, press KEY, scrub to frame 90, aim again, and you have written a camera move without queuing anything.
What makes it trustworthy is that it is not an approximation. The author measured the preview against a full render and found that at most 4 pixels out of 147,456 differ, and those come from one precision conversion on the geometry path. What you audition is what you get.
Nobody is going to put that number in a launch post. It is the number that decides whether you use the thing.
Where it breaks
This is the section that should make you trust the rest of the article, so here it is at full strength.
The usable range is bounded, and the author drew the map. The node colours the orbit control green and yellow so you can see where you are standing. Green runs to about 45 degrees left or right, and 30 degrees above your subject down to 20 degrees below. Yellow runs out to 90 degrees left or right, and plus 45 to minus 35 vertically. Sideways, that yellow is honest: the author says the training material is spread evenly out to 90 degrees. Vertically it is not. Looking up at your subject from further below than minus 20 covers only 3.1 percent of what the thing was trained on. So swing wide if you need to. Get under something at your peril. And past yellow in any direction, you are on your own.
Moving the camera closer or further does not work. Not "works badly." Does not work. The author writes it in bold on the node page: the distance control misbehaves because of a problem in the training material, and the fix is planned for the next release. Angles are the whole product right now. A dolly is not available. If you key a move that includes distance, you will waste the render.
Nearly-no-change angles fail too. If the new position is almost identical to the old one, the bent version looks almost identical to the source and the model gets confused about what it is being asked to do. There is no useful tiny adjustment here.
What you are downloading is a mid-training file. The released add-on is step 3,500 out of a planned 6,000. The author says so on the page. It took 33 hours and 55 minutes on a rented professional card to get that far. This is a work in progress that was published early rather than a finished product held back, which I prefer, but you should know which one you are holding.
The licence follows you. The add-on is a derivative of MiniMax H3 and carries the MiniMax H3 Community Licence. The node itself is Apache 2.0, and the geometry model is MIT, but the file doing the generating is the one that governs your output. Read it before you put a frame of this in anything a client pays for.
And the magenta does not fill itself intelligently. Whatever appears behind your actor's shoulder is invented. You can steer it with the prompt, and you should, but nobody is checking it against the room you actually shot in. On a wide interior that is a small liberty. On a product shot or a branded set, that invented wall is a problem you have to catch by eye.
What this changes about your time
The skill that stops paying here is writing camera language into prompts. The model is not reading your adjectives about the lens any more.
What starts paying is the pre-pass. Does your plate produce a clean measurement, or does it fall apart on glass and hair? Where are the occlusions going to land? What are you putting behind that shoulder? That is a craft question with a craft answer, and anyone who has done matchmove or rotoscoping already has the instincts for it.
The honest summary is that you can now recover an angle you did not shoot, within roughly 45 degrees, from an angle you did, using two free files and a machine you own. That is a real change to what coverage means on a small production, and it is bounded in ways the author has been unusually straight about.
Go and run the measuring pass on a clip of your own before you decide anything else. Not a render. Just the bend, and the magenta, and a long look at where your footage runs out of information. That picture will tell you more about whether this fits your work than any demo reel will.
Sources: CrossView-Warp v1 model page · ComfyUI-CrossViewWarp node · Walkthrough video · MoGe 3 weights · MoGe 3 paper · ComfyUI v0.37.0 notes
Medium metadata Title: How to Get a Second Camera Angle Out of Footage You Already Shot Subtitle: A free ComfyUI workflow re-cameras a clip using measured geometry instead of prompt adjectives. Here is how it works, and the four places its author says it fails. Tags: AI Video, ComfyUI, Filmmaking, Video Editing, Generative AI