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.
- 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.
- 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.
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
01e709be97e752668644fbe2edeac4ff090bba892f1e33e416def672ef24ea83
|
|
| MD5 |
5c78388a332a3bd717bf4f6560bea6f3
|
|
| BLAKE2b-256 |
ec861277738793ecd83ee001100b4302d390f67d9d33fc8cbe34aa37ee7cb324
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
df278bb0bb0b77f67821de15c2bc950d746b9fd9eb0b40e3f7d91d8fcf3dd823
|
|
| MD5 |
cf4c34fa435868f8507dc59d1f1f015d
|
|
| BLAKE2b-256 |
28e05e63c8534ddf1f12340f17e9c7c8f7c28ce0d0e09c7ed5f164fc8c9f05e9
|