# I Made a Realistic AI Short Film From Grey Shapes in Blender

> No camera, no actors. How I turned simple grey shapes in Blender into a realistic AI short film, step by step: camera control, real faces and a perfect loop.

By Hugo Caumo · 2026-10-24 · https://3d-agent.com/blog/ai-short-film-blender-workflow

No camera. No actors. Nothing in this clip was filmed.

The loop above is *Pushups for Love*, an 18-second AI short film. Every shot started as a few simple grey shapes in Blender, and I turned them into realistic video with AI, all inside 3D-Agent. Here's how a few simple grey shapes and one camera move in Blender turn into this.

![Blender blockout vs AI result: shot 1](https://kfgqdunxjdmbvuvs.public.blob.vercel-storage.com/ai-short-film-blender/blender-blockout-vs-ai-result-shot-1-85c1Nq9JS7c7ucvSmvfTOw0p2TD9Fl.jpg "Shot 1: the grey Blender blockout on the left, the AI result on the right.")

This post is the written version of my tutorial. It walks through the whole workflow in four steps: the blockout, the camera trick, the pictures I gave the model (and why my first faces looked like plastic), and how to hide the cut in the loop. You also get every prompt I used, folded under each step: templates with the words to swap highlighted, plus the real prompts from the film. Open one to read it or copy it.

```video
youtube: https://www.youtube.com/watch?v=6Iiwlr8666g
poster: https://kfgqdunxjdmbvuvs.public.blob.vercel-storage.com/ai-short-film-blender/ai-short-film-blender-tutorial-poster-ADyKSoASwlV9hHgMUUuwWq9nvbwn3Z.jpg
title: How I made an AI short film from grey shapes in Blender
caption: The full tutorial, 5 minutes.
duration: 5:10
```

```cta
title: Try 3D-Agent and block out your first scene
text: Describe your scene in plain words. 3D-Agent builds it in Blender with simple grey shapes, ready for you to direct.
button: Try 3D-Agent
href: https://3d-agent.com/?utm_source=blog&utm_medium=article&utm_campaign=pushups_for_love&utm_content=hero
```

## The AI short film: Pushups for Love

A girl is doing pushups in a boutique gym when her crush walks in. She gets up and walks shyly up behind him while he admires himself in the mirror, and we see how she sees herself in that mirror. The camera ends on her eyes. They're the same eyes the film opens on, so it loops forever with no visible cut.

```video
src: https://kfgqdunxjdmbvuvs.public.blob.vercel-storage.com/ai-short-film-blender/pushups-for-love-ai-short-film.mp4
poster: https://kfgqdunxjdmbvuvs.public.blob.vercel-storage.com/ai-short-film-blender/ai-short-film-pushups-pov-R5K9P6YsHmxXwDlUZya2bFhLl7GvEF.jpg
title: Pushups for Love, an 18-second AI short film
caption: The finished film, with sound. 18 seconds, made to loop.
duration: 0:18
```

It's a comedy made of four shots, each 4 to 6 seconds long:

1. **The pushups.** The camera is on the floor. It starts on her eyes, then moves back while she does three pushups.
2. **The crush.** He walks in through the door and slides a hand through his hair. The camera moves in to his face in the mirror.
3. **The walk.** A reverse, wide angle from the other side of the room. She walks up behind him while he does curls.
4. **The mirror.** The camera goes up with her hand and zooms into her eyes in the mirror. This is the loop point.

![AI-generated gym scene: a man walks in and runs a hand through his hair](https://kfgqdunxjdmbvuvs.public.blob.vercel-storage.com/ai-short-film-blender/ai-generated-gym-scene-crush-mirror-wzqwSkdcm0HwO47k9d6nUJ9A0TRHTg.jpg "Shot 2: her crush walks in.")

![Realistic AI video still: a girl stands shyly behind her gym crush](https://kfgqdunxjdmbvuvs.public.blob.vercel-storage.com/ai-short-film-blender/realistic-ai-video-girl-behind-crush-nyy9KBpVy4i7PDyDtb1aG8Chen8zg8.jpg "Shot 3: she walks up behind him while he does curls.")

![AI short film: her reflection in the gym mirror](https://kfgqdunxjdmbvuvs.public.blob.vercel-storage.com/ai-short-film-blender/ai-short-film-mirror-reflection-ornlmai2Vk9F2jreys9gjCkpKZeJzz.jpg "Shot 4: how she sees herself in the mirror.")

## How to make an AI movie in 4 steps

If you've tried to make a movie with AI, or any kind of AI animation, you've probably hit two walls. The AI ignores the camera move you asked for. And the faces look plastic.

This workflow answers both. You're the director: you block the scene in 3D, then let the AI paint it.

```steps How to make an AI short film from a Blender blockout
[Block out the scene in Blender](#step-1-block-out-the-scene-with-blender-ai) Simple grey shapes lock where everyone stands and how they move.
[Make the AI follow your camera](#step-2-make-the-ai-follow-your-camera) Animate the camera in the blockout and use it as the motion reference.
[Condition the prompt](#step-3-prompt-conditioning) Give the model real-looking faces, a first frame per shot, clearly named files and a time-coded prompt.
[Polish and loop](#step-4-final-polish-and-a-perfect-loop) Check the first and last frame of every shot, join the clips and hide the cut.
```

## Step 1: Block out the scene with Blender AI

A blockout is the scene made with simple grey shapes: stand-ins for the actors, the room, the mirror wall and the door. Nothing pretty. It's there to lock where everyone stands and how they move.

![Blender scene blockout of a gym built with simple grey shapes](https://kfgqdunxjdmbvuvs.public.blob.vercel-storage.com/ai-short-film-blender/blender-scene-blockout-grey-gym-bqmrHcPSvtZePEg0oSVZXVtChiNHs2.jpg "The grey gym in the Blender viewport.")

Here's the part that surprises people: I didn't model or animate any of it by hand. I told 3D-Agent what happens (a girl doing three pushups, her crush walks into the gym, she walks up behind him, her reflection in the mirror) and 3D-Agent built it in Blender.

> "I don't model or animate any of this by hand. I just tell 3D-Agent what happens and it builds it in Blender for me."

That's Blender AI animation the way I use it: I describe the action and the agent does the blocking. The result was four shots of 4 to 6 seconds each.

![The four Blender blockout shots of the AI short film](https://kfgqdunxjdmbvuvs.public.blob.vercel-storage.com/ai-short-film-blender/blender-blockout-four-shots-QRhkOkffylNCs5HRo7D3so71WInOSD.jpg "All four blockout shots.")

Why make a blockout if the AI paints over it anyway? Because it shows the video model exactly where things are and how they move. Words are vague. A grey figure walking across a grey room isn't.

### The blockout prompts

Send these to 3D-Agent in a chat with Blender connected: first the set, then one prompt per shot. Keep it grey and simple. Swap the highlighted words for your own story.

```prompt Blockout · the set (template)
Build a simple blockout in Blender for a short film. Grey untextured shapes only, nothing detailed.

The set: {{a boutique gym, about 10 m x 7 m}}. Add {{the walls, a long wall mirror on the right wall, an entrance door on the left wall, a low dumbbell rack along the mirror, a light green exercise mat on the floor, a few machines at the back}}.

The cast: simple mannequin stand-ins at real human scale, each with a different flat color so I can tell them apart: {{a woman in pink}} and {{a man in blue}}.

Scene length: {{4 shots, 4 to 6 seconds each, 24 fps}}. Put each shot on its own frame range and name the cameras CAM_shot1 to CAM_shot4.
```

```prompt Blockout · one shot's action (template)
Shot {{1}}, frames {{1-96}} ({{4}} seconds). Animate the stand-ins:
{{0-1.3 s: the woman does a pushup on the mat.}}
{{1.3-2.7 s: a second pushup, a little slower.}}
{{2.7-4 s: a third pushup, ending at the top with straight arms.}}
Keep the motion simple and readable. No hand or face detail needed.
```

```prompt Blockout · the four shots from the film
Shot 1 (4 s): the woman does three pushups on the mat.
Shot 2 (6 s): the man pushes the door open, walks across the gym to the dumbbell rack, stops facing the mirror and slides a hand back through his hair. He never touches the dumbbells.
Shot 3 (4 s): the man does slow hammer curls facing the mirror. The woman hesitates by the mat, then walks slowly up behind him and stops right behind him, hands together.
Shot 4 (6 s): the woman stands behind him; her right hand slowly rises toward his shoulder and stops just before touching it, then sinks down. He keeps curling and never notices her.
```

```cta
title: 3D-Agent builds the Blender blockout from a description
text: Tell it what happens in your scene. It builds the grey stand-ins, the room and their moves in your own Blender.
button: Try 3D-Agent
href: https://3d-agent.com/?utm_source=blog&utm_medium=article&utm_campaign=pushups_for_love&utm_content=blockout
```

## Step 2: Make the AI follow your camera

Every AI video creator knows this one. You ask for a camera move and you get something completely different. On my first try I asked for a push-in and got a wide shot instead.

![AI video camera control: prompt only vs camera from a Blender blockout](https://kfgqdunxjdmbvuvs.public.blob.vercel-storage.com/ai-short-film-blender/ai-video-camera-control-prompt-vs-blockout-0ephkZUlr6oSKDAQZo7YZ4Ub0bxo8z.jpg "Prompt only (left) vs the camera from the blockout (right).")

The fix: put the camera in the Blender blockout.

> "I put the camera in the blockout and the result just follows it."

![Blender camera view used as the motion reference for AI video](https://kfgqdunxjdmbvuvs.public.blob.vercel-storage.com/ai-short-film-blender/blender-camera-view-motion-reference-Y1cZM525kw4Bqt7tRoh1fmaINjufDY.jpg "Looking through the Blender camera. This view becomes the motion reference.")

Each of the four shots follows its own planned camera move:

- **Shot 1:** starts on her eyes and moves back along the floor while she does her pushups.
- **Shot 2:** moves in to his face in the mirror.
- **Shot 3:** a wide reverse angle from the other side of the room.
- **Shot 4:** goes up with her hand, then zooms into her eyes in the mirror.

![Blender grey mannequins vs realistic AI video: shot 2](https://kfgqdunxjdmbvuvs.public.blob.vercel-storage.com/ai-short-film-blender/blender-blockout-vs-ai-result-shot-2-6Kgr2nNyRuLHhRMWCDvg4hKUWuxiFv.jpg "Shot 2: the camera moves in to his face in the mirror.")

![Same camera and timing: Blender blockout vs AI video, shot 3](https://kfgqdunxjdmbvuvs.public.blob.vercel-storage.com/ai-short-film-blender/blender-blockout-vs-ai-result-shot-3-Almj2IL6oxqNnnt8eXcinAyzDc4sjL.jpg "Shot 3: same camera, same timing.")

![Blender blockout vs AI result: the mirror shot](https://kfgqdunxjdmbvuvs.public.blob.vercel-storage.com/ai-short-film-blender/blender-blockout-vs-ai-result-shot-4-9JaKZLDogAz7YG0fXJuwjz2Bir442w.jpg "Shot 4: up with her hand and into the mirror.")

The camera is also what makes the loop. The last shot ends on the same eyes the first shot starts on. Plan that in the blockout and the loop is built in before you generate a single frame.

### The camera prompts

Animate each shot's camera, then render the shot through it. That render becomes the motion reference in step 3.

```prompt Camera · one shot (template)
Animate CAM_shot{{1}} for frames {{1-96}}:
Position: {{on the floor under her face, pointing straight up}}.
Start: {{an extreme close-up of her eyes, long lens}}.
Move: {{zoom out to a 24 mm wide shot by 1 s, then hold still}}.
Keep the move smooth, no shake. Make CAM_shot{{1}} the active camera for these frames.
```

```prompt Render the motion reference (template)
Render a viewport preview of shot {{1}} through CAM_shot{{1}}, frames {{1-96}}, 1280x720, solid grey shading, and save it as motion_ref_shot{{1}}.mp4.
```

```prompt Camera · every shot from the film
Shot 1: camera flat on the mat, pointing straight up under her face. Opens on an extreme close-up of her eyes, zooms out to 24 mm by 1 s, then locked.
Shot 2: her point of view from the mat, 40 cm above the floor, looking slightly up. Turns a little to follow him. 22 mm until 2.4 s, slow zoom to 32 mm by 4.8 s, then a smooth push to about 80 mm on his face in the mirror by 5.6 s, held.
Shot 3: reverse angle from the mirror side, at his right, chest high, looking back across the gym. 19 mm, very wide, no zoom.
Shot 4: her point of view standing behind him. Tilts up with her rising hand, then finds the mirror and zooms from 24 mm to a long lens on her reflection's eyes by 5.5 s.
```

## Step 3: Prompt conditioning

Prompt conditioning is everything you give the model besides the words: pictures of the people, a first frame for every shot, and the blockout as a motion reference. Then the words themselves, with time codes.

### The people

I made pictures of the people in 3D-Agent: the girl, how she sees herself in the mirror, and her crush.

![AI character sheets: the girl, her mirror version and her crush](https://kfgqdunxjdmbvuvs.public.blob.vercel-storage.com/ai-short-film-blender/ai-character-sheets-NI1fZF7fYqXjAq6T7Oezhn2GgrmsBl.jpg "The girl, how she sees herself, and her crush.")

Each one is a character sheet made in 3D-Agent's Image mode. Save them with clear names, like `her_outfit` and `his_outfit`.

```prompt Character sheet (template)
Character sheet of {{a young woman, slim, pale skin, black hair in a low ponytail with short bangs, a tiny mole below her right eye}}. Outfit: {{bubblegum-pink racerback top, dark grey knee-length leggings, white sneakers}}.
Three panels side by side on a flat neutral grey background, same person in all three: full body from the front, full body from the back, and a close-up of her face.
Neutral pose, arms relaxed, even soft light, no shadows on the background. Photoreal. No text, no logos.
```

### A first frame for every shot

Every shot gets its own first frame. For shot 1, I turned her picture into an extreme close-up of her eyes: "obsessed and kind of traumatized, but funny, not horror." The last frame of the film is the same eyes in the mirror, so the loop is invisible.

![First frames for each shot of the AI short film](https://kfgqdunxjdmbvuvs.public.blob.vercel-storage.com/ai-short-film-blender/ai-short-film-first-frames-nROzICAorFODVczenzoA1jWMWsLX6T.jpg "A first frame for each of the four shots.")

Attach the character sheet, the face and the empty room, then describe the frame:

```prompt First frame of a shot (template)
{{Extreme close-up}} photo of the {{young woman}} in the attached references, {{only her eyes}}. {{The camera is on the floor directly below her face, pointing straight up; she holds the top of a pushup and stares down into the lens.}} {{The frame runs from her bangs at the top edge to just below the tip of her nose; both eyes centered.}}
Expression: {{obsessed and traumatized: eyes wide and unblinking, a fixed intense stare into the lens, brows slightly raised and pinched. Comedic, not horror.}}
Her look, 100% match to the references: {{pale skin with a light sweaty sheen, black hair with short bangs, tiny mole below her right eye}}.
Behind her, out of focus: {{a white ceiling with a soft square light panel}}. Same light as the room. Photoreal, real skin texture. No text, no logos.
```

The last shot ends on the same eyes, this time seen in the mirror:

```prompt Last frame for the loop, from the film
Extreme close-up photo of a reflection in a gym wall mirror: only the eyes of the young woman in the attached references. She stares straight into the mirror, so her reflection stares into the lens. Same framing as the first frame: from her bangs to just below the tip of her nose, both eyes centered.
Expression: obsessed and traumatized, eyes wide and unblinking. Comedic, not horror.
Because this is a mirror reflection, the mole appears on the right side of the image.
Behind her, out of focus: a white gym wall. Photoreal, real skin texture. No text, no logos.
```

### Why AI faces look fake (and how to get realistic AI video)

My first try looked like plastic. The reason is simple: the video copies the first picture you give it.

> "Fake face in, fake face out."

![Fake AI face vs realistic AI face: before and after](https://kfgqdunxjdmbvuvs.public.blob.vercel-storage.com/ai-short-film-blender/fake-vs-realistic-ai-face-4iKqJO8CXg7b3EM1KH8KiDnM0ItZrh.jpg "First try: plastic faces. After the fix: real ones.")

Shot 1 came out looking real, so I took one frame from that video and used it as her face reference. I did the same for him. After that, the faces looked real.

![One video frame used as the face reference for realistic AI faces](https://kfgqdunxjdmbvuvs.public.blob.vercel-storage.com/ai-short-film-blender/video-frame-as-face-reference-OKuLlKTrXE0eynFhtBU8fal6SlogMZ.jpg "One frame from shot 1 becomes her face reference.")

If you want realistic AI video, this is the lesson to keep: the picture that goes in first sets the look. Start from a face that already looks real.

No real-looking shot yet? Make a short, realistic test clip of each person in Video mode, pick the most real-looking frame, and save it as `her_face` or `his_face`.

```prompt Real-face test clip (template)
1 continuous shot, 4 seconds, real-time, no cuts. Shot on a real cinema camera, documentary realism, slight handheld micro-movement, fine film grain, natural imperfect light. Real skin with visible pores, light sweat, flyaway hairs. No CGI, no plastic or airbrushed look, no beauty filter. No on-screen text or logos.

@{{his_outfit}} = his face and identity: 100% the same man.

FRAMING: medium close-up from the chest up, facing the camera, in {{a bright boutique gym with blue-grey walls}}. 50 mm lens, shallow depth of field.

HIS LOOK: {{black two-block haircut with a soft fringe, small silver hoop in his right ear, lean athletic build, dark grey tank top}}.

ACTION: {{he finishes a set, breathes out, and gives his reflection a confident look, lips closed, no smile}}. Small natural head movement, natural blinking.

AUDIO: room tone, his breathing. No words, no music.
```

If a still picture still looks like a render, run a realism pass on it:

```prompt Realism pass
Edit the attached image into a real, unedited photograph. Keep the exact composition, camera angle, framing, people, poses, outfits and room layout. Natural, slightly uneven light with soft falloff, real materials with small imperfections, fine film grain, slight lens softness at the edges. Real skin texture with visible pores, a light natural sweat sheen, flyaway hairs. Faces and identity stay 100% the same. No plastic, airbrushed or CGI look. No text, no logos.
```

### Upload order and clear file names

Order matters. Upload the faces first, then the clothes, then the empty room.

Give every file a clear name, like `her_face` or `empty_room`. If they're just "image 1, image 2, image 3", the model gets confused. With clear names, every line of the prompt can point at exactly the picture it means.

![3D-Agent video prompt with clearly named reference images](https://kfgqdunxjdmbvuvs.public.blob.vercel-storage.com/ai-short-film-blender/3d-agent-video-prompt-clear-names-nuhGNvBtBr49ip3hUCclBNhyMoYgFB.jpg "The 3D-Agent prompt: faces, then outfits, then the empty room, each with a clear name.")

The empty room is one more picture, saved as `empty_room`:

```prompt Empty room (template)
Photo of the empty {{boutique gym}} from {{the eye level of someone holding the top of a pushup on the mat: camera about 40 cm above the floor, looking straight ahead and slightly up}}. {{Center-left: the entrance door, frosted glass, closed. Right: the long wall mirror and a low black dumbbell rack along it, machines further back.}} The mirror reflects only the empty room. Nobody in the room.
{{Wide 22 mm lens}}, low angle. {{Bright, slightly cool overhead light from square ceiling panels, soft and even, no hard shadows.}} Photoreal, fine grain. No people, no text, no logos.
```

### The blockout goes in as motion only

The blockout goes in as a motion reference, with a clear instruction:

> "Motion only. Copy the camera, copy the timing, but never the grey figures."

### Time-coded prompts

The prompt has time codes, so each beat of the action lands at a set moment. In Video mode, add the pictures (faces, outfits, then the empty room or the shot's first frame), put the blockout render in the Motion slot, and paste the prompt. The structure: look and realism, what each picture is for, framing, action with time codes, lens, audio, and the "never" rules.

```prompt Video prompt (template)
1 continuous shot, {{4}} seconds, real-time, no cuts. Real camera, documentary realism, slight handheld movement, film grain, natural light. Real skin with pores. No CGI, no plastic look, no text or logos.

@her_face = her FACE and skin: 100% this face and realism.
@his_face = his FACE and skin: 100% this face.
@her_outfit = her outfit and body: {{pink racerback top, grey leggings, white sneakers}}.
@his_outfit = his outfit and build: {{dark grey tank top, black track pants}}.
@empty_room = the room: {{room, light, mat and machines only}}.
@motion_ref = motion only: {{camera, his moves, her path}} and timing. Not its grey figures.

FRAMING: {{where the camera is, what is left/right, who is in frame and how much of them}}.

ACTION:
{{0-0.5s}}: {{what happens first}}.
{{0.5-3.2s}}: {{the main action, with how it feels}}.
{{3.2-4s}}: {{how the shot ends}}.
{{What the other person does the whole time.}}

LENS: {{19 mm very wide, no zoom}}.
AUDIO: {{room tone, steps, breathing}}. No words.

Same woman (@her_face + @her_outfit), same man (@his_face + @his_outfit) throughout. No morphing.
```

If you have a first frame for the shot, add it first and write `@first_frame = opening frame, open on it exactly.` For a shot that must end on an exact picture, like the loop, add `@last_frame = closing frame, end on it exactly.`

Here's the full 3D-Agent prompt for shot 3, the walk, with the time codes highlighted:

```prompt Shot 3 · the walk
1 continuous shot, 4 seconds, real-time, no cuts. Real camera, documentary realism, slight handheld movement, film grain, natural light. Real skin with pores. No CGI, no plastic look, no text or logos.

@her_face = her FACE and skin: 100% this face and realism.
@his_face = his FACE and skin: 100% this face, silver hoop in right ear.
@her_outfit = her outfit and slim body: pink racerback top, grey knee-length leggings, white sneakers, mole below right eye.
@his_outfit = his outfit and lean build: dark grey tank top, black track pants with white stripes.
@empty_room = the empty gym: room, light, mat and machines only.
@motion_ref = motion only: camera, his curls, her path and timing. Not its grey figures.

FRAMING: reverse angle from the mirror side, camera at his right side, chest high, looking back across the gym of @empty_room. Right: the man from the thighs up, face in three-quarter view, eyes on his reflection just past the camera. The woman starts full body by the light green mat and walks up to stop right behind him, close to camera, lower legs out of frame.

HER: just finished her pushups: a light, fresh sweat sheen on her forehead and neck, hair a little messy, loose strands at her temples. Lightly sweaty, never dripping or gross.
{{0-0.5s}}: she hesitates by the mat, fingers fidgeting, unsure.
{{0.5-3.2s}}: she walks toward him at a slow, moderate pace, shy and a little insecure: head slightly lowered, quick glances at him, tucking a strand behind her ear, small careful steps. Ponytail sways, loose strands move, weight shifts foot to foot.
{{3.2-4s}}: she stops right behind him, love-struck but insecure, hands together.
He does slow hammer curls, admiring himself, never noticing her.

LENS: 19mm very wide, no zoom.
AUDIO: gym tone, soft steps, his exhales. No words.

Same woman (@her_face + @her_outfit), same man (@his_face + @his_outfit) throughout. No morphing.
```

![Time-coded AI video prompt: 0–0.5s and 0.5–3.2s](https://kfgqdunxjdmbvuvs.public.blob.vercel-storage.com/ai-short-film-blender/time-coded-ai-video-prompt-LaSkNuPKKH0HZxMuOwNl20H1Vtg9Bk.jpg "The time-coded lines of the shot 3 prompt.")

Look at what's in there besides the time codes. Every reference file is named and gets one job. `@motion_ref` is told it's motion only. And the first lines ask for real skin with pores and no plastic look.

### Then you iterate

In one take, he grabbed dumbbells from a rack that wasn't supposed to be there. The fix was one changed line in the prompt plus one changed move in the blockout: just a hand through his hair. The next take worked.

![Iterating an AI video prompt: before and after the fix](https://kfgqdunxjdmbvuvs.public.blob.vercel-storage.com/ai-short-film-blender/ai-video-prompt-iteration-fix-dZEsZhxiLwPVCRGLEO3ekE8ueonTpm.jpg "Take 1 grabbed dumbbells. One changed line and one changed move fixed it.")

When a take goes wrong, you don't start over. You change the line and the move that caused it.

```prompt The dumbbell fix, before and after
Before:  4.1-6s: he picks up two dumbbells.
After:   4.1-6s: at the rack he stops and faces the mirror. He does not touch the dumbbells. Looking at his reflection, he slowly slides his fingers back through his hair, charming and flirty.
Added:   Hands empty: never holds a dumbbell.
```

A few "never" lines worth keeping at the end of a prompt:

```prompt Never lines (template)
Same {{woman}} (@her_face + @her_outfit) throughout. No morphing.
Motion reference only: never copy its grey figures, colors or room.
Hands empty: never holds a {{dumbbell}}.
The mirror shows only {{him}}; his reflection is exact.
Comedic, never horror.
No on-screen text or logos.
```

## Step 4: Final polish and a perfect loop

First, compare each blockout with its result side by side. The camera and the timing should match. Here, they do.

Then check the first and last frame of every shot, especially where the loop connects. The last frame of shot 4 and the first frame of shot 1 are the same eyes.

![First and last frame show the same eyes for a seamless loop](https://kfgqdunxjdmbvuvs.public.blob.vercel-storage.com/ai-short-film-blender/seamless-loop-first-last-frame-cwHjBuJLV5nVr6yX57atdBojI0aL7C.jpg "The first frame of shot 1 and the last frame of shot 4: the same eyes.")

Finally, join the four clips and play them on loop. Watch it a few times and try to find the cut. If you can't, you're done.

3D-Agent can do the joining for you in Blender's video editor:

```prompt Join the shots and loop (template)
In Blender's video editor, add these clips in order: {{shot1.mp4, shot2.mp4, shot3.mp4, shot4.mp4}}. Trim the last {{3}} frames of {{shot2}}. Keep each clip's own audio. Export the whole sequence as {{film_loop.mp4}}, 1280x720.
```

![Extreme close-up of her eyes, the loop point of the AI film](https://kfgqdunxjdmbvuvs.public.blob.vercel-storage.com/ai-short-film-blender/ai-film-loop-point-eyes-mP9PfDSwNvaEIMAwBaES7nbBV3YdGh.jpg "The loop point: her eyes in the mirror.")

## Bonus tip: always check the last frames

Always check the last frames of every clip. Sometimes the model pastes one of the reference images right at the end. If it does, trim it.

![AI video tip: the last frame is a pasted reference image, so trim it](https://kfgqdunxjdmbvuvs.public.blob.vercel-storage.com/ai-short-film-blender/ai-video-last-frames-check-2z4g9KNOdLdgqmnpyYh6wSjqz1P0iV.jpg "The last frames of one clip. The final frame is a pasted reference image, so it gets trimmed.")

It's easy to miss at full speed, so step through the end of each clip frame by frame before you join them.

## The AI filmmaking tools I used

- **3D-Agent**, an AI tool for Blender. It built the blockout from plain-language descriptions, made the character pictures and the first frames, and generated the video.
- **Blender**, the free 3D software where the blockout and the cameras live.
- **Seedance 2.5**, the video model I used inside 3D-Agent.

Everything, from the grey shapes to the final clips, happened in one place: the 3D-Agent Blender AI plugin. If you're new to the idea of an agent driving Blender, start with the [Blender AI guide](https://3d-agent.com/blender-ai).

That's the whole AI video workflow: block it out, plan the camera, give the model real faces and clear names, then check every frame where the clips meet. Whether you call yourself an AI filmmaker or you're a Blender user trying AI video for the first time, it's the same four steps. And if you've been looking for an AI movie maker that lets you direct the camera, this is the setup I'd start with.

