Inspiration

Creators often begin with a strong story idea but still need to translate it into characters, locations, continuity, shots, storyboard cards, narration, schedules, and production documents. Video Studio was inspired by the need for one conversational production director that can carry an idea through that complete planning workflow.

What it does

Video Studio Production Director turns an everyday-language idea or complete script into an inspectable visual-planning package. The agent develops the story, characters, locations, scenes, continuity, ordered shots, storyboard cards, production schedules, edit information, and a timed narrated storyboard pitch. It can accept original prompts across different genres and locations.

The work runs as a durable job instead of depending on one browser request remaining open. Progress is saved, results can be reviewed, captions are supplied separately, and nothing is published automatically.

How we built it

The program uses Gemini 3.5 Flash for reasoning and structured production planning. A public Python API and private long-running worker run on Google Cloud Run. Google Cloud Tasks coordinates durable asynchronous work, while Cloud Firestore stores job state, progress, and production records. Google Cloud Build and Artifact Registry create repeatable deployments, with the API and worker using the same immutable container image.

The browser interface is built with JavaScript, HTML, and CSS. It exposes the conversation, job progress, storyboard, narration, timing, production documents, and downloadable exports so creators can inspect what the agent produced.

Challenges we ran into

The largest challenge was making a creative workflow reliable across many dependent steps. We had to keep characters, objects, locations, storyboard cards, and narration aligned while long-running visual and audio work continued across worker invocations. We also added strict timing checks so each narration cue describes the card currently visible and the video does not end with unexplained silence.

Other challenges included safe retry behavior, durable progress, private worker authentication, rate limits, human-review gates, separate subtitle output, and ensuring both Cloud Run services deploy from the exact same tested image.

Accomplishments that we're proud of

We built a publicly accessible full program and public source repository rather than a fixed presentation. The agent can accept an original creative request, decompose it into production work, preserve state, generate a coordinated nine-card storyboard and narrated animatic, and compile multiple useful production exports.

We are also proud of the program's auditability. It provides technical receipts, explicit progress, downloadable planning artifacts, separate captions, human-review controls, and a private worker boundary instead of hiding the process behind one unexplained response.

What we learned

We learned that a useful creative agent needs more than a strong model response. It needs durable orchestration, a shared structured production model, continuity rules, bounded retries, visual and narration quality gates, clear status reporting, and human approval at important decisions.

We also learned that timing and continuity must be tested together: a good image is not enough if it appears under the wrong narration, and good narration is not enough if the visual changes location or character unexpectedly.

What's next for Video Studio Production Director

Next, we will expand conversational revision so creators can discuss ideas and request natural-language changes to individual scenes, characters, shots, or pacing. We also plan richer private-media import, longer narrated animatics, more production exports, additional visual consistency checks, and creator-controlled paths from storyboard planning toward finished video production.

Built With

  • css
  • gemini-3.5-flash
  • google-artifact-registry
  • google-cloud-build
  • google-cloud-firestore
  • google-cloud-run
  • google-cloud-tasks
  • html
  • javascript
  • python
Share this project:

Updates

Submission history