Skip to main content

Model-Agnostic AI Video Generation Framework

Project description

MiniStudio: The Cinematic AI Engine 🎬✨

Programmable, Stateful, and Model-Agnostic Orchestration for High-Fidelity Video Production.

MiniStudio transforms the chaotic world of generative AI into a structured filmmaking pipeline. It solves the "Consistency Problem" by treating video like code—enforcing character identity, environment stability, and temporal continuity through a state-machine driven architecture.


🎬 See it in Action

The "Why" behind this project and the high-fidelity results (Ghibli 2.0, The Last Algorithm) are documented in detail on my personal site:

👉 Read the Full Article: Programmable Cinematography


🛠️ The Architecture: How it Works

MiniStudio uses a three-layer stack to ensure your characters don't "drift" between shots.

  1. Identity Grounding 2.0: We use "Master Reference" portraits (Visual Anchors) that are injected into every injection step, ensuring Emma looks like Emma in Shot 1 and Shot 60.
  2. The Invisible Weave: A state-machine that "remembers" the environment geometry. If you move the camera 45 degrees, the engine knows what should be there.
  3. Sequential Memory: Each generation is grounded by the final frames of the previous shot, creating a perfect temporal link.

🚀 Quick Start

1. Installation

pip install -e .

2. Configure Credentials

MiniStudio supports Vertex AI (Veo 3.1) and Google TTS.

Using Doppler (Recommended)

Doppler is a multi-platform secret manager. If you use it, you can run:

doppler run -- python examples/contextbytes_brand_story.py

Using .env or Environment Variables

If you don't use Doppler, simply create a .env file or export your variables directly:

export GOOGLE_API_KEY="your-key-here"
# or
export GOOGLE_APPLICATION_CREDENTIALS="path/to/key.json"

3. Your First Shot

from ministudio import VideoOrchestrator, VertexAIProvider

# Initialize the Director
orchestrator = VideoOrchestrator(VertexAIProvider())

# Define a Shot
shot = ShotConfig(
    action="A lone researcher discovers a glowing orb.",
    characters={"Emma": EMMA_STRICT_ID},
    duration_seconds=8
)

# Produce
await orchestrator.generate_shot(shot)

⚠️ Challenges & Roadmap (AI Filmmaking 2.0)

We are currently pushing the boundaries of what is possible. Current research areas included in our Production Journal:

  • Audio-Sync Lag: Refining the waveform orchestrator to eliminate the 0.5s voice/video drift.
  • Environment Shimmer: Implementing 2-pass background locking.
  • Character Masks: Forcing the AI to paint "over" a locked environment plate.

🤝 Contributing & Community

MiniStudio is built by the community for the community. See ROADMAP.md for our upcoming features.

Made with ❤️ for the future of cinema.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ministudio-0.1.1.tar.gz (29.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ministudio-0.1.1-py3-none-any.whl (31.8 kB view details)

Uploaded Python 3

File details

Details for the file ministudio-0.1.1.tar.gz.

File metadata

  • Download URL: ministudio-0.1.1.tar.gz
  • Upload date:
  • Size: 29.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for ministudio-0.1.1.tar.gz
Algorithm Hash digest
SHA256 01e709be97e752668644fbe2edeac4ff090bba892f1e33e416def672ef24ea83
MD5 5c78388a332a3bd717bf4f6560bea6f3
BLAKE2b-256 ec861277738793ecd83ee001100b4302d390f67d9d33fc8cbe34aa37ee7cb324

See more details on using hashes here.

File details

Details for the file ministudio-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: ministudio-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 31.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for ministudio-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 df278bb0bb0b77f67821de15c2bc950d746b9fd9eb0b40e3f7d91d8fcf3dd823
MD5 cf4c34fa435868f8507dc59d1f1f015d
BLAKE2b-256 28e05e63c8534ddf1f12340f17e9c7c8f7c28ce0d0e09c7ed5f164fc8c9f05e9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page