From 021a6077c82ac5f7d9dfc5299b4a1ea779042a96 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Tue, 19 May 2026 23:43:48 -0400 Subject: [PATCH] add new enum --- .../src/api/common_video_model.rs | 6 +++++ .../common/generation/common_model_type.rs | 22 ++++++++++++++++++- .../common/generation/common_video_model.rs | 22 +++++++++++++++++++ 3 files changed, 49 insertions(+), 1 deletion(-) diff --git a/crates/api_clients/artcraft/artcraft_router/src/api/common_video_model.rs b/crates/api_clients/artcraft/artcraft_router/src/api/common_video_model.rs index f0ccbfa7a2..023d6d7c8b 100644 --- a/crates/api_clients/artcraft/artcraft_router/src/api/common_video_model.rs +++ b/crates/api_clients/artcraft/artcraft_router/src/api/common_video_model.rs @@ -41,6 +41,12 @@ pub enum CommonVideoModel { #[serde(rename = "seedance_2p0_fast")] Seedance2p0Fast, + #[serde(rename = "seedance_2p0_p")] + Seedance2p0Plus, + + #[serde(rename = "seedance_2p0_p_fast")] + Seedance2p0PlusFast, + #[serde(rename = "seedance_2p0_g")] Seedance2p0Global, diff --git a/crates/schema/public/enums/src/common/generation/common_model_type.rs b/crates/schema/public/enums/src/common/generation/common_model_type.rs index 2288e69877..f288ecef3f 100644 --- a/crates/schema/public/enums/src/common/generation/common_model_type.rs +++ b/crates/schema/public/enums/src/common/generation/common_model_type.rs @@ -130,6 +130,10 @@ pub enum CommonModelType { Seedance2p0, #[serde(rename = "seedance_2p0_fast")] Seedance2p0Fast, + #[serde(rename = "seedance_2p0_p")] + Seedance2p0Plus, + #[serde(rename = "seedance_2p0_p_fast")] + Seedance2p0PlusFast, #[serde(rename = "seedance_2p0_g")] Seedance2p0Global, #[serde(rename = "seedance_2p0_fast_g")] @@ -227,6 +231,8 @@ impl CommonModelType { Self::Seedance1p5Pro => "seedance_1p5_pro", Self::Seedance2p0 => "seedance_2p0", Self::Seedance2p0Fast => "seedance_2p0_fast", + Self::Seedance2p0Plus => "seedance_2p0_p", + Self::Seedance2p0PlusFast => "seedance_2p0_p_fast", Self::Seedance2p0Global => "seedance_2p0_g", Self::Seedance2p0FastGlobal => "seedance_2p0_fast_g", Self::Sora2 => "sora_2", @@ -301,6 +307,8 @@ impl CommonModelType { "seedance_1p5_pro" => Ok(Self::Seedance1p5Pro), "seedance_2p0" => Ok(Self::Seedance2p0), "seedance_2p0_fast" => Ok(Self::Seedance2p0Fast), + "seedance_2p0_p" => Ok(Self::Seedance2p0Plus), + "seedance_2p0_p_fast" => Ok(Self::Seedance2p0PlusFast), "seedance_2p0_g" => Ok(Self::Seedance2p0Global), "seedance_2p0_fast_g" => Ok(Self::Seedance2p0FastGlobal), "sora_2" => Ok(Self::Sora2), @@ -379,6 +387,8 @@ impl CommonModelType { Self::Seedance1p5Pro, Self::Seedance2p0, Self::Seedance2p0Fast, + Self::Seedance2p0Plus, + Self::Seedance2p0PlusFast, Self::Seedance2p0Global, Self::Seedance2p0FastGlobal, Self::Sora2, @@ -454,6 +464,8 @@ impl CommonModelType { Self::Seedance1p5Pro => CommonModelClass::Video, Self::Seedance2p0 => CommonModelClass::Video, Self::Seedance2p0Fast => CommonModelClass::Video, + Self::Seedance2p0Plus => CommonModelClass::Video, + Self::Seedance2p0PlusFast => CommonModelClass::Video, Self::Seedance2p0Global => CommonModelClass::Video, Self::Seedance2p0FastGlobal => CommonModelClass::Video, Self::Sora2 => CommonModelClass::Video, @@ -538,6 +550,8 @@ mod tests { assert_serialization(CommonModelType::Seedance1p5Pro, "seedance_1p5_pro"); assert_serialization(CommonModelType::Seedance2p0, "seedance_2p0"); assert_serialization(CommonModelType::Seedance2p0Fast, "seedance_2p0_fast"); + assert_serialization(CommonModelType::Seedance2p0Plus, "seedance_2p0_p"); + assert_serialization(CommonModelType::Seedance2p0PlusFast, "seedance_2p0_p_fast"); assert_serialization(CommonModelType::Seedance2p0Global, "seedance_2p0_g"); assert_serialization(CommonModelType::Seedance2p0FastGlobal, "seedance_2p0_fast_g"); assert_serialization(CommonModelType::Sora2, "sora_2"); @@ -609,6 +623,8 @@ mod tests { assert_eq!(CommonModelType::Seedance1p5Pro.to_str(), "seedance_1p5_pro"); assert_eq!(CommonModelType::Seedance2p0.to_str(), "seedance_2p0"); assert_eq!(CommonModelType::Seedance2p0Fast.to_str(), "seedance_2p0_fast"); + assert_eq!(CommonModelType::Seedance2p0Plus.to_str(), "seedance_2p0_p"); + assert_eq!(CommonModelType::Seedance2p0PlusFast.to_str(), "seedance_2p0_p_fast"); assert_eq!(CommonModelType::Seedance2p0Global.to_str(), "seedance_2p0_g"); assert_eq!(CommonModelType::Seedance2p0FastGlobal.to_str(), "seedance_2p0_fast_g"); assert_eq!(CommonModelType::Sora2.to_str(), "sora_2"); @@ -680,6 +696,8 @@ mod tests { assert_eq!(CommonModelType::from_str("seedance_1p5_pro").unwrap(), CommonModelType::Seedance1p5Pro); assert_eq!(CommonModelType::from_str("seedance_2p0").unwrap(), CommonModelType::Seedance2p0); assert_eq!(CommonModelType::from_str("seedance_2p0_fast").unwrap(), CommonModelType::Seedance2p0Fast); + assert_eq!(CommonModelType::from_str("seedance_2p0_p").unwrap(), CommonModelType::Seedance2p0Plus); + assert_eq!(CommonModelType::from_str("seedance_2p0_p_fast").unwrap(), CommonModelType::Seedance2p0PlusFast); assert_eq!(CommonModelType::from_str("seedance_2p0_g").unwrap(), CommonModelType::Seedance2p0Global); assert_eq!(CommonModelType::from_str("seedance_2p0_fast_g").unwrap(), CommonModelType::Seedance2p0FastGlobal); assert_eq!(CommonModelType::from_str("sora_2").unwrap(), CommonModelType::Sora2); @@ -705,7 +723,7 @@ mod tests { #[test] fn all_variants() { let mut variants = CommonModelType::all_variants(); - assert_eq!(variants.len(), 62); + assert_eq!(variants.len(), 64); // Image models assert_eq!(variants.pop_first(), Some(CommonModelType::Flux1Dev)); assert_eq!(variants.pop_first(), Some(CommonModelType::Flux1Schnell)); @@ -753,6 +771,8 @@ mod tests { assert_eq!(variants.pop_first(), Some(CommonModelType::Seedance1p5Pro)); assert_eq!(variants.pop_first(), Some(CommonModelType::Seedance2p0)); assert_eq!(variants.pop_first(), Some(CommonModelType::Seedance2p0Fast)); + assert_eq!(variants.pop_first(), Some(CommonModelType::Seedance2p0Plus)); + assert_eq!(variants.pop_first(), Some(CommonModelType::Seedance2p0PlusFast)); assert_eq!(variants.pop_first(), Some(CommonModelType::Seedance2p0Global)); assert_eq!(variants.pop_first(), Some(CommonModelType::Seedance2p0FastGlobal)); assert_eq!(variants.pop_first(), Some(CommonModelType::Sora2)); diff --git a/crates/schema/public/enums/src/common/generation/common_video_model.rs b/crates/schema/public/enums/src/common/generation/common_video_model.rs index b26687e05b..d747cc23dc 100644 --- a/crates/schema/public/enums/src/common/generation/common_video_model.rs +++ b/crates/schema/public/enums/src/common/generation/common_video_model.rs @@ -44,9 +44,17 @@ pub enum CommonVideoModel { #[serde(rename = "seedance_2p0_fast")] Seedance2p0Fast, + #[serde(rename = "seedance_2p0_p")] + Seedance2p0Plus, + + #[serde(rename = "seedance_2p0_p_fast")] + Seedance2p0PlusFast, + + // NB: Not in use #[serde(rename = "seedance_2p0_g")] Seedance2p0Global, + // NB: Not in use #[serde(rename = "seedance_2p0_fast_g")] Seedance2p0FastGlobal, @@ -71,9 +79,13 @@ pub enum CommonVideoModel { #[serde(rename = "veo_3p1_fast")] Veo3p1Fast, + // NB: Temporary model rollout. Previously used for "Seedance 2.0 BytePlus". + // This can be reused in the future. #[serde(rename = "preview_model")] PreviewModel, + // NB: Temporary model rollout. Previously used for "Seedance 2.0 BytePlus Fast". + // This can be reused in the future. #[serde(rename = "preview_model_fast")] PreviewModelFast, } @@ -95,6 +107,8 @@ impl CommonVideoModel { Self::Seedance1p5Pro => CommonModelType::Seedance1p5Pro, Self::Seedance2p0 => CommonModelType::Seedance2p0, Self::Seedance2p0Fast => CommonModelType::Seedance2p0Fast, + Self::Seedance2p0Plus => CommonModelType::Seedance2p0Plus, + Self::Seedance2p0PlusFast => CommonModelType::Seedance2p0PlusFast, Self::Seedance2p0Global => CommonModelType::Seedance2p0Global, Self::Seedance2p0FastGlobal => CommonModelType::Seedance2p0FastGlobal, Self::Sora2 => CommonModelType::Sora2, @@ -131,6 +145,8 @@ mod tests { assert_serialization(CommonVideoModel::Seedance1p5Pro, "seedance_1p5_pro"); assert_serialization(CommonVideoModel::Seedance2p0, "seedance_2p0"); assert_serialization(CommonVideoModel::Seedance2p0Fast, "seedance_2p0_fast"); + assert_serialization(CommonVideoModel::Seedance2p0Plus, "seedance_2p0_p"); + assert_serialization(CommonVideoModel::Seedance2p0PlusFast, "seedance_2p0_p_fast"); assert_serialization(CommonVideoModel::Seedance2p0Global, "seedance_2p0_g"); assert_serialization(CommonVideoModel::Seedance2p0FastGlobal, "seedance_2p0_fast_g"); assert_serialization(CommonVideoModel::Sora2, "sora_2"); @@ -160,6 +176,8 @@ mod tests { ("seedance_1p5_pro", CommonVideoModel::Seedance1p5Pro), ("seedance_2p0", CommonVideoModel::Seedance2p0), ("seedance_2p0_fast", CommonVideoModel::Seedance2p0Fast), + ("seedance_2p0_p", CommonVideoModel::Seedance2p0Plus), + ("seedance_2p0_p_fast", CommonVideoModel::Seedance2p0PlusFast), ("seedance_2p0_g", CommonVideoModel::Seedance2p0Global), ("seedance_2p0_fast_g", CommonVideoModel::Seedance2p0FastGlobal), ("sora_2", CommonVideoModel::Sora2), @@ -196,6 +214,8 @@ mod tests { CommonVideoModel::Seedance1p5Pro, CommonVideoModel::Seedance2p0, CommonVideoModel::Seedance2p0Fast, + CommonVideoModel::Seedance2p0Plus, + CommonVideoModel::Seedance2p0PlusFast, CommonVideoModel::Seedance2p0Global, CommonVideoModel::Seedance2p0FastGlobal, CommonVideoModel::Sora2, @@ -231,6 +251,8 @@ mod tests { (CommonVideoModel::Seedance1p5Pro, CommonModelType::Seedance1p5Pro), (CommonVideoModel::Seedance2p0, CommonModelType::Seedance2p0), (CommonVideoModel::Seedance2p0Fast, CommonModelType::Seedance2p0Fast), + (CommonVideoModel::Seedance2p0Plus, CommonModelType::Seedance2p0Plus), + (CommonVideoModel::Seedance2p0PlusFast, CommonModelType::Seedance2p0PlusFast), (CommonVideoModel::Seedance2p0Global, CommonModelType::Seedance2p0Global), (CommonVideoModel::Seedance2p0FastGlobal, CommonModelType::Seedance2p0FastGlobal), (CommonVideoModel::Sora2, CommonModelType::Sora2),