Skip to content
Thrivbe
← All experiments
ConcludedStarted July 28, 2026Updated July 28, 2026

Can an agent direct a finished film if the human only ever answers one question at a time?

The Oneironaut

  • Seedance 2.0 (Kie.ai)
  • Nano Banana 2
  • seedance-2.0 skill v6.6.0
  • Claude agents
  • ffmpeg

Relevant services: AI Digital Teammates · Second Brain Audit — €750 · Thrivbe AI

Hypothesis

An earlier experiment showed that a packaged prompting skill can carry a multi-shot AI film. The open question was who holds the craft. If an agent holds all of it, and the human contributes nothing but a choice between concrete options, does a film with an actual story beat survive the process, or does it collapse into competent, meaningless footage?

The test: an original short with a real turn in it, where the director agent never speaks to the human at all. Every creative call comes back as one question with two to four options, relayed by an orchestrator, answered, and locked before anything else moves.

What we built

A reusable seedance-director agent that operates the open-source seedance-2.0 bundle (a router skill, 28 sub-skills and 54 craft references for Seedance 2.0, installed after a dedicated security review). The agent runs the whole loop: interview gates, sequence planning, prompt craft, generation on Kie.ai, frame-by-frame self-inspection of its own output, and retake triage.

The subject came out of the archive rather than a brief. A message Robin wrote in 2013 about lucid dreaming, citing LaBerge, the dreamviews.com forums and Waking Life, described an oneironaut, a drømmefarer, someone standing fully conscious inside their own dream. The film is that message turned into seventeen seconds: a man at a dull kitchen table on a grey morning, a teaspoon that falls upward, and a room that becomes more real than real without a single object turning into something else.

Six numbered creative decisions were locked through the relay (story shape, the tell, the payoff, how much of the man we see, frame shape, sound), plus a separate approval on every generated asset. The result is 16.92 seconds, 4:3, 1664x1248, three clips joined by hard cuts, with a synthesised sound bed.

Learnings

Re-anchor, do not chain. Face drift is the known failure mode of chained generation. Instead of feeding each clip the previous clip's last frame, every clip opened from its own approved still, all three derived from one hero identity image. Drift resets at every cut instead of accumulating. Identity then rests on an image model holding a face across three stills, which is cheap to retry and easy for a human to inspect, rather than on a video model not wandering.

Split reference authority. When a still came back with perfect golden light but the wrong prop and the wrong performance, the fix was to give two references different jobs: one image owns physical reality (identity, blocking, the spoon's size and position), the other owns light and colour only. The corrected frame kept the bloom and got the film back.

Stage the rejections where they are cheap. Six images, three videos, zero video re-rolls. Every clip was kept on its first generation because every argument had already been had at the still stage.

Trim instead of re-rolling. Two motion faults, a spoon that climbed to shelf height past the next clip's pickup and a closing camera that pushed into a close-up when the design called for it to hold on the room, were both solved with ffmpeg for free. The cost was 0.9 seconds of runtime.

What the model actually got wrong was staging, not fidelity. The spoon duplicated into two floating spoons in one still. A frame came back with the man staring down the lens, playing alarm instead of quiet wonder. In clip one his hand travelled to the bowl and the spoon lifted untouched, so the nudge that the whole beat was designed around never happened. That last one was kept: an uncaused lift is the purer version of the idea, and the director said so.

The sound is honest about its limits. Five synthesised elements (fridge hum, dust shimmer, a 55 Hz sub swell, two spoon rings) on an 11.4 dB presence climb from first frame to last, deliberately not loudness-normalised, because the rising dynamic is the design. The agent could measure that mix but could not hear it, and said so. It also refused to fake a human breath out of noise and sine tones, and flagged the gap rather than bodging it.

Log

  • 2026-07-28 — Installed and security-reviewed the seedance-2.0 bundle (v6.6.0, verdict SAFE), built the reusable seedance-director agent, and shot The Oneironaut in one session: 16.92s, 4:3, six images and three videos with no video re-rolls, finished with a synthesised hyperreal sound pass. Full decision log kept live in the project's session state file.