- 创建 VEO3ActorDefineTool 页面组件,集成聊天界面和文件选择功能 - 添加 veo3ActorDefineService 服务层,封装与 Rust 后端的通信逻辑 - 实现 Tauri 命令支持,调用 veo3-scene-writer crate - 更新工具数据配置,添加 VEO3 角色生成工具 - 支持文本消息和图片附件上传 - 提供会话管理和历史记录功能 - 集成 ag-ui 设计标准,提供优秀的用户体验 |
||
|---|---|---|
| .. | ||
| examples | ||
| src | ||
| Cargo.toml | ||
| README.md | ||
| scene-writer.md | ||
README.md
VEO3 场景写作工具
基于 Gemini SDK 的 VEO3 场景写作对话工具,专门用于创建电影级的视频场景提示词。
功能特性
- 🎬 专业场景写作: 使用 VEO3 专业提示词
- 🤖 智能对话: 基于 Gemini AI 的对话式场景创建
- 📸 图片分析: 支持上传图片进行角色分析
- 🎥 视频分析: 支持视频文件分析和学习
- 📄 多格式输出: 支持文本、JSON、YAML 格式
- 🔄 角色一致性: 确保多个场景中角色特征保持一致
快速开始
基本使用
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(())
}
带图片的使用
let response = writer.send_message_with_attachment(
"请分析这张图片中的角色",
"character.jpg"
).await?;
演示示例
1. 基本对话演示
cargo run --example simple_chat
2. 附件功能演示
cargo run --example attachment_demo
3. Daisy 角色演示
# 需要先将图片文件 01.png 放在当前目录
cargo run --example daisy_demo
Daisy 演示说明
daisy_demo 演示展示了完整的 VEO3 工作流程:
- 准备工作: 将
01.png图片文件放在cargos/veo3-scene-writer/目录下 - 角色分析: 基于图片为 "Daisy" 创建详细角色档案
- 场景创建: 创建多个不同风格的 8 秒电影场景
- 格式输出: 展示 JSON 格式的结构化输出
演示场景包括:
- 🍵 咖啡厅阅读场景: 温馨静谧的室内场景
- 🌳 公园散步场景: 自然光线的户外场景
- 🌧️ 雨中奔跑场景: 动感十足的动作场景
支持的文件格式
图片格式
- JPG/JPEG
- PNG
- GIF
- BMP
- WebP
视频格式
- MP4
- AVI
- MOV
- MKV
- WebM
VEO3 工作流程
-
Phase 1: 角色档案导入
- 定义角色的视觉特征
- 设定角色的声音特征
-
Phase 2: 电影场景生成
- 场景描述和角色动作
- 摄影角度和运动
- 灯光和氛围设置
-
Phase 3: 生成电影提示词
- 输出 VEO3 优化的提示词
- 支持多种格式输出
配置
SDK 会自动使用环境变量或默认配置。如需自定义配置:
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