From 4f79fb460128dc65558068067db04d698ebe13df Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Thu, 23 Apr 2026 04:20:02 -0400 Subject: [PATCH] get provider --- .../generate_video_v2/video_generation_draft.rs | 9 ++++++++- .../video_generation_draft_or_request.rs | 8 ++++++++ .../generate_video_v2/video_generation_request.rs | 10 ++++++++++ 3 files changed, 26 insertions(+), 1 deletion(-) diff --git a/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video_v2/video_generation_draft.rs b/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video_v2/video_generation_draft.rs index 71bb928d3f..822fc668af 100644 --- a/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video_v2/video_generation_draft.rs +++ b/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video_v2/video_generation_draft.rs @@ -1,4 +1,4 @@ -use crate::client::router_client::RouterClient; +use crate::api::provider::Provider; use crate::errors::artcraft_router_error::ArtcraftRouterError; use crate::generate::generate_video::video_generation_cost_estimate::VideoGenerationCostEstimate; use crate::generate::generate_video_v2::providers::kinovi::seedance_2p0::cost::KinoviSeedance2p0CostState; @@ -19,6 +19,13 @@ pub enum VideoGenerationDraftRequest { impl VideoGenerationDraftRequest { + pub fn get_provider(&self) -> Provider { + match self { + Self::KinoviSeedance2p0(_) => Provider::Seedance2Pro, + Self::KinoviSeedance2p0Fast(_) => Provider::Seedance2Pro, + } + } + /// Return a cost estimate to fulfill the request. pub fn estimate_cost(&self) -> Result { match self { diff --git a/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video_v2/video_generation_draft_or_request.rs b/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video_v2/video_generation_draft_or_request.rs index bf5b0eefa6..2427a17bed 100644 --- a/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video_v2/video_generation_draft_or_request.rs +++ b/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video_v2/video_generation_draft_or_request.rs @@ -1,3 +1,4 @@ +use crate::api::provider::Provider; use crate::errors::artcraft_router_error::ArtcraftRouterError; use crate::generate::generate_video::video_generation_cost_estimate::VideoGenerationCostEstimate; use crate::generate::generate_video_v2::video_generation_draft::VideoGenerationDraftRequest; @@ -10,6 +11,13 @@ pub enum VideoGenerationDraftOrRequest { impl VideoGenerationDraftOrRequest { + pub fn get_provider(&self) -> Provider { + match self { + Self::Draft(draft) => draft.get_provider(), + Self::Request(request) => request.get_provider(), + } + } + pub fn estimate_cost(&self) -> Result { match self { VideoGenerationDraftOrRequest::Draft(draft) => draft.estimate_cost(), diff --git a/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video_v2/video_generation_request.rs b/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video_v2/video_generation_request.rs index e5f7828302..4dfe600fcb 100644 --- a/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video_v2/video_generation_request.rs +++ b/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video_v2/video_generation_request.rs @@ -1,3 +1,4 @@ +use crate::api::provider::Provider; use crate::client::router_client::RouterClient; use crate::errors::artcraft_router_error::ArtcraftRouterError; use crate::generate::generate_video::generate_video_response::GenerateVideoResponse; @@ -21,6 +22,15 @@ pub enum VideoGenerationRequest { impl VideoGenerationRequest { + pub fn get_provider(&self) -> Provider { + match self { + Self::ArtcraftSeedance2p0(_) => Provider::Artcraft, + Self::ArtcraftSeedance2p0Fast(_) => Provider::Artcraft, + Self::KinoviSeedance2p0(_) => Provider::Seedance2Pro, + Self::KinoviSeedance2p0Fast(_) => Provider::Seedance2Pro, + } + } + /// Return a cost estimate to fulfill the request. pub fn estimate_cost(&self) -> Result { match self {