FireRed-OpenStoryline
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.
File Explorer
- SKILL.md
- bridge_openstoryline.py
- feishu_file_sender.py
- SKILL.md
- SKILL.md
- SKILL.md
- SKILL.md
- SKILL.md
- SKILL.md
- api-key.md
- faq.md
- guide.md
- api-key.md
- faq.md
- guide.md
- system.md
- user.md
- system.md
- user.md
- system.md
- user.md
- system.md
- user.md
- system.md
- user.md
- system.md
- user.md
- system.md
- user.md
- system.md
- user.md
- system.md
- user.md
- system.md
- user.md
- system.md
- user.md
- system.md
- user.md
- system.md
- user.md
- system.md
- user.md
- system.md
- system.md
- omni_bgm_label.md
- script_template_label.md
- omni_bgm_label.md
- script_template_label.md
- system.md
- user.md
- system.md
- user.md
- system.md
- user.md
- system_detail.md
- system_overall.md
- user_detail.md
- user_overall.md
- system_detail.md
- system_overall.md
- user_detail.md
- user_overall.md
- llm_script_template_label.py
- omni_bgm_label.py
- update_config.py
- chat_middleware.py
- node_interceptors.py
- __init__.py
- register_tools.py
- sampling_handler.py
- sampling_requester.py
- server.py
- asr_node.py
- base_node.py
- filter_clips.py
- generate_ai_transition.py
- generate_script.py
- generate_voiceover.py
- group_clips.py
- load_media.py
- plan_timeline.py
- plan_timeline_ai_transition.py
- plan_timeline_pro.py
- recommend_effects.py
- render_video.py
- script_template_rec.py
- search_media.py
- select_bgm.py
- speech_rough_cut.py
- split_shots.py
- understand_clips.py
- __init__.py
- node_manager.py
- node_schema.py
- node_state.py
- node_summary.py
- skills_io.py
- __init__.py
- agent_memory.py
- file.py
- session_manager.py
- __init__.py
- ai_transition_cancel.py
- ai_transition_client.py
- element_filter.py
- emoji.py
- ffmpeg_utils.py
- logging.py
- media_handler.py
- parse_json.py
- prompts.py
- recall.py
- register.py
- util.py
- __init__.py
- agent.py
- config.py
- node_map.html
- workflow.json
- app.js
- dice.png
- github.png
- node_map.png
- style.css
- user_guide.png
- index.html
- .gitattributes
- .gitignore
- agent_fastapi.py
- build_env.sh
- cli.py
- config.toml
- Dockerfile
- download.sh
- hf_space.sh
- LICENSE
- README.md
- README_zh.md
- requirements.txt
- run.sh
# Installation Guide
pythonSetup Steps
git clone https://github.com/FireRedTeam/FireRed-OpenStoryline.git
Clone the repository locally.
pip install -r requirements.txt
Install required Python dependency packages.
bash build_env.sh
Run the build environment script to set up.
python agent_fastapi.py
Run the agent FastAPI server.
Key Commands
pip install -r requirements.txt
Install Python libraries required to run the project.
python agent_fastapi.py
Run the FastAPI-based backend service and agent.
# Use via CDN
jsDelivrjsDelivr serves any public GitHub repository as a CDN with zero setup. Pick a version and a file to get a ready-to-paste link and snippet.
Command Glossary
Commands referenced in this DOCs, explained below.
brew install
View Details ▼
brew install
Install a Homebrew formula or cask.
brew install {{formula|cask}}
Install a formula/cask:
brew install {{[-s|--build-from-source]}} {{formula}}
Build and install a formula from source (dependencies will still be installed from bottles):
brew install {{[-n|--dry-run]}} {{formula|cask}}
Download the manifest, print what would be installed but don't actually install anything:
conda activate
View Details ▼
conda activate
Activate a conda environment.
See also: `conda deactivate`.
conda activate myenv
Activate an existing environment named `myenv`:
conda activate {{path/to/myenv}}
Activate an existing environment located at custom path:
conda activate --stack myenv
Stack `myenv` environment on top of a previous environment making libraries/commands/variables from both accessible:
conda create
View Details ▼
conda create
Create new conda environments.
conda create {{[-y|--yes]}} {{[-n|--name]}} py39 python=3.9 "numpy>=1.11" scipy
Create a new environment named `py39`, install Python 3.9, NumPy v1.11 or above in it, and the latest stable version of SciPy. Say yes to all confirmations:
conda create {{[-n|--name]}} myenv --file {{file1.yml}} --file {{file2.yml}}
Create a new environment named `myenv` and install packages listed in files:
conda create {{[-p|--prefix]}} {{path/to/myenv}}
Create a new environment at a custom path (i.e. prefix):
docker pull
View Details ▼
docker pull
This command is an alias of `docker image pull`.
tldr docker image pull
View documentation for the original command:
docker run
View Details ▼
docker run
This command is an alias of `docker container run`.
tldr docker container run
View documentation for the original command:
git clone
View Details ▼
git clone
Clone an existing repository.
git clone {{remote_repository_location}} {{path/to/directory}}
Clone an existing repository into a new directory (the default directory is the repository name):
git clone --recursive {{remote_repository_location}}
Clone an existing repository and its submodules:
git clone {{[-n|--no-checkout]}} {{remote_repository_location}}
Clone only the `.git` directory of an existing repository:
npx
View Details ▼
npx
This command is an alias of `npm exec`.
tldr npm exec
View documentation for the original command:
openclaw
View Details ▼
openclaw
A personal AI assistant that you run on your own devices.
Some subcommands such as `onboard`, `agent`, `doctor`, etc. have their own usage documentation.
See also: `zeroclaw`.
openclaw onboard --install-daemon
Run the onboarding wizard to set up the gateway and channels:
openclaw gateway --allow-unconfigured --port {{18789}} --verbose
Start the gateway server:
openclaw message send {{[-t|--target]}} {{+1234567890}} {{[-m|--message]}} "{{Hello}}"
Send a message to a contact:
pip install
View Details ▼
pip install
Install Python packages.
pip install {{package1 package2 ...}}
Install one or more packages:
pip install {{package1 package2 ...}} {{[-U|--upgrade]}}
Upgrade all specified packages to the latest version, installing any that are not already present:
pip install {{package}}=={{version}}
Install a specific version of a package:
python
View Details ▼
python
Python language interpreter.
python
Start a REPL (interactive shell):
python {{path/to/file.py}}
Execute a specific Python file:
python -i {{path/to/file.py}}
Execute a specific Python file and start a REPL:
uvicorn
View Details ▼
uvicorn
Python ASGI HTTP Server, for asynchronous projects.
uvicorn {{import.path:app_object}}
Run Python web app:
uvicorn --host {{localhost}} --port {{8080}} {{import.path:app_object}}
Listen on port 8080 on localhost:
uvicorn --reload {{import.path:app_object}}
Turn on live reload:
apt-get
View Details ▼
apt-get
Debian and Ubuntu package management utility.
Search for packages using `apt-cache`.
It is recommended to use `apt` when used interactively in Ubuntu versions 16.04 and later.
sudo apt-get update
Update the list of available packages and versions (it's recommended to run this before other `apt-get` commands):
sudo apt-get install {{package}}
Install a package, or update it to the latest available version:
sudo apt-get remove {{package}}
Remove a package:
yum
View Details ▼
yum
This command is an alias of `dnf` on modern distros.
For older distros (e.g. CentOS 7), `yum` is a distinct program from `dnf`. Some subcommands and options may be different.
tldr dnf
View documentation for the original command:
