mixvideo-v2/cargos/veo3-scene-writer/README.md

125 lines
2.8 KiB
Markdown

# VEO3 场景写作工具
基于 Gemini SDK 的 VEO3 场景写作对话工具,专门用于创建电影级的视频场景提示词。
## 功能特性
- 🎬 **专业场景写作**: 使用 VEO3 专业提示词
- 🤖 **智能对话**: 基于 Gemini AI 的对话式场景创建
- 📸 **图片分析**: 支持上传图片进行角色分析
- 🎥 **视频分析**: 支持视频文件分析和学习
- 📄 **多格式输出**: 支持文本、JSON、YAML 格式
- 🔄 **角色一致性**: 确保多个场景中角色特征保持一致
## 快速开始
### 基本使用
```rust
use veo3_scene_writer::Veo3SceneWriter;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let mut writer = Veo3SceneWriter::new().await?;
let response = writer.send_message("你好,我想创建一个角色档案").await?;
println!("回复: {}", response);
Ok(())
}
```
### 带图片的使用
```rust
let response = writer.send_message_with_attachment(
"请分析这张图片中的角色",
"character.jpg"
).await?;
```
## 演示示例
### 1. 基本对话演示
```bash
cargo run --example simple_chat
```
### 2. 附件功能演示
```bash
cargo run --example attachment_demo
```
### 3. Daisy 角色演示
```bash
# 需要先将图片文件 01.png 放在当前目录
cargo run --example daisy_demo
```
## Daisy 演示说明
`daisy_demo` 演示展示了完整的 VEO3 工作流程:
1. **准备工作**: 将 `01.png` 图片文件放在 `cargos/veo3-scene-writer/` 目录下
2. **角色分析**: 基于图片为 "Daisy" 创建详细角色档案
3. **场景创建**: 创建多个不同风格的 8 秒电影场景
4. **格式输出**: 展示 JSON 格式的结构化输出
### 演示场景包括:
- 🍵 **咖啡厅阅读场景**: 温馨静谧的室内场景
- 🌳 **公园散步场景**: 自然光线的户外场景
- 🌧️ **雨中奔跑场景**: 动感十足的动作场景
## 支持的文件格式
### 图片格式
- JPG/JPEG
- PNG
- GIF
- BMP
- WebP
### 视频格式
- MP4
- AVI
- MOV
- MKV
- WebM
## VEO3 工作流程
1. **Phase 1**: 角色档案导入
- 定义角色的视觉特征
- 设定角色的声音特征
2. **Phase 2**: 电影场景生成
- 场景描述和角色动作
- 摄影角度和运动
- 灯光和氛围设置
3. **Phase 3**: 生成电影提示词
- 输出 VEO3 优化的提示词
- 支持多种格式输出
## 配置
SDK 会自动使用环境变量或默认配置。如需自定义配置:
```rust
let config = gemini_sdk::GeminiConfig {
base_url: "your-api-url".to_string(),
bearer_token: "your-token".to_string(),
// ... 其他配置
};
let writer = Veo3SceneWriter::with_config(config).await?;
```
## 注意事项
- 确保有有效的 Gemini API 配置
- 图片和视频文件需要放在正确的路径
- 大文件上传可能需要较长时间
## 许可证
MIT License