The clip above starts with a few people scattered across a plaza. In the result, the same plaza reads as a real crowd: more people, filling more of the space, while the original people, the camera move and the light stay exactly as filmed.
That's the brief behind "AI crowd expansion": a scene was shot with fewer extras than it needed, and the gap gets filled after the fact instead of reshooting with more people on set.
Why thin crowds happen, and why faking them is hard
Budget usually decides how many extras show up on a shoot. A street scene, a stadium background, a rally in the distance: these all read as sparse unless enough people are on camera, and hiring enough people for a wide shot is expensive for a small production.
Filling the gap with AI has to clear a higher bar than most generation jobs:
- No two added people can look the same. A crowd with repeated faces, outfits or walking poses reads as copy-pasted the moment anyone looks twice.
- Depth has to hold. People further from camera need to be smaller, softer and dimmer than people close to it, or the added crowd sits on top of the plate instead of inside it.
- The track has to survive camera motion. If the camera pans or pushes in, every added person has to move with the scene, not stay pinned to a screen position.
Get any of those wrong and the added crowd is the first thing a viewer's eye catches, even if the rest of the shot is untouched.
A workflow that holds up
1. Shoot (or pick) a plate with room to add to
A background with clear space, consistent lighting and a camera move you understand is far easier to fill than a cluttered one. If you're choosing between takes, pick the one where the empty space reads cleanest.
2. Mask the area you're filling, not the whole frame
Draw the region where new people belong and track it across the shot. Everyone already in frame, and everything outside that region, should be left alone. This is the same "change one thing, keep the rest" rule as any other VFX pass: the fewer pixels you let a generative step touch, the fewer places it can go wrong.
3. Generate in passes, not one giant crowd
Add people in smaller groups across a few passes rather than asking for a dense crowd in one shot. It's easier to spot and fix a repeated pose or a wrong depth cue in a pass of five people than to find it buried in fifty.
4. Check for repeats and depth at full size
Scrub the result at 100% looking specifically for identical silhouettes, matching outfits, or people at the wrong size for their distance from camera. These are the tells that give away an added crowd, and they're easy to miss at a thumbnail size.
Asking an agent to do it
Fill the empty right half of the plaza in shot 1 with more people, varied in clothing and pose, sized correctly for their distance from camera. Keep everyone already in frame, the camera move and the lighting exactly as they are. Show me the result before replacing the original.
With the run mode set to review, the agent runs the pass and waits for approval before anything replaces the original clip. You're the one judging whether the added crowd reads as real or as obviously generated.
Do another pass on the left side with a smaller group, matched to the same lighting and depth as the first pass.
Running it in a few passes, checked between each one, catches a bad pose or a depth mismatch before it's buried under more added people.
Where this still needs a human
- Spotting repeats. No tool reliably self-checks for duplicated faces or poses across a crowd; that's a visual review, every pass.
- Depth and scale. Getting size and softness right for distance is a judgment call on each shot, not a setting you set once.
- How big a crowd is honest. Turning three extras into a packed stadium invites more scrutiny than filling out a background that was merely thin. Decide how far you're willing to stretch it before you start generating.
Download the free Shoty editor to try crowd expansion on your own footage. For the other five AI VFX jobs on existing footage, see AI VFX: remove, replace, extend, relight or composite a shot.