Hitchcock is an innovative multi-agent system that automates the movie production pipeline from script to screen. Built with modern AI technologies, it orchestrates specialized agents to handle different aspects of movie production, from scriptwriting to audio synthesis.
π Winner of the ElevenLabs Worldwide Hackathon in Bengaluru!
- Automated Script Generation: AI-powered script creation with deep research capabilities
- Intelligent Story Boarding: Automated scene breakdown and shot planning
- Visual Element Planning: Comprehensive planning of lighting, props, and atmosphere
- Audio Synthesis: Voice generation and audio management
- Multi-Agent Architecture: Specialized agents built using Mahilo, a powerful multi-agent framework that enables seamless agent-to-agent communication
- Modern Tech Stack: Built with Python 3.8+, using cutting-edge AI and media processing libraries
Watch Hitchcock in action:
The system consists of the following specialized agents:
- Purpose: Creates and analyzes movie scripts
- Capabilities:
- Deep web research for historical/cultural context
- Similar movie analysis for inspiration
- Scene and dialogue generation
- Script structure analysis
- Tools:
- Web browsing and research tools
- Text analysis and inspection
- Scene generation and analysis
- Research agent for deep context gathering
- Purpose: Converts scripts into detailed visual plans
- Capabilities:
- Scene importance analysis
- Shot sequence planning
- Visual element specification
- Camera angle and movement planning
- Features:
- Automatic scene breakdown
- Shot-by-shot planning
- Lighting and atmosphere specification
- Prop and special effect planning
- Database integration for state management
- Purpose: Handles visual implementation of story boards
- Capabilities:
- Text-to-image generation
- Scene composition
- Visual continuity management
- Lighting implementation
- Features:
- Image generation services
- Video sequence creation
- Visual style consistency
- Configuration management
- Purpose: Manages audio synthesis and voice generation
- Capabilities:
- Voice synthesis using Eleven Labs
- Audio storage and retrieval
- Voice consistency management
- Features:
- Character voice generation
- Audio file management
- Integration with video pipeline
- Python 3.8 or higher
uvpackage manager
- Install uv:
pip install uv- Clone the repository:
git clone https://github.com/ayushnangia/Hitchcock
cd hitchcock- Set up the environment:
uv venv
source .venv/bin/activate # On Unix
# or
.venv\Scripts\activate # On Windows- Install dependencies:
uv pip sync requirements.txt- Fix Mahilo in venv add in mahilo/agent.py
in process_queue_message and process_chat_message function add
try:
if function_name == "contact_human":
function_response = await function_to_call(**function_args, websockets=websockets)
elif function_name == "generate_shot_images":
function_response = await function_to_call(**function_args)- Configure environment variables:
cp .env.template .env
# Edit .env with your API keys and configurations- Always Remove old db and sessions
sh run_db_dele.sh- Start the control plane:
python control_plane.py- Once the control plane is running, you can start interacting with the agents using the Mahilo CLI. Begin with the StoryWriterAgent:
mahilo connect --agent-name StoryWriterAgentThis will open an interactive chat session with the StoryWriterAgent. You can similarly connect to other agents:
mahilo connect --agent-name StoryBoarderAgent
mahilo connect --agent-name DOPAgent
mahilo connect --agent-name AudioAgenthitchcock/
βββ control_plane.py # Main orchestration system
βββ requirements.txt # Project dependencies
βββ .env.template # Environment variable template
βββ agents/
β βββ script_writer/ # Script Writer Agent
β β βββ tools.py # Script writing tools
β β βββ prompt.py # Agent prompts
β β βββ research_agent.py # Research capabilities
β β βββ scripts/ # Additional scripts
β βββ story_boarder/ # Story Boarding Agent
β β βββ tools.py # Story boarding tools
β β βββ prompt.py # Agent prompts
β β βββ storage.py # State management
β β βββ models.py # Data models
β β βββ db_client.py # Database operations
β βββ dop/ # DOP Agent
β β βββ tools.py # Visual tools
β β βββ prompt.py # Agent prompts
β β βββ image_service.py # Image generation
β β βββ generate_story_video.py # Video creation
β βββ audio/ # Audio Agent
β βββ tools.py # Audio processing tools
β βββ prompt.py # Agent prompts
β βββ models.py # Audio data models
β βββ eleven_labs_service.py # Voice synthesis
βββ assets/ # Project assets
βββ downloads/ # Downloaded research materials
βββ output/ # Generated content
βββ sessions/ # Session management
Add new dependencies:
uv pip install package_name
uv pip compile # Update requirements.txtUpdate all dependencies:
uv pip compile --upgrade
uv pip syncTest with minimum versions:
uv pip compile --resolution=lowest
uv pip syncRun script writer:
python run_script_writer.pyManage database:
./run_db_dele.shMIT
Note: This is an active development project. Features and capabilities may change as development progresses.

