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