A modular project for automated text-to-video generation using agents and tool abstraction.
AgenticAI_Project_<GroupName>/
├── README.md
├── requirements.txt
├── .env
├── .gitignore
├── docs/
├── data/
│ ├── outputs/
│ ├── temp/
│ └── state_versions/
├── shared/
│ ├── schemas/
│ ├── utils/
│ └── constants/
├── mcp/ # 🧩 MCP Layer (Tool Abstraction)
│ ├── base_tool.py # Base tool interface
│ ├── tool_registry.py # Register & discover tools
│ ├── tool_executor.py # Execute tools dynamically
│ └── tools/ # 🔧 Concrete tool implementations
│ ├── llm_tools/
│ │ ├── text_generator.py
│ │ └── json_structurer.py
│ ├── audio_tools/
│ │ ├── tts_tool.py
│ │ ├── bgm_tool.py
│ │ └── audio_merger.py
│ ├── vision_tools/
│ │ ├── image_gen_tool.py
│ │ ├── image_edit_tool.py
│ │ └── style_transfer.py
│ ├── video_tools/
│ │ ├── ffmpeg_tool.py
│ │ ├── compositor_tool.py
│ │ └── subtitle_tool.py
│ └── system_tools/
│ ├── file_tool.py
│ ├── state_tool.py
│ └── logger_tool.py
├── agents/ # 🤖 Agent workflows and orchestration
│ ├── orchestrator/
│ │ ├── graph.py
│ │ ├── workflow.py
│ │ └── state.py
│ ├── story_agent/ # Phase 1: story generation
│ │ ├── agent.py
│ │ ├── planner.py
│ │ └── tests/
│ ├── audio_agent/ # Phase 2: audio generation
│ │ ├── agent.py
│ │ └── tests/
│ ├── video_agent/ # Phase 3: video generation
│ │ ├── agent.py
│ │ └── tests/
│ └── edit_agent/ # Phase 5: video editing
│ ├── agent.py
│ ├── intent_classifier.py
│ ├── planner.py
│ ├── executor.py # Orchestrates MCP tools
│ └── tests/
├── backend/ # Application server and API logic
│ ├── app.py
│ ├── routes/
│ ├── services/
│ └── websocket/
├── frontend/ # Client application
│ ├── src/
│ └── package.json
├── state_manager/ # Persistent state history
│ ├── state_manager.py
│ ├── snapshot.py
│ ├── history.py
│ └── storage.py
├── tests/ # Unit and integration tests
│ ├── unit/
│ └── integration/
└── scripts/
mcp/contains tool definitions and the execution layer used by agents.agents/contains orchestration logic and specialized agents for story, audio, video, and editing.backend/andfrontend/form the application stack for serving and interacting with the project.state_manager/tracks application state, snapshots, and history.