mixvideo-v2/cargos/veo3-scene-writer
imeepos e2a1f43e85 feat: 添加 VEO3 场景写作工具并优化文件处理逻辑
- 创建 VEO3SceneWriterTool 页面组件,集成聊天界面和文件选择功能
- 添加 veo3SceneWriterService 服务层,封装与 Rust 后端的通信逻辑
- 实现 Tauri 命令支持,调用 veo3-scene-writer crate
- 更新工具数据配置,添加 VEO3 场景写作工具
- 优化文件处理逻辑:JSON/TXT 文件读取内容作为消息,图片文件作为附件
- 支持多种文本格式:.json, .txt, .md, .yaml, .yml, .toml
- 提供专业的影视场景提示词生成功能
2025-08-18 10:14:01 +08:00
..
examples feat: 添加 VEO3 场景写作和角色定义 SDK 2025-08-15 18:02:15 +08:00
src feat: 添加 VEO3 场景写作工具并优化文件处理逻辑 2025-08-18 10:14:01 +08:00
Cargo.toml feat: 添加 VEO3 场景写作和角色定义 SDK 2025-08-15 18:02:15 +08:00
README.md feat: 添加 VEO3 场景写作和角色定义 SDK 2025-08-15 18:02:15 +08:00
scene-writer.md feat: 添加 VEO3 角色定义工具 2025-08-15 18:29:18 +08:00

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 工作流程:

  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 会自动使用环境变量或默认配置。如需自定义配置:

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