Skip to content
LinkaiupPublic

About

Cut Video by Agent Loop

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

PowerCut — 创意视频生成器

基于 单 Agent Loop 架构的 CLI 创意视频生成工具。输入自然语言需求,由 MiniMax 大模型规划分镜,MiniMax Hailuo 生成 AI 视频,最终输出 MP4。

架构

用户需求 (CLI)
    │
    ▼
┌─────────────────────────────────────┐
│    Single Agent Loop (MiniMax LLM)  │
│  ┌─────────────────────────────┐    │
│  │  MiniMax-M2.5 决策下一步     │    │
│  └──────────────┬──────────────┘    │
│                 ▼                   │
│  ┌─────────────────────────────┐    │
│  │  调用工具 → 观察结果         │    │
│  └──────────────┬──────────────┘    │
│                 │                   │
│         循环直到 finish             │
└─────────────────────────────────────┘
    │
    ▼
  output/*.mp4

Agent 工具链

工具 作用
plan_storyboard MiniMax LLM 规划分镜(标题、旁白、画面描述)
generate_scene_assets 本机 say 配音 + MiniMax Hailuo 文生视频
render_scene_clip 合成 Hailuo 视频、配音与字幕
assemble_video 拼接所有片段为最终 MP4
finish 标记任务完成

快速开始

1. 安装依赖

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

系统需安装 FFmpeg:

# macOS
brew install ffmpeg

2. 配置 MiniMax API

在 MiniMax 开放平台 获取 API Key 和 Group ID:

cp .env.example .env
# 编辑 .env,填入 MINIMAX_API_KEY 和 MINIMAX_GROUP_ID

3. 生成视频

# 直接传入需求
python main.py "制作一个 30 秒的咖啡品牌宣传短片,风格温暖治愈"

# 交互式输入
python main.py

# 指定输出文件名
python main.py -r "用简单语言向儿童解释太阳能" -o solar.mp4

生成的视频保存在 output/run_YYYYMMDD_HHMMSS/ 目录下。

配置说明

环境变量 说明 默认值
MINIMAX_API_KEY MiniMax API 密钥 必填
MINIMAX_GROUP_ID MiniMax Group ID 必填
MINIMAX_API_URL API 地址 https://api.minimaxi.com
MINIMAX_LLM_BASE_URL LLM 兼容端点 https://api.minimaxi.com/v1
MINIMAX_MODEL Agent 决策模型 MiniMax-M2.5
HAILUO_MODEL 视频生成模型 MiniMax-Hailuo-2.3
HAILUO_DURATION 每场景时长(秒) 6
HAILUO_RESOLUTION 视频分辨率 1080P
HAILUO_MAX_WAIT 单场景最大等待时间(秒) 600
MAX_AGENT_ITERATIONS Agent 最大循环次数 20
SCENE_PARALLELISM 场景并行生成数 2
TTS_BACKEND 本机 TTS 引擎(auto/say/espeak) auto
TTS_VOICE_ZH 中文语音(macOS say -v) Ting-Ting
TTS_VOICE_EN 英文语音(macOS say -v) Samantha

国际用户使用 https://api.minimax.io 替换 API 地址即可。

项目结构

powerCut/
├── main.py              # CLI 入口
├── config.py            # 配置
├── agent/
│   ├── loop.py          # Agent Loop 核心
│   ├── state.py         # 状态管理
│   ├── prompts.py       # 系统提示词
│   ├── providers/
│   │   └── minimax_hailuo.py  # Hailuo API 客户端
│   └── tools/
│       ├── registry.py  # 工具注册与调度
│       ├── media.py     # 本机 TTS + Hailuo 视频生成
│       ├── local_tts.py # macOS say / Linux espeak-ng
│       └── video.py     # 视频合成
├── output/              # 生成产物
└── requirements.txt

工作原理

  1. 用户通过 CLI 输入创意需求
  2. Agent 调用 MiniMax-M2.5 分析需求,规划 3-5 个分镜场景
  3. 逐场景调用 MiniMax Hailuo 文生视频 API(异步任务 + 轮询)
  4. 使用 macOS 内置 say 命令生成本地旁白,MoviePy 将 Hailuo 视频与配音、字幕合成
  5. 拼接所有片段,输出 1080P MP4 视频

Hailuo 视频生成为异步流程:创建任务 → 轮询状态 → 下载视频文件。

About

Cut Video by Agent Loop

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages