add new enum

This commit is contained in:
Brandon Thomas committed 2026-05-19 23:43:48 -04:00
1 parent 09af5d8f9c
commit 021a6077c8
3 files changed
+49 -1

No files matched your search

@@ -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,
@@ -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));
@@ -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),