This commit is contained in:
Brandon Thomas committed 2026-06-21 22:57:35 -04:00
1 parent 137acdfdc7
commit 98e4e83f22
2 files changed
+38 -2

No files matched your search

@@ -3,6 +3,7 @@ use artcraft_api_defs::omni_gen::cost_and_generate_requests::omni_gen_video_cost
use artcraft_router::api::audio_list_ref::AudioListRef;
use artcraft_router::api::character_list_ref::CharacterListRef;
use artcraft_router::api::router_aspect_ratio::RouterAspectRatio;
use artcraft_router::api::router_bitrate::RouterBitrate;
use artcraft_router::api::router_resolution::RouterResolution;
use artcraft_router::api::router_video_model::RouterVideoModel;
use artcraft_router::api::image_list_ref::ImageListRef;
@@ -12,6 +13,7 @@ use artcraft_router::api::video_list_ref::VideoListRef;
use artcraft_router::client::request_mismatch_mitigation_strategy::RequestMismatchMitigationStrategy;
use artcraft_router::generate::generate_video::generate_video_request_builder::GenerateVideoRequestBuilder;
use enums::common::generation::common_aspect_ratio::CommonAspectRatio as CommonAspectRatioEnum;
use enums::common::generation::common_bitrate::CommonBitrate as CommonBitrateEnum;
use enums::common::generation::common_resolution::CommonResolution as CommonResolutionEnum;
use enums::common::generation::common_video_model::CommonVideoModel as CommonVideoModelEnum;
@@ -36,6 +38,11 @@ pub fn hydrate_to_router_request(
.map(convert_resolution)
.transpose()?;
let bitrate = request.bitrate
.as_ref()
.map(convert_bitrate)
.transpose()?;
Ok(GenerateVideoRequestBuilder {
model,
provider: RouterProvider::Artcraft,
@@ -55,7 +62,7 @@ pub fn hydrate_to_router_request(
.map(CharacterListRef::CharacterTokens),
resolution,
aspect_ratio,
bitrate: None,
bitrate,
duration_seconds: request.duration_seconds,
video_batch_count: request.video_batch_count,
generate_audio: request.generate_audio,
@@ -96,3 +103,14 @@ fn convert_resolution(
)
})
}
fn convert_bitrate(
bitrate: &CommonBitrateEnum,
) -> Result<RouterBitrate, CommonWebError> {
let json = serde_json::to_string(bitrate)?;
serde_json::from_str(&json).map_err(|e| {
CommonWebError::BadInputWithSimpleMessage(
format!("Unsupported bitrate: {}", e),
)
})
}
@@ -3,6 +3,7 @@ use artcraft_api_defs::omni_gen::cost_and_generate_requests::omni_gen_video_cost
use artcraft_router::api::audio_list_ref::AudioListRef;
use artcraft_router::api::character_list_ref::CharacterListRef;
use artcraft_router::api::router_aspect_ratio::RouterAspectRatio;
use artcraft_router::api::router_bitrate::RouterBitrate;
use artcraft_router::api::router_resolution::RouterResolution;
use artcraft_router::api::router_video_model::RouterVideoModel;
use artcraft_router::api::image_list_ref::ImageListRef;
@@ -12,6 +13,7 @@ use artcraft_router::api::video_list_ref::VideoListRef;
use artcraft_router::client::request_mismatch_mitigation_strategy::RequestMismatchMitigationStrategy;
use artcraft_router::generate::generate_video::generate_video_request_builder::GenerateVideoRequestBuilder;
use enums::common::generation::common_aspect_ratio::CommonAspectRatio as CommonAspectRatioEnum;
use enums::common::generation::common_bitrate::CommonBitrate as CommonBitrateEnum;
use enums::common::generation::common_resolution::CommonResolution as CommonResolutionEnum;
use enums::common::generation::common_video_model::CommonVideoModel as CommonVideoModelEnum;
@@ -36,6 +38,11 @@ pub fn hydrate_to_router_request(
.map(convert_resolution)
.transpose()?;
let bitrate = request.bitrate
.as_ref()
.map(convert_bitrate)
.transpose()?;
Ok(GenerateVideoRequestBuilder {
model,
provider: RouterProvider::Artcraft,
@@ -55,7 +62,7 @@ pub fn hydrate_to_router_request(
.map(CharacterListRef::CharacterTokens),
resolution,
aspect_ratio,
bitrate: None,
bitrate,
duration_seconds: request.duration_seconds,
video_batch_count: request.video_batch_count,
generate_audio: request.generate_audio,
@@ -96,3 +103,14 @@ fn convert_resolution(
)
})
}
fn convert_bitrate(
bitrate: &CommonBitrateEnum,
) -> Result<RouterBitrate, CommonWebError> {
let json = serde_json::to_string(bitrate)?;
serde_json::from_str(&json).map_err(|e| {
CommonWebError::BadInputWithSimpleMessage(
format!("Unsupported bitrate: {}", e),
)
})
}