bitrouter_core/models/image/
image_model.rs1use dynosaur::dynosaur;
2
3use crate::models::image::{
4 call_options::ImageModelCallOptions, generation_result::ImageModelGenerationResult,
5};
6
7#[dynosaur(pub DynImageModel = dyn(box) ImageModel)]
8pub trait ImageModel: Send + Sync {
9 fn provider_name(&self) -> &str;
10 fn model_id(&self) -> &str;
11 fn max_images_per_call(&self) -> impl Future<Output = Option<u32>> + Send;
12 fn generate(
13 &self,
14 options: ImageModelCallOptions,
15 ) -> impl Future<Output = ImageModelGenerationResult> + Send;
16}