Inspiration

Most generative video tools begin and end with a prompt. Real filmmaking does not.

A production must develop a script, research its visual world, preserve creative decisions, coordinate human review, control expensive generation, and trace every final shot back to an approved source. We built SceneFoundry to close that gap.

Our goal was to create an accountable AI cinema studio where agents accelerate creative work without taking control away from the director.

What it does

SceneFoundry transforms a written idea into a grounded, approved cinematic sequence through a controlled production workflow:

  1. Develop — Create a production with a premise, genre, visual style, aspect ratio, runtime, and budget. Write the screenplay and preserve immutable versions.
  2. Research — Send one bounded request to Parallel for up to five citation-ready sources. Evidence is attributed, stored immutably, and reused for exact retries.
  3. Direct — Gemini 3.5 Flash combines the creative brief, selected evidence, screenplay context, and server-owned production constraints to create a frame-accurate shot plan.
  4. Review — A verified human director inspects the actions, timing, blocking, and composition before approving the exact revision.
  5. Generate — Only approved shots can be submitted to Veo 3.1 Fast. Each request is ownership-checked, budget-gated, idempotent, and tied to an immutable revision.
  6. Produce — Completed videos are streamed privately from Google Cloud Storage and presented as individual shots or as one continuous cinematic sequence.

SceneFoundry also provides application-level accounting for allowance, calculated spend, active reservations, and remaining budget. Exact request IDs prevent accidental duplicate generation when a page is refreshed or a network request is retried.

Our reference production, Midnight Signal, began as a short retro-futurist screenplay about a radio operator receiving a transmission from tomorrow. Parallel grounded its visual language with five cited sources. Gemini converted the direction into three precise four-second shots, and Veo generated a complete twelve-second sequence with audio.

How we built it

The frontend is built with React, TypeScript, and Vite. It provides the production catalog, screenplay editor, evidence library, Director workspace, approval controls, budget dashboard, shot board, private video playback, and continuous scene review.

The backend is built with Python and FastAPI. It owns every trusted boundary, including:

  • Google identity verification
  • Project ownership
  • Immutable request and revision IDs
  • Research selection
  • Production direction
  • Approval state
  • Budget reservation and settlement
  • Gemini and Veo submission
  • Artifact provenance
  • Private media delivery

We built the Director with Google ADK and Gemini 3.5 Flash. Gemini returns structured scene data containing timed actions and non-overlapping frame ranges. The production’s genre, visual style, aspect ratio, and runtime are loaded on the server, preventing the browser from silently changing model instructions.

Parallel provides citation-ready web research through one bounded partner request. The selected evidence becomes immutable grounding for the Director.

Veo 3.1 Fast generates approved cinematic shots at 24 frames per second with audio. SceneFoundry supports four, six, and eight-second generations in both 16:9 and 9:16 formats.

We use Firestore for productions, budgets, research records, model attempts, revisions, approvals, usage receipts, and artifact lineage. Google Cloud Storage holds the generated media. Each cinematic artifact records its SHA-256 hash and the exact shot-plan artifact from which it was produced.

The complete application is packaged as one multi-stage Docker image and deployed on Google Cloud Run. Secret Manager supplies the Parallel credential to the runtime service account without placing it in the image or repository.

Challenges we ran into

The hardest challenge was treating generative AI as a reliable production system rather than a collection of API calls.

Long-running video generation can outlive a browser session. We had to preserve attempt IDs immediately, poll without resubmitting, recover safely from stale client state, and distinguish a running operation from a definitive missing attempt.

We also discovered that browser-local state was insufficient for a deployed production catalog. A project opened from another browser origin could find its Firestore records but not the attempt ID previously stored in local storage. We added an authenticated server-side recovery path that finds the newest completed attempt containing an immutable scene revision.

Another challenge was provenance. One completed Veo operation initially lacked its expected shot-plan artifact because the artifact had been created before that boundary existed. We implemented an idempotent backfill derived from the immutable scene hash, allowing completion to recover without generating or charging for the video again.

Authentication required careful treatment as well. Expensive endpoints cannot trust ownership information supplied by the browser. SceneFoundry derives ownership from the verified Google identity and keeps the prompt, production direction, and aspect ratio under server control.

Finally, external providers can fail in ways that are useful to developers but unsafe to expose to users. We added server-side diagnostics while keeping browser errors generic and ensuring that credentials and request payloads are never logged.

Accomplishments that we're proud of

  • Built and deployed a complete idea-to-cinema workflow on Google Cloud Run.
  • Integrated Parallel, Gemini 3.5 Flash, Google ADK, and Veo 3.1 Fast through explicit production boundaries.
  • Generated a complete twelve-second, three-shot cinematic sequence with audio.
  • Grounded the Director with five attributable web sources.
  • Added immutable screenplay versions, scene revisions, approvals, and SHA-256 artifact lineage.
  • Prevented unapproved or unauthenticated Veo generation.
  • Implemented idempotent recovery for retries, stale browser state, and completed provider operations.
  • Added transparent application-level model accounting and reservation controls.
  • Kept the repository modular and readable, with every source file under 500 lines.
  • Verified the complete workflow from a fresh browser against the public Cloud Run deployment.

What we learned

We learned that trustworthy agentic systems depend more on boundaries than prompts.

The browser should express intent, but the server must own identity, authorization, production constraints, pricing rules, and provider submission. Human approval must refer to exact immutable content, not merely a mutable project name.

We also learned that expensive asynchronous AI operations require durable identities. An attempt ID is not just implementation detail; it is the connection between user intent, provider execution, cost settlement, recovery, and final provenance.

Most importantly, grounding, generation, and human review are strongest when they are parts of one traceable workflow. Research is more valuable when the Director can cite it, and a generated video is more trustworthy when it can be traced back to the exact approved shot plan.

What's next for SceneFoundry

Next, we plan to add collaborative studio roles for writers, directors, producers, and reviewers; continuity-aware character and location references; editable storyboards; automated visual quality checks; and background task orchestration for longer productions.

We also want to support complete timeline export, transitions, sound design, subtitles, and final delivery formats while preserving the same approval, accounting, and provenance guarantees.

The long-term vision is for SceneFoundry to become a shared production control plane where creative teams can move from an idea to a finished cinematic story without losing authorship, evidence, accountability, or control.

Built With

  • agentic-ai
  • docker
  • fastapi
  • gemini-3.5-flash
  • generative-ai
  • google-adk
  • google-cloud
  • google-cloud-firestore
  • google-cloud-run
  • google-secret-manager
  • human-in-the-loop
  • oauth-2.0
  • parallel
  • python
  • react
  • typescript
  • veo-3.1
  • vertex-ai
  • vite
Share this project:

Updates

Submission history