FireRed-OpenStoryline

(★ 3,241)

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

  • .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

python
Prerequisites

Setup 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.

API key configuration and FFmpeg installation are required to fully utilize AI transition and media processing features.

# Use via CDN

jsDelivr

jsDelivr 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 ▼

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 ▼

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 ▼

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 ▼

This command is an alias of `docker image pull`.

tldr docker image pull

View documentation for the original command:

🔍

docker run

View Details ▼

This command is an alias of `docker container run`.

tldr docker container run

View documentation for the original command:

🔍

git clone

View Details ▼

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 ▼

This command is an alias of `npm exec`.

tldr npm exec

View documentation for the original command:

🔍

openclaw

View Details ▼

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 ▼

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 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 ▼

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 ▼

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 ▼

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:

// repository documentation