{"id":48643924,"url":"https://github.com/FireRedTeam/FireRed-OpenStoryline","last_synced_at":"2026-04-22T10:00:46.054Z","repository":{"id":337572237,"uuid":"1152159038","full_name":"FireRedTeam/FireRed-OpenStoryline","owner":"FireRedTeam","description":"FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language interaction, LLM-powered planning, and precise tool orchestration. It facilitates transparent, human-in-the-loop creation with reusable Style Skills for consistent, professional storytelling.","archived":false,"fork":false,"pushed_at":"2026-04-05T01:47:15.000Z","size":404,"stargazers_count":1651,"open_issues_count":8,"forks_count":164,"subscribers_count":5,"default_branch":"main","last_synced_at":"2026-04-05T03:23:32.754Z","etag":null,"topics":["agent","chatbot","langchain","mcp","skills","video","video-cut","video-editing","video-editing-tools"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FireRedTeam.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-07T13:03:57.000Z","updated_at":"2026-04-05T03:12:49.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/FireRedTeam/FireRed-OpenStoryline","commit_stats":null,"previous_names":["fireredteam/firered-openstoryline"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/FireRedTeam/FireRed-OpenStoryline","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FireRedTeam%2FFireRed-OpenStoryline","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FireRedTeam%2FFireRed-OpenStoryline/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FireRedTeam%2FFireRed-OpenStoryline/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FireRedTeam%2FFireRed-OpenStoryline/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FireRedTeam","download_url":"https://codeload.github.com/FireRedTeam/FireRed-OpenStoryline/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FireRedTeam%2FFireRed-OpenStoryline/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32130776,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-22T08:34:57.708Z","status":"ssl_error","status_checked_at":"2026-04-22T08:34:55.583Z","response_time":58,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent","chatbot","langchain","mcp","skills","video","video-cut","video-editing","video-editing-tools"],"created_at":"2026-04-10T00:00:41.159Z","updated_at":"2026-04-22T10:00:46.048Z","avatar_url":"https://github.com/FireRedTeam.png","language":"Python","funding_links":[],"categories":["Python","Code \u0026 Developer Tools"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"#gh-light-mode-only\"\u003e\n    \u003cimg\n      src=\"https://image-url-2-feature-1251524319.cos.ap-shanghai.myqcloud.com/openstoryline/web/static/brand_white.png\"\n      alt=\"openstoryline\"\n      width=\"70%\"\n    /\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"#gh-dark-mode-only\"\u003e\n    \u003cimg\n      src=\"https://image-url-2-feature-1251524319.cos.ap-shanghai.myqcloud.com/openstoryline/web/static/brand_black.png\"\n      alt=\"openstoryline\"\n      width=\"70%\"\n    /\u003e\n  \u003c/a\u003e\n  \n  \u003cp\u003e\n    \u003ca href=\"./README_zh.md\"\u003e🇨🇳 简体中文\u003c/a\u003e | \n    \u003ca href=\"./README.md\"\u003e🌏 English\u003c/a\u003e\n  \u003c/p\u003e\n  \u003cp\u003e\n    \u003ca href=\"https://huggingface.co/FireRedTeam\" target=\"_blank\"\u003e\u003cimg alt=\"Hugging Face\" src=\"https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-FireRedTeam-ffc107?color=ffc107\u0026logoColor=white\" style=\"display: inline-block;\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://www.modelscope.cn/studios/FireRedTeam/FireRed-OpenStoryline\" target=\"_blank\"\u003e\n        \u003cimg alt=\"ModelScope Demo\" src=\"https://img.shields.io/badge/ModelScope-Demo-4B6CFF?style=flat\u0026logo=modelscope\u0026logoColor=white\" style=\"display: inline-block;\"/\u003e\u003c/a\u003e\n    \u003cimg src=\"https://img.shields.io/badge/python-≥3.11-blue\" alt=\"Python\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/license-Apache%202.0-blue\" alt=\"License\"\u003e\n    \u003ca href=\"https://image-url-2-feature-1251524319.cos.ap-shanghai.myqcloud.com/openstoryline/docs/media/others/group_20260329.jpg\"\u003e\u003cimg src=\"https://img.shields.io/badge/Xiaohongshu-Group-E9DBFC?style=flat\u0026logo=xiaohongshu\u0026logoColor=white\" alt=\"xiaohongshu\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://hellogithub.com/repository/FireRedTeam/FireRed-OpenStoryline\" target=\"_blank\"\u003e\u003cimg src=\"https://api.hellogithub.com/v1/widgets/recommend.svg?rid=fb457793a87e4bdab9c4f5ca26451a7f\u0026claim_uid=4QpcNTrHEAg3O8n\u0026theme=small\" alt=\"Featured｜HelloGitHub\" /\u003e\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n[🤗 HuggingFace Demo](https://fireredteam-firered-openstoryline.hf.space/) • [🌐 Homepage](https://fireredteam.github.io/demos/firered_openstoryline/)\n\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n  \u003cvideo src=\"https://github.com/user-attachments/assets/9116767e-bcd9-417a-93d8-2db4d3d5df8e\" width=\"70%\" poster=\"\"\u003e \u003c/video\u003e\n\u003c/div\u003e\n\n**FireRed-OpenStoryline** turns complex video creation into natural, intuitive conversations. Designed with both accessibility and enterprise-grade reliability in mind, FireRed-OpenStoryline makes video creation easy and friendly to beginners and creative enthusiasts alike.\n\u003e Deriving from the saying \"A single spark can start a prairie fire\", the name FireRed represents our vision: to spread our SOTA capabilities—honed in real-world scenarios—like sparks across the wilderness, igniting the imagination of developers worldwide to reshape the future of AI together.\n\n## ✨ Key Features\n- 🌐 **Smart Media Search \u0026 Organization**: Automatically searches online and downloads images and video clips that match your requirements. Performs clip segmentation and content understanding based on your thematic media.\n- ✍️ **Intelligent Script Generation**: Combines user themes, visual understanding, and emotion recognition to automatically construct storylines and context-aware narration. Features built-in Few-shot style transfer capabilities, allowing users to define specific copy styles (e.g., product reviews, casual vlogs) via reference text, achieving precise replication of tone, rhythm, and sentence structure.\n- 🎵 **Intelligent Music, Voiceover \u0026 Font Recommendations**: Supports personal playlist imports and auto-recommends BGM based on content and mood, featuring smart beat-syncing. Simply describe the desired tone—e.g., \"Restrained,\" \"Emotional,\" or \"Documentary-style\"—and the system matches suitable voiceovers and fonts to ensure a cohesive aesthetic.\n- 💬 **Conversational Refinement**: Rapidly cut, swap, or resequence clips. Edit scripts and fine-tune visual details—including color, font, stroke, and position. All edits are performed exclusively via natural language prompts with immediate results.\n- ⚡**Editing Skill Archiving**: Save your complete editing workflow as a custom Skill. Simply swap the media and apply the corresponding Skill to instantly replicate the style, enabling efficient batch creation.\n\n## NEWS\n\n* 🎬 **2026-04-02**: Added the **AI Transition Generation** feature, which automatically creates transition shots based on the ending frame of one clip, the opening frame of the next, and a natural-language description, making scene transitions smoother and the narrative more coherent.\n* 🚀 **2026-03-22**: Introduced an **ASR-based rough cut skill for speech videos**, enabling automatic removal of filler words, disfluencies, and repeated sentences, with timestamp-aligned segmentation for cleaner and more efficient speech editing workflows.\n* 🔥 **2026-03-12**: Integrated with **OpenClaw**, adding two OpenClaw Skills — `openstoryline-install` and `openstoryline-use` — covering the initial installation/first-run workflow and the actual usage workflow, respectively. Also added Skill usage instructions for **Claude Code**, making it easier for **Claude Code** to install and invoke the project in accordance with the repository guidelines.\n* **2026-02-10**: FireRed-OpenStoryline was officially open-sourced.\n\n\u003e \u003csub\u003e\n\u003e ⚠️ Note: AI transitions rely on third-party AIGC video generation services, and \u003cb\u003ethe cost is relatively high\u003c/b\u003e. Due to variations in source material quality, prompts, and model performance, the generated results are somewhat unpredictable. It is recommended to enable this feature only when needed.\n\u003e \u003c/sub\u003e\n\n## 🏗️ Architecture\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/FireRedTeam/fireredteam.github.io/main/demos/firered_openstoryline/pics/structure.jpg\" alt=\"openstoryline architecture\" width=\"800\"\u003e\n\u003c/p\u003e\n\n## ✨ Demo\n\u003ctable align=\"center\"\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003cb\u003eZhongcao Style\u003c/b\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003cb\u003eHumorous Style\u003c/b\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003cb\u003eProduct Picks\u003c/b\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003cb\u003eArtistic Style\u003c/b\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003cvideo src=\"https://github.com/user-attachments/assets/28043813-1fda-4077-80d4-c6f540d7c7cb\" width=\"220\" /\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003cvideo src=\"https://github.com/user-attachments/assets/a1e33da2-a799-4398-a1bb-b25bb5143d7c\" width=\"220\" /\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003cvideo src=\"https://github.com/user-attachments/assets/444fd0fb-8824-4c25-b449-9309b0fcfd85\" width=\"220\" /\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003cvideo src=\"https://github.com/user-attachments/assets/2e69fa0d-b693-4d4f-b4d2-45146254f9e8\" width=\"220\" /\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003cb\u003eUnboxing\u003c/b\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003cb\u003eTalking Pet\u003c/b\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003cb\u003eTravel Vlog\u003c/b\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003cb\u003eYear-in-Review\u003c/b\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003cvideo src=\"https://github.com/user-attachments/assets/ff1d669b-1d27-4cf8-b0be-1b141c717466\" width=\"220\" /\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003cvideo src=\"https://github.com/user-attachments/assets/063608bb-7fbd-4841-a08f-032ae459499f\" width=\"220\" /\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003cvideo src=\"https://github.com/user-attachments/assets/bc441dfa-e995-4575-8401-ecefa269e57b\" width=\"220\" /\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003cvideo src=\"https://github.com/user-attachments/assets/533ef5c3-bb76-4416-bff7-825e88b00b7d\" width=\"220\" /\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003e \u003csub\u003e\n\u003e 🎨 \u003cb\u003eEffects Note:\u003c/b\u003e Due to licensing restrictions on open-source assets, the elements (fonts/music) in the first row represent only basic effects. We \u003cb\u003ehighly recommend\u003c/b\u003e following the \u003ca href=\"https://github.com/FireRedTeam/FireRed-OpenStoryline/blob/main/docs/source/zh/guide.md#2-%E9%AB%98%E7%BA%A7%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B\"\u003eCustom Asset Library Tutorial\u003c/a\u003e to unlock commercial-grade fonts, music, and VFX for significantly better video quality.\u003cbr\u003e\n\u003e ⚠️ \u003cb\u003eQuality Note:\u003c/b\u003e To save space in the README, the demo videos are heavily compressed. The actual output retains the original resolution by default and supports custom dimensions.\u003cbr\u003e\n\u003e In the Demo: The \u003cb\u003efirst row\u003c/b\u003e shows default open-source assets (Restricted Mode); the \u003cb\u003esecond row\u003c/b\u003e shows Xiaohongshu App \"AI Clip\" asset library effects. 👉 \u003ca href=\"https://image-url-2-feature-1251524319.cos.ap-shanghai.myqcloud.com/openstoryline/docs/media/others/ai_cut_guide.png\"\u003eClick to view tutorial\u003c/a\u003e\u003cbr\u003e\n\u003e ⚖️ \u003cb\u003eDisclaimer:\u003c/b\u003e User footage and brand logos shown in the demos are for technical demonstration purposes only. Ownership belongs to the original creators. Please contact us for copyright concerns.\n\u003e \u003c/sub\u003e\n\n## 🤖 Use Through an Agent\n\nFireRed-OpenStoryline supports usage through Agent Skills.\nWe provide two Skills:\n\n* `openstoryline-install`: for installation, configuration, and first-run verification.\n* `openstoryline-use`: for starting the service and running the actual video editing workflow.\n\n### OpenClaw\n\nJust tell OpenClaw: “I want to try OpenStoryline. Help me install the required Skills,” and it will automatically trigger the installation.\nIf the installation runs into problems, use the following commands to install them manually:\n\n```bash\nopenclaw skills install openstoryline-install\nopenclaw skills install openstoryline-use\n```\n\nIf your current OpenClaw version does not support `openclaw skills install`, or if installation still fails, you can use ClawHub instead:\n\n```bash\nnpx clawhub install openstoryline-install\nnpx clawhub install openstoryline-use\n```\n\nOnce installed, you only need to send your media assets to OpenClaw, and it can help you complete the entire process from installing FireRed-OpenStoryline to generating the final video.\n\n### Claude Code\n\nThis repository comes with built-in Claude Code Skills.\nIf you start Claude Code from the **root directory of this repository**, you can use the project-level Skills included in the repo directly. Claude Code can then help you install and use FireRed-OpenStoryline.\n\n```bash\n/openstoryline-install\n/openstoryline-use\n```\n\nIf you want to install these two Skills into your own global Claude Code configuration, run:\n\n```bash\nmkdir -p ~/.claude/skills\ncp -R .claude/skills/openstoryline-install ~/.claude/skills/\ncp -R .claude/skills/openstoryline-use ~/.claude/skills/\n```\n\n### Other Compatible Agents (Experimental)\n\nThese Skills are based on an open Agent Skills format, so in theory they can also be installed into other compatible agents.\nFor example, you can install them into Codex via the Skills CLI:\n\n```bash\nnpx skills add FireRedTeam/FireRed-OpenStoryline --skill openstoryline-install --agent codex\nnpx skills add FireRedTeam/FireRed-OpenStoryline --skill openstoryline-use --agent codex\n```\n\nOr use the commands below with the `--global` flag to install these Skills into the user-level directory so they are available across projects:\n\n```bash\nnpx skills add FireRedTeam/FireRed-OpenStoryline --skill openstoryline-install --global\nnpx skills add FireRedTeam/FireRed-OpenStoryline --skill openstoryline-use --global\n```\n\n## 📦 Install\n### 1. Clone repository\n```\n# If git is not installed, refer to the official website for installation: https://git-scm.com/install/\n# Or manually download the code\ngit clone https://github.com/FireRedTeam/FireRed-OpenStoryline.git\ncd FireRed-OpenStoryline\n```\n### 2. Create a virtual environment\n\nInstall Conda according to the official guide (Miniforge is recommended, it is suggested to check the option to automatically configure environment variables during installation): https://docs.conda.io/projects/conda/en/latest/user-guide/install/index.html\n\n\n```\n# Recommended python\u003e=3.11\nconda create -n storyline python=3.11\nconda activate storyline\n```\n### 3. 📦 Resource Download \u0026 Installation\n#### 3.1 Automatic Installation (Linux and macOS only)\n```\nsh build_env.sh\n```\n#### 3.2 Manual Installation\n##### A. MacOS or Linux\n  - Step 1: Install wget (if not already installed)\n\n    ```\n    # MacOS: If you haven't installed Homebrew yet, please install it first: https://brew.sh/\n    brew install wget\n    \n    # Ubuntu/Debian\n    sudo apt-get install wget\n    \n    # CentOS\n    sudo yum install wget\n    ```\n  - Step 2: Download Resources\n\n    ```bash\n    chmod +x download.sh\n    ./download.sh\n    ```\n  \n  - Step 3: Install Dependencies\n\n    ```bash\n    pip install -r requirements.txt\n    ```\n    If you plan to use `storyline.local_asr`, make sure `torchaudio` is installed in the same environment.\n\n##### B. Windows\n\n  - Step 1: Prepare Directory: Create a new directory named `resource` in the project root directory.\n\n  - Step 2: Download and Extract:\n\n    *   [Download Models (models.zip)](https://image-url-2-feature-1251524319.cos.ap-shanghai.myqcloud.com/openstoryline/models.zip) -\u003e Extract to the `.storyline` directory.\n\n    *   [Download Resources (resource.zip)](https://image-url-2-feature-1251524319.cos.ap-shanghai.myqcloud.com/openstoryline/resource.zip) -\u003e Extract to the `resource` directory.\n  - Step 3:  **Install Dependencies**:\n    ```bash\n    pip install -r requirements.txt\n    ```\n    If you plan to use `storyline.local_asr`, make sure `torchaudio` is installed in the same environment.\n\n## 🚀 Quick Start\n\nNote: Before starting, you need to configure the API-Key in config.toml first. For details, please refer to the documentation [API-Key Configuration](docs/source/en/api-key.md)\n\n\n### 1. Start the MCP Server\n\n#### MacOS or Linux\n\n```bash\nPYTHONPATH=src python -m open_storyline.mcp.server\n```\n\n#### Windows\n```\n$env:PYTHONPATH=\"src\"; python -m open_storyline.mcp.server\n```\n\n### 2. Start the conversation interface\n\n- Method 1: Command Line Interface\n\n  ```bash\n  python cli.py\n  ```\n\n- Method 2: Web Interface\n\n  ```bash\n  uvicorn agent_fastapi:app --host 127.0.0.1 --port 8005\n  ```\n\n## 🐳 Docker\n\n### Pull the Image\n```bash\n# Pull image from Docker Hub official repository\n# Recommended for users outside China\ndocker pull openstoryline/openstoryline:v1.0.1\n\n# Pull image from Alibaba Cloud Container Registry\n# Recommended for users in China (faster and more stable)\ndocker pull crpi-6knxem4w8ggpdnsn.cn-shanghai.personal.cr.aliyuncs.com/openstoryline/openstoryline:v1.0.1\n```\n\n### Start the Container\n```\ndocker run \\\n  -v $(pwd)/config.toml:/app/config.toml \\\n  -v $(pwd)/outputs:/app/outputs \\\n  -v $(pwd)/run.sh:/app/run.sh \\\n  -p 7860:7860 \\\n  openstoryline/openstoryline:v1.0.1\n```\nAfter starting, access the Web interface at http://0.0.0.0:7860\n\n## 📁 Project Structure\n```\nFireRed-OpenStoryline/\n├── 🎯 src/open_storyline/           Core application\n│   ├── mcp/                         🔌 Model Context Protocol\n│   ├── nodes/                       🎬 Video processing nodes\n│   ├── skills/                      🛠️ Agent skills library\n│   ├── storage/                     💾 Agent Memory\n│   ├── utils/                       🧰 Helper utilities\n│   ├── agent.py                     🤖 Build Agent\n│   └── config.py                    ⚙️ Configuration management\n├── 📚 docs/                         Documentation\n├── 🐳 Dockerfile                    Docker Configuration\n├── 💬 prompts/                      LLM prompt templates\n├── 🎨 resource/                     Static resources\n│   ├── bgms/                        Background music library\n│   ├── fonts/                       Font files\n│   ├── script_templates/            Video script templates\n│   └── unicode_emojis.json          Emoji list\n├── 🔧 scripts/                      Utility scripts\n├── 🌐 web/                          Web interface\n├── 🚀 agent_fastapi.py              FastAPI server\n├── 🖥️ cli.py                        Command-line interface\n├── ⚙️ config.toml                   Main configuration file\n├── 🚀 build_env.sh                  Environment Build Script\n├── 📥 download.sh                   Resource downloader\n├── 📦 requirements.txt              Runtime dependencies\n└── ▶️ run.sh                        Launch script\n\n```\n\n## 📚 Documentation\n\n### 📖 Tutorial Index\n\n- [API Key Configuration](docs/source/en/api-key.md) - How to configure and manage API keys\n- [Usage Tutorial](docs/source/en/guide.md) - Common use cases and basic operations\n- [FAQ](docs/source/en/faq.md) - Frequently asked questions\n\n## TODO\n\n- [ ] Add the function of **voiceover type video editing**.\n- [ ] Add support for **voice cloning**\n- [ ] Add more **transition/filter/effects** effects functions.\n- [ ] Add **image/video generation and editing** capabilities.\n- [ ] **GPU-accelerated** rendering and highlight selection.\n\n## Acknowledgements\n\nThis project is built upon the following excellent open-source projects:\n\n### Core Dependencies\n- [MoviePy](https://github.com/Zulko/moviepy) - Video editing library\n- [FFmpeg](https://ffmpeg.org/) - Multimedia framework\n- [LangChain](https://www.langchain.com/) - A framework that provides pre-built Agents\n\n## 📄 License\n\nThis project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.\n\n## ⭐ Star History\n\n\u003cdiv align=\"center\"\u003e \u003cp\u003e \u003cimg width=\"800\" src=\"https://api.star-history.com/svg?repos=FireRedTeam/FireRed-OpenStoryline\u0026type=Date\" alt=\"Star-history\"\u003e \u003c/p\u003e \u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFireRedTeam%2FFireRed-OpenStoryline","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FFireRedTeam%2FFireRed-OpenStoryline","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FFireRedTeam%2FFireRed-OpenStoryline/lists"}