File size: 623 Bytes
343eed9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
pub mod blender;
pub mod api_router;
pub mod local_ai;
pub mod seedance;
pub mod ollama;
pub mod wan2;
pub mod open_sora;
pub mod ssd;
pub mod candle_native;
pub mod tensorrt_engine;

use crate::error::Result;
use async_trait::async_trait;
use std::path::Path;

#[async_trait]
pub trait ImageGenerator: Send + Sync {
    async fn generate(
        &self,
        prompt: &str,
        output_path: &Path,
        scene_index: usize,
        is_last: bool,
    ) -> Result<bool>;
}

#[async_trait]
pub trait DepthGenerator: Send + Sync {
    async fn generate(&self, image_path: &Path, output_path: &Path) -> Result<bool>;
}