- Home
- Case studies
- Content production
DROWNING, an AI short film: from script to previz to AI video generation
We are making a short film set in a logistics centre, in the order script, camera spec, Blender previz, AI video generation. The finished 42-second video is on YouTube.
- AreaContent production
- PeriodSeptember 2026 – ongoing
- ToolsClaude, Codex, Blender, Higgsfield (Seedance), ffmpeg
- StatusPartly published, production ongoing

DROWNING is a short film that follows an unnamed person working in a logistics centre. It was not made by typing one sentence into an AI video tool. We write the script and camera spec first, build a rough 3D video to check timing, and only then generate scenes with AI.
The project folder's handoff document, script, camera spec, previz build scripts and renders, and the video files. Dialogue and plot from scenes not yet published are left out.
Deliverables
| Deliverable | Details | Status |
|---|---|---|
| Published video | 42 seconds, 1920×1080, subtitled. "A Line to the Drowning" on YouTube | Published |
| Opening motion graphics | About 60 seconds, produced up to a third version | Finished cut on hand |
| Early previz | Main part 120 seconds (2,880 frames) and a 22-second coda (528 frames) | Rendered |
| Extended previz | Six scenes, about 4 min 46 s when joined | Rendered |
| Script and camera spec | Shot list, narration, direction notes, camera position and lens per shot | Final versions on hand |
The order of work
1. The script was fixed first
Length, point of view, aspect ratio, frame rate and colour rules were decided at the script stage. The palette is neutral, with only the brown of parcel boxes and the teal of system screens as accents. Narration was set in the flat tone of an announcement voice, down to the rule that a take with emotion in it is recorded again.
There was an earlier storyline with a different premise. We judged it had too many concepts for two minutes and dropped it; the dropped version was not deleted but kept aside for later work.
2. The camera spec was written separately
Apart from the script, we wrote a shooting spec. For each shot it records the camera position, lens, movement, how it cuts to the next shot, and what has to match the scenes before and after. The English prompt fragments for AI video generation are kept in the same document, shot by shot.
3. Previz was built in Blender

Previz is not the final picture. It is a rough video for checking timing, where the figures stand, and the camera. The figures are simple blocks.
The heart of this work is that the previz was built by script and not by hand. One shot is one function, and running the script rebuilds the scene file.
- A timing change is one line. In the early previz, editing a single list of shot start frames re-aligns everything.
- Length follows the dialogue. In the extended previz, changing a line in the shot list recalculates the shot's length, keyframes, sound effects and markers.
- Only part needs re-rendering. Just the frame range of the changed shot is rendered again.
Rendering favoured speed. The early previz was rendered with a real-time engine at 40% resolution into an image sequence, then assembled into video with ffmpeg.
4. AI video generation ran only after approval
The previz video is the reference for the camera. We first made the images each scene needed, then generated video from those images and the prompts. Generation used 1080p, 16:9 and a length of 17 seconds.
Video generation costs money. So we set a condition for the agent, "do not generate video without approval", and took a pre-generation review document and an execution package first. Work that can be repeated without limit (the previz) is run locally as often as needed; work that costs money (generation) is done in one go after preparation is complete.
Direction rules we fixed
With AI, the picture tends to drift from scene to scene. So the rules to keep were written down concretely.
| Rule | Details |
|---|---|
| One camera move per shot | Slow, kept close to static |
| No effects on a freeze | No glitch sounds, colour bleed or broken frames where the picture stops |
| Length of the silence | The silence in the key scene is exactly 2 seconds, 48 frames |
| Continuity | The first and last scenes share exactly the same framing, and a recurring prop keeps exactly the same shape |
| Subtitles | Added separately after generation |
Where it got stuck, and what remains
- For a while the final production method was undecided. Whether to finish in 2D animation, 3D or AI generation stayed open, and the work stopped at the previz. It is now proceeding with AI generation.
- Block figures made two people hard to tell apart. In the scene where two characters appear together it was unclear who was who, and we noted that its framing has to be redone.
- Dialogue pacing is provisional. Shot lengths in the extended previz are calculated from an assumed speaking rate per role. They need replacing with measured voice recordings.
- The format changed from the first plan. It was planned as a vertical video under two minutes; the previz and the published video are horizontal 16:9.
- The whole film is not finished. What is published is 42 seconds; the remaining scenes are at the previz stage.
What we take from this
In AI video generation, the result was decided less by the generation tool than by the stages before it. With a script, a camera spec and a previz, it is clear what to ask for at generation time and possible to judge whether the result meets the standard. We make ad video in the same order.