From 5d869b99180889a9e51d73dd7bd6f82f816e05de Mon Sep 17 00:00:00 2001 From: Hanashi Date: Mon, 10 Aug 2026 23:18:48 -0400 Subject: [PATCH] fix margins --- .../providers/artcraft/seedance_2p0/cost.rs | 14 +- .../artcraft/seedance_2p0_bp_mini/cost.rs | 66 +- .../artcraft/seedance_2p0_bpu_mini/cost.rs | 66 +- .../artcraft/seedance_2p0_fast/cost.rs | 16 +- .../artcraft/seedance_2p0_mini/cost.rs | 66 +- .../providers/artcraft/seedance_common.rs | 108 +- .../seedance_2p0/seedance_2p0_fast_tests.rs | 58 +- .../seedance_2p0/seedance_2p0_mini_tests.rs | 1364 ++++++++--------- .../tests/seedance_2p0/seedance_2p0_tests.rs | 68 +- 9 files changed, 913 insertions(+), 913 deletions(-) diff --git a/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video/providers/artcraft/seedance_2p0/cost.rs b/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video/providers/artcraft/seedance_2p0/cost.rs index 32f204c9b4..eb9029ee5f 100644 --- a/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video/providers/artcraft/seedance_2p0/cost.rs +++ b/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video/providers/artcraft/seedance_2p0/cost.rs @@ -242,10 +242,10 @@ mod tests { #[test] fn explicit_4k_without_video_reference() { - assert_eq!(artcraft_4k_cents(4, 1, false), 347); - assert_eq!(artcraft_4k_cents(5, 1, false), 433); - assert_eq!(artcraft_4k_cents(10, 1, false), 866); - assert_eq!(artcraft_4k_cents(15, 1, false), 1299); + assert_eq!(artcraft_4k_cents(4, 1, false), 358); + assert_eq!(artcraft_4k_cents(5, 1, false), 447); + assert_eq!(artcraft_4k_cents(10, 1, false), 893); + assert_eq!(artcraft_4k_cents(15, 1, false), 1340); } #[test] @@ -513,9 +513,9 @@ mod tests { #[test] fn refs_cost_more_at_4k() { - assert_ref_delta(CommonResolution::FourK, 5, 433, 569, 136); - assert_ref_delta(CommonResolution::FourK, 10, 866, 1138, 272); - assert_ref_delta(CommonResolution::FourK, 15, 1299, 1707, 408); + assert_ref_delta(CommonResolution::FourK, 5, 447, 569, 122); + assert_ref_delta(CommonResolution::FourK, 10, 893, 1138, 245); + assert_ref_delta(CommonResolution::FourK, 15, 1340, 1707, 367); } /// Price the same generation with and without a reference video; pin diff --git a/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video/providers/artcraft/seedance_2p0_bp_mini/cost.rs b/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video/providers/artcraft/seedance_2p0_bp_mini/cost.rs index eea23a0bae..6f245d2226 100644 --- a/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video/providers/artcraft/seedance_2p0_bp_mini/cost.rs +++ b/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video/providers/artcraft/seedance_2p0_bp_mini/cost.rs @@ -65,18 +65,18 @@ mod tests { #[test] fn without_video_reference() { - assert_eq!(cents(RouterResolution::FourEightyP, 4, 1, false), 14); - assert_eq!(cents(RouterResolution::FourEightyP, 5, 1, false), 17); - assert_eq!(cents(RouterResolution::FourEightyP, 10, 1, false), 33); - assert_eq!(cents(RouterResolution::FourEightyP, 15, 1, false), 50); + assert_eq!(cents(RouterResolution::FourEightyP, 4, 1, false), 15); + assert_eq!(cents(RouterResolution::FourEightyP, 5, 1, false), 18); + assert_eq!(cents(RouterResolution::FourEightyP, 10, 1, false), 36); + assert_eq!(cents(RouterResolution::FourEightyP, 15, 1, false), 54); } #[test] fn with_video_reference() { - assert_eq!(cents(RouterResolution::FourEightyP, 4, 1, true), 17); - assert_eq!(cents(RouterResolution::FourEightyP, 5, 1, true), 21); - assert_eq!(cents(RouterResolution::FourEightyP, 10, 1, true), 42); - assert_eq!(cents(RouterResolution::FourEightyP, 15, 1, true), 63); + assert_eq!(cents(RouterResolution::FourEightyP, 4, 1, true), 18); + assert_eq!(cents(RouterResolution::FourEightyP, 5, 1, true), 23); + assert_eq!(cents(RouterResolution::FourEightyP, 10, 1, true), 45); + assert_eq!(cents(RouterResolution::FourEightyP, 15, 1, true), 68); } } @@ -85,18 +85,18 @@ mod tests { #[test] fn without_video_reference() { - assert_eq!(cents(RouterResolution::SevenTwentyP, 4, 1, false), 35); - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 1, false), 44); - assert_eq!(cents(RouterResolution::SevenTwentyP, 10, 1, false), 88); - assert_eq!(cents(RouterResolution::SevenTwentyP, 15, 1, false), 131); + assert_eq!(cents(RouterResolution::SevenTwentyP, 4, 1, false), 37); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 1, false), 46); + assert_eq!(cents(RouterResolution::SevenTwentyP, 10, 1, false), 91); + assert_eq!(cents(RouterResolution::SevenTwentyP, 15, 1, false), 137); } #[test] fn with_video_reference() { - assert_eq!(cents(RouterResolution::SevenTwentyP, 4, 1, true), 42); - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 1, true), 53); - assert_eq!(cents(RouterResolution::SevenTwentyP, 10, 1, true), 105); - assert_eq!(cents(RouterResolution::SevenTwentyP, 15, 1, true), 158); + assert_eq!(cents(RouterResolution::SevenTwentyP, 4, 1, true), 44); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 1, true), 55); + assert_eq!(cents(RouterResolution::SevenTwentyP, 10, 1, true), 110); + assert_eq!(cents(RouterResolution::SevenTwentyP, 15, 1, true), 165); } #[test] @@ -112,31 +112,31 @@ mod tests { /// apply). Once, batch 8 executed in full but billed as batch 4. #[test] fn every_batch_size_720p_5s() { - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 1, false), 44); - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 2, false), 88); - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 3, false), 131); - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 4, false), 175); - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 5, false), 219); - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 6, false), 262); - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 7, false), 306); - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 8, false), 349); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 1, false), 46); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 2, false), 91); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 3, false), 137); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 4, false), 182); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 5, false), 228); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 6, false), 273); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 7, false), 319); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 8, false), 364); } #[test] fn every_batch_size_480p_5s() { - assert_eq!(cents(RouterResolution::FourEightyP, 5, 1, false), 17); - assert_eq!(cents(RouterResolution::FourEightyP, 5, 2, false), 33); - assert_eq!(cents(RouterResolution::FourEightyP, 5, 3, false), 50); - assert_eq!(cents(RouterResolution::FourEightyP, 5, 4, false), 66); - assert_eq!(cents(RouterResolution::FourEightyP, 5, 5, false), 82); - assert_eq!(cents(RouterResolution::FourEightyP, 5, 6, false), 99); - assert_eq!(cents(RouterResolution::FourEightyP, 5, 7, false), 115); - assert_eq!(cents(RouterResolution::FourEightyP, 5, 8, false), 131); + assert_eq!(cents(RouterResolution::FourEightyP, 5, 1, false), 18); + assert_eq!(cents(RouterResolution::FourEightyP, 5, 2, false), 36); + assert_eq!(cents(RouterResolution::FourEightyP, 5, 3, false), 54); + assert_eq!(cents(RouterResolution::FourEightyP, 5, 4, false), 71); + assert_eq!(cents(RouterResolution::FourEightyP, 5, 5, false), 89); + assert_eq!(cents(RouterResolution::FourEightyP, 5, 6, false), 107); + assert_eq!(cents(RouterResolution::FourEightyP, 5, 7, false), 125); + assert_eq!(cents(RouterResolution::FourEightyP, 5, 8, false), 142); } #[test] fn batch_eight_with_video_reference() { - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 8, true), 419); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 8, true), 438); } #[test] diff --git a/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video/providers/artcraft/seedance_2p0_bpu_mini/cost.rs b/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video/providers/artcraft/seedance_2p0_bpu_mini/cost.rs index 47f8a53a5c..0488a7b1f5 100644 --- a/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video/providers/artcraft/seedance_2p0_bpu_mini/cost.rs +++ b/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video/providers/artcraft/seedance_2p0_bpu_mini/cost.rs @@ -65,18 +65,18 @@ mod tests { #[test] fn without_video_reference() { - assert_eq!(cents(RouterResolution::FourEightyP, 4, 1, false), 14); - assert_eq!(cents(RouterResolution::FourEightyP, 5, 1, false), 17); - assert_eq!(cents(RouterResolution::FourEightyP, 10, 1, false), 33); - assert_eq!(cents(RouterResolution::FourEightyP, 15, 1, false), 50); + assert_eq!(cents(RouterResolution::FourEightyP, 4, 1, false), 15); + assert_eq!(cents(RouterResolution::FourEightyP, 5, 1, false), 18); + assert_eq!(cents(RouterResolution::FourEightyP, 10, 1, false), 36); + assert_eq!(cents(RouterResolution::FourEightyP, 15, 1, false), 54); } #[test] fn with_video_reference() { - assert_eq!(cents(RouterResolution::FourEightyP, 4, 1, true), 17); - assert_eq!(cents(RouterResolution::FourEightyP, 5, 1, true), 21); - assert_eq!(cents(RouterResolution::FourEightyP, 10, 1, true), 42); - assert_eq!(cents(RouterResolution::FourEightyP, 15, 1, true), 63); + assert_eq!(cents(RouterResolution::FourEightyP, 4, 1, true), 18); + assert_eq!(cents(RouterResolution::FourEightyP, 5, 1, true), 23); + assert_eq!(cents(RouterResolution::FourEightyP, 10, 1, true), 45); + assert_eq!(cents(RouterResolution::FourEightyP, 15, 1, true), 68); } } @@ -85,18 +85,18 @@ mod tests { #[test] fn without_video_reference() { - assert_eq!(cents(RouterResolution::SevenTwentyP, 4, 1, false), 35); - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 1, false), 44); - assert_eq!(cents(RouterResolution::SevenTwentyP, 10, 1, false), 88); - assert_eq!(cents(RouterResolution::SevenTwentyP, 15, 1, false), 131); + assert_eq!(cents(RouterResolution::SevenTwentyP, 4, 1, false), 37); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 1, false), 46); + assert_eq!(cents(RouterResolution::SevenTwentyP, 10, 1, false), 91); + assert_eq!(cents(RouterResolution::SevenTwentyP, 15, 1, false), 137); } #[test] fn with_video_reference() { - assert_eq!(cents(RouterResolution::SevenTwentyP, 4, 1, true), 42); - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 1, true), 53); - assert_eq!(cents(RouterResolution::SevenTwentyP, 10, 1, true), 105); - assert_eq!(cents(RouterResolution::SevenTwentyP, 15, 1, true), 158); + assert_eq!(cents(RouterResolution::SevenTwentyP, 4, 1, true), 44); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 1, true), 55); + assert_eq!(cents(RouterResolution::SevenTwentyP, 10, 1, true), 110); + assert_eq!(cents(RouterResolution::SevenTwentyP, 15, 1, true), 165); } #[test] @@ -112,31 +112,31 @@ mod tests { /// apply). Once, batch 8 executed in full but billed as batch 4. #[test] fn every_batch_size_720p_5s() { - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 1, false), 44); - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 2, false), 88); - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 3, false), 131); - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 4, false), 175); - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 5, false), 219); - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 6, false), 262); - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 7, false), 306); - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 8, false), 349); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 1, false), 46); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 2, false), 91); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 3, false), 137); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 4, false), 182); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 5, false), 228); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 6, false), 273); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 7, false), 319); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 8, false), 364); } #[test] fn every_batch_size_480p_5s() { - assert_eq!(cents(RouterResolution::FourEightyP, 5, 1, false), 17); - assert_eq!(cents(RouterResolution::FourEightyP, 5, 2, false), 33); - assert_eq!(cents(RouterResolution::FourEightyP, 5, 3, false), 50); - assert_eq!(cents(RouterResolution::FourEightyP, 5, 4, false), 66); - assert_eq!(cents(RouterResolution::FourEightyP, 5, 5, false), 82); - assert_eq!(cents(RouterResolution::FourEightyP, 5, 6, false), 99); - assert_eq!(cents(RouterResolution::FourEightyP, 5, 7, false), 115); - assert_eq!(cents(RouterResolution::FourEightyP, 5, 8, false), 131); + assert_eq!(cents(RouterResolution::FourEightyP, 5, 1, false), 18); + assert_eq!(cents(RouterResolution::FourEightyP, 5, 2, false), 36); + assert_eq!(cents(RouterResolution::FourEightyP, 5, 3, false), 54); + assert_eq!(cents(RouterResolution::FourEightyP, 5, 4, false), 71); + assert_eq!(cents(RouterResolution::FourEightyP, 5, 5, false), 89); + assert_eq!(cents(RouterResolution::FourEightyP, 5, 6, false), 107); + assert_eq!(cents(RouterResolution::FourEightyP, 5, 7, false), 125); + assert_eq!(cents(RouterResolution::FourEightyP, 5, 8, false), 142); } #[test] fn batch_eight_with_video_reference() { - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 8, true), 419); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 8, true), 438); } #[test] diff --git a/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video/providers/artcraft/seedance_2p0_fast/cost.rs b/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video/providers/artcraft/seedance_2p0_fast/cost.rs index ab54ca9124..fef7803d0e 100644 --- a/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video/providers/artcraft/seedance_2p0_fast/cost.rs +++ b/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video/providers/artcraft/seedance_2p0_fast/cost.rs @@ -13,7 +13,7 @@ use crate::generate::generate_video::providers::artcraft::seedance_2p0_fast::req /// /// Kept as f64 because per-second rates are fractional; rounding happens /// once at the end after multiplying by duration * batch. -const CENTS_PER_SECOND_480P: f64 = 5.181; +const CENTS_PER_SECOND_480P: f64 = 6.40; const CENTS_PER_SECOND_720P: f64 = 12.727; /// USD cents per second, in hundredths of a cent, when one or more @@ -149,25 +149,25 @@ mod tests { #[test] fn batch_1() { - assert_eq!(cost_cents(Some(RouterResolution::FourEightyP), 4, 1), 21); - assert_eq!(cost_cents(Some(RouterResolution::FourEightyP), 5, 1), 26); - assert_eq!(cost_cents(Some(RouterResolution::FourEightyP), 10, 1), 52); - assert_eq!(cost_cents(Some(RouterResolution::FourEightyP), 15, 1), 78); + assert_eq!(cost_cents(Some(RouterResolution::FourEightyP), 4, 1), 26); + assert_eq!(cost_cents(Some(RouterResolution::FourEightyP), 5, 1), 32); + assert_eq!(cost_cents(Some(RouterResolution::FourEightyP), 10, 1), 64); + assert_eq!(cost_cents(Some(RouterResolution::FourEightyP), 15, 1), 96); } #[test] fn batch_2() { - assert_eq!(cost_cents(Some(RouterResolution::FourEightyP), 5, 2), 52); + assert_eq!(cost_cents(Some(RouterResolution::FourEightyP), 5, 2), 64); } #[test] fn batch_3() { - assert_eq!(cost_cents(Some(RouterResolution::FourEightyP), 5, 3), 78); + assert_eq!(cost_cents(Some(RouterResolution::FourEightyP), 5, 3), 96); } #[test] fn batch_4() { - assert_eq!(cost_cents(Some(RouterResolution::FourEightyP), 5, 4), 104); + assert_eq!(cost_cents(Some(RouterResolution::FourEightyP), 5, 4), 128); } } diff --git a/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video/providers/artcraft/seedance_2p0_mini/cost.rs b/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video/providers/artcraft/seedance_2p0_mini/cost.rs index e24c609dd6..536d7d79b8 100644 --- a/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video/providers/artcraft/seedance_2p0_mini/cost.rs +++ b/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video/providers/artcraft/seedance_2p0_mini/cost.rs @@ -65,18 +65,18 @@ mod tests { #[test] fn without_video_reference() { - assert_eq!(cents(RouterResolution::FourEightyP, 4, 1, false), 13); - assert_eq!(cents(RouterResolution::FourEightyP, 5, 1, false), 17); - assert_eq!(cents(RouterResolution::FourEightyP, 10, 1, false), 33); - assert_eq!(cents(RouterResolution::FourEightyP, 15, 1, false), 49); + assert_eq!(cents(RouterResolution::FourEightyP, 4, 1, false), 14); + assert_eq!(cents(RouterResolution::FourEightyP, 5, 1, false), 18); + assert_eq!(cents(RouterResolution::FourEightyP, 10, 1, false), 35); + assert_eq!(cents(RouterResolution::FourEightyP, 15, 1, false), 52); } #[test] fn with_video_reference() { - assert_eq!(cents(RouterResolution::FourEightyP, 4, 1, true), 17); - assert_eq!(cents(RouterResolution::FourEightyP, 5, 1, true), 21); - assert_eq!(cents(RouterResolution::FourEightyP, 10, 1, true), 42); - assert_eq!(cents(RouterResolution::FourEightyP, 15, 1, true), 62); + assert_eq!(cents(RouterResolution::FourEightyP, 4, 1, true), 18); + assert_eq!(cents(RouterResolution::FourEightyP, 5, 1, true), 22); + assert_eq!(cents(RouterResolution::FourEightyP, 10, 1, true), 44); + assert_eq!(cents(RouterResolution::FourEightyP, 15, 1, true), 66); } } @@ -85,18 +85,18 @@ mod tests { #[test] fn without_video_reference() { - assert_eq!(cents(RouterResolution::SevenTwentyP, 4, 1, false), 35); - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 1, false), 44); - assert_eq!(cents(RouterResolution::SevenTwentyP, 10, 1, false), 87); - assert_eq!(cents(RouterResolution::SevenTwentyP, 15, 1, false), 130); + assert_eq!(cents(RouterResolution::SevenTwentyP, 4, 1, false), 36); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 1, false), 45); + assert_eq!(cents(RouterResolution::SevenTwentyP, 10, 1, false), 89); + assert_eq!(cents(RouterResolution::SevenTwentyP, 15, 1, false), 134); } #[test] fn with_video_reference() { - assert_eq!(cents(RouterResolution::SevenTwentyP, 4, 1, true), 42); - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 1, true), 52); - assert_eq!(cents(RouterResolution::SevenTwentyP, 10, 1, true), 104); - assert_eq!(cents(RouterResolution::SevenTwentyP, 15, 1, true), 156); + assert_eq!(cents(RouterResolution::SevenTwentyP, 4, 1, true), 43); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 1, true), 54); + assert_eq!(cents(RouterResolution::SevenTwentyP, 10, 1, true), 108); + assert_eq!(cents(RouterResolution::SevenTwentyP, 15, 1, true), 161); } #[test] @@ -112,31 +112,31 @@ mod tests { /// apply). Once, batch 8 executed in full but billed as batch 4. #[test] fn every_batch_size_720p_5s() { - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 1, false), 44); - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 2, false), 87); - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 3, false), 130); - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 4, false), 173); - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 5, false), 217); - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 6, false), 260); - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 7, false), 303); - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 8, false), 346); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 1, false), 45); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 2, false), 89); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 3, false), 134); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 4, false), 178); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 5, false), 223); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 6, false), 267); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 7, false), 312); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 8, false), 356); } #[test] fn every_batch_size_480p_5s() { - assert_eq!(cents(RouterResolution::FourEightyP, 5, 1, false), 17); - assert_eq!(cents(RouterResolution::FourEightyP, 5, 2, false), 33); - assert_eq!(cents(RouterResolution::FourEightyP, 5, 3, false), 49); - assert_eq!(cents(RouterResolution::FourEightyP, 5, 4, false), 65); - assert_eq!(cents(RouterResolution::FourEightyP, 5, 5, false), 82); - assert_eq!(cents(RouterResolution::FourEightyP, 5, 6, false), 98); - assert_eq!(cents(RouterResolution::FourEightyP, 5, 7, false), 114); - assert_eq!(cents(RouterResolution::FourEightyP, 5, 8, false), 130); + assert_eq!(cents(RouterResolution::FourEightyP, 5, 1, false), 18); + assert_eq!(cents(RouterResolution::FourEightyP, 5, 2, false), 35); + assert_eq!(cents(RouterResolution::FourEightyP, 5, 3, false), 52); + assert_eq!(cents(RouterResolution::FourEightyP, 5, 4, false), 69); + assert_eq!(cents(RouterResolution::FourEightyP, 5, 5, false), 87); + assert_eq!(cents(RouterResolution::FourEightyP, 5, 6, false), 104); + assert_eq!(cents(RouterResolution::FourEightyP, 5, 7, false), 121); + assert_eq!(cents(RouterResolution::FourEightyP, 5, 8, false), 138); } #[test] fn batch_eight_with_video_reference() { - assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 8, true), 415); + assert_eq!(cents(RouterResolution::SevenTwentyP, 5, 8, true), 429); } #[test] diff --git a/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video/providers/artcraft/seedance_common.rs b/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video/providers/artcraft/seedance_common.rs index 8df86f63cf..4b2466b0a8 100644 --- a/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video/providers/artcraft/seedance_common.rs +++ b/crates/api_clients/artcraft/artcraft_router/src/generate/generate_video/providers/artcraft/seedance_common.rs @@ -11,8 +11,8 @@ use kinovi_web_client::generate::video::generate_seedance_2p5::{ // in hundredths of a USD cent per second so the math is exact integer arithmetic // (no floating point), then rounded up to whole cents. -/// 4K output price, in hundredths of a USD cent per second (86.60 ¢/s). -const FOUR_K_CENTI_CENTS_PER_SECOND: u64 = 8660; +/// 4K output price, in hundredths of a USD cent per second (89.30 ¢/s). +const FOUR_K_CENTI_CENTS_PER_SECOND: u64 = 8930; /// ArtCraft's price (USD cents) for Seedance 2.0 at 4K with no reference /// videos attached. Each model prices reference videos through its own @@ -40,22 +40,22 @@ pub fn seedance_2p0_four_k_usd_cents( // rate sets and helpers below. /// Regular Mini — 480p price, USD cents per second. -const MINI_CENTS_PER_SECOND_480P: f64 = 3.24074074; +const MINI_CENTS_PER_SECOND_480P: f64 = 3.45; /// Regular Mini — 480p reference-video surcharge, USD cents per second. -const MINI_VIDEO_REFERENCE_SURCHARGE_CENTS_PER_SECOND_480P: f64 = 0.86419753; +const MINI_VIDEO_REFERENCE_SURCHARGE_CENTS_PER_SECOND_480P: f64 = 0.90; /// Regular Mini — 720p price, USD cents per second. -const MINI_CENTS_PER_SECOND_720P: f64 = 8.64197531; +const MINI_CENTS_PER_SECOND_720P: f64 = 8.90; /// Regular Mini — 720p reference-video surcharge, USD cents per second. -const MINI_VIDEO_REFERENCE_SURCHARGE_CENTS_PER_SECOND_720P: f64 = 1.72839506; +const MINI_VIDEO_REFERENCE_SURCHARGE_CENTS_PER_SECOND_720P: f64 = 1.80; /// BytePlus / BytePlus Ultra Mini — 480p price, USD cents per second. -const BYTEPLUS_MINI_CENTS_PER_SECOND_480P: f64 = 3.27160494; +const BYTEPLUS_MINI_CENTS_PER_SECOND_480P: f64 = 3.55; /// BytePlus / BytePlus Ultra Mini — 480p reference-video surcharge, USD cents per second. -const BYTEPLUS_MINI_VIDEO_REFERENCE_SURCHARGE_CENTS_PER_SECOND_480P: f64 = 0.87242798; +const BYTEPLUS_MINI_VIDEO_REFERENCE_SURCHARGE_CENTS_PER_SECOND_480P: f64 = 0.95; /// BytePlus / BytePlus Ultra Mini — 720p price, USD cents per second. -const BYTEPLUS_MINI_CENTS_PER_SECOND_720P: f64 = 8.72427984; +const BYTEPLUS_MINI_CENTS_PER_SECOND_720P: f64 = 9.10; /// BytePlus / BytePlus Ultra Mini — 720p reference-video surcharge, USD cents per second. -const BYTEPLUS_MINI_VIDEO_REFERENCE_SURCHARGE_CENTS_PER_SECOND_720P: f64 = 1.74485597; +const BYTEPLUS_MINI_VIDEO_REFERENCE_SURCHARGE_CENTS_PER_SECOND_720P: f64 = 1.85; /// ArtCraft's price (USD cents) for the regular Seedance 2.0 Mini. /// @@ -273,16 +273,16 @@ mod tests { #[test] fn four_k_base_prices() { - assert_eq!(seedance_2p0_four_k_usd_cents(4, 1), 347); - assert_eq!(seedance_2p0_four_k_usd_cents(5, 1), 433); - assert_eq!(seedance_2p0_four_k_usd_cents(10, 1), 866); - assert_eq!(seedance_2p0_four_k_usd_cents(15, 1), 1299); + assert_eq!(seedance_2p0_four_k_usd_cents(4, 1), 358); + assert_eq!(seedance_2p0_four_k_usd_cents(5, 1), 447); + assert_eq!(seedance_2p0_four_k_usd_cents(10, 1), 893); + assert_eq!(seedance_2p0_four_k_usd_cents(15, 1), 1340); } #[test] fn batch_count_multiplies() { - assert_eq!(seedance_2p0_four_k_usd_cents(5, 2), 866); - assert_eq!(seedance_2p0_four_k_usd_cents(5, 4), 1732); + assert_eq!(seedance_2p0_four_k_usd_cents(5, 2), 893); + assert_eq!(seedance_2p0_four_k_usd_cents(5, 4), 1786); } // ── Seedance 2.0 Mini ── @@ -299,34 +299,34 @@ mod tests { #[test] fn four_eighty_p_without_video_reference() { - assert_eq!(cents(CommonResolution::FourEightyP, 4, false), 13); - assert_eq!(cents(CommonResolution::FourEightyP, 5, false), 17); - assert_eq!(cents(CommonResolution::FourEightyP, 10, false), 33); - assert_eq!(cents(CommonResolution::FourEightyP, 15, false), 49); + assert_eq!(cents(CommonResolution::FourEightyP, 4, false), 14); + assert_eq!(cents(CommonResolution::FourEightyP, 5, false), 18); + assert_eq!(cents(CommonResolution::FourEightyP, 10, false), 35); + assert_eq!(cents(CommonResolution::FourEightyP, 15, false), 52); } #[test] fn four_eighty_p_with_video_reference() { - assert_eq!(cents(CommonResolution::FourEightyP, 4, true), 17); - assert_eq!(cents(CommonResolution::FourEightyP, 5, true), 21); - assert_eq!(cents(CommonResolution::FourEightyP, 10, true), 42); - assert_eq!(cents(CommonResolution::FourEightyP, 15, true), 62); + assert_eq!(cents(CommonResolution::FourEightyP, 4, true), 18); + assert_eq!(cents(CommonResolution::FourEightyP, 5, true), 22); + assert_eq!(cents(CommonResolution::FourEightyP, 10, true), 44); + assert_eq!(cents(CommonResolution::FourEightyP, 15, true), 66); } #[test] fn seven_twenty_p_without_video_reference() { - assert_eq!(cents(CommonResolution::SevenTwentyP, 4, false), 35); - assert_eq!(cents(CommonResolution::SevenTwentyP, 5, false), 44); - assert_eq!(cents(CommonResolution::SevenTwentyP, 10, false), 87); - assert_eq!(cents(CommonResolution::SevenTwentyP, 15, false), 130); + assert_eq!(cents(CommonResolution::SevenTwentyP, 4, false), 36); + assert_eq!(cents(CommonResolution::SevenTwentyP, 5, false), 45); + assert_eq!(cents(CommonResolution::SevenTwentyP, 10, false), 89); + assert_eq!(cents(CommonResolution::SevenTwentyP, 15, false), 134); } #[test] fn seven_twenty_p_with_video_reference() { - assert_eq!(cents(CommonResolution::SevenTwentyP, 4, true), 42); - assert_eq!(cents(CommonResolution::SevenTwentyP, 5, true), 52); - assert_eq!(cents(CommonResolution::SevenTwentyP, 10, true), 104); - assert_eq!(cents(CommonResolution::SevenTwentyP, 15, true), 156); + assert_eq!(cents(CommonResolution::SevenTwentyP, 4, true), 43); + assert_eq!(cents(CommonResolution::SevenTwentyP, 5, true), 54); + assert_eq!(cents(CommonResolution::SevenTwentyP, 10, true), 108); + assert_eq!(cents(CommonResolution::SevenTwentyP, 15, true), 161); } #[test] @@ -353,9 +353,9 @@ mod tests { fn batch_count_scales_the_total() { // Batch is baked in before the single round-up, so batched totals can be // a cent under N× the single price. - assert_eq!(seedance_2p0_mini_usd_cents(CommonResolution::SevenTwentyP, 5, 2, false), 87); - assert_eq!(seedance_2p0_mini_usd_cents(CommonResolution::SevenTwentyP, 5, 4, false), 173); - assert_eq!(seedance_2p0_mini_usd_cents(CommonResolution::FourEightyP, 5, 2, false), 33); + assert_eq!(seedance_2p0_mini_usd_cents(CommonResolution::SevenTwentyP, 5, 2, false), 89); + assert_eq!(seedance_2p0_mini_usd_cents(CommonResolution::SevenTwentyP, 5, 4, false), 178); + assert_eq!(seedance_2p0_mini_usd_cents(CommonResolution::FourEightyP, 5, 2, false), 35); } } @@ -373,34 +373,34 @@ mod tests { #[test] fn four_eighty_p_without_video_reference() { - assert_eq!(cents(CommonResolution::FourEightyP, 4, false), 14); - assert_eq!(cents(CommonResolution::FourEightyP, 5, false), 17); - assert_eq!(cents(CommonResolution::FourEightyP, 10, false), 33); - assert_eq!(cents(CommonResolution::FourEightyP, 15, false), 50); + assert_eq!(cents(CommonResolution::FourEightyP, 4, false), 15); + assert_eq!(cents(CommonResolution::FourEightyP, 5, false), 18); + assert_eq!(cents(CommonResolution::FourEightyP, 10, false), 36); + assert_eq!(cents(CommonResolution::FourEightyP, 15, false), 54); } #[test] fn four_eighty_p_with_video_reference() { - assert_eq!(cents(CommonResolution::FourEightyP, 4, true), 17); - assert_eq!(cents(CommonResolution::FourEightyP, 5, true), 21); - assert_eq!(cents(CommonResolution::FourEightyP, 10, true), 42); - assert_eq!(cents(CommonResolution::FourEightyP, 15, true), 63); + assert_eq!(cents(CommonResolution::FourEightyP, 4, true), 18); + assert_eq!(cents(CommonResolution::FourEightyP, 5, true), 23); + assert_eq!(cents(CommonResolution::FourEightyP, 10, true), 45); + assert_eq!(cents(CommonResolution::FourEightyP, 15, true), 68); } #[test] fn seven_twenty_p_without_video_reference() { - assert_eq!(cents(CommonResolution::SevenTwentyP, 4, false), 35); - assert_eq!(cents(CommonResolution::SevenTwentyP, 5, false), 44); - assert_eq!(cents(CommonResolution::SevenTwentyP, 10, false), 88); - assert_eq!(cents(CommonResolution::SevenTwentyP, 15, false), 131); + assert_eq!(cents(CommonResolution::SevenTwentyP, 4, false), 37); + assert_eq!(cents(CommonResolution::SevenTwentyP, 5, false), 46); + assert_eq!(cents(CommonResolution::SevenTwentyP, 10, false), 91); + assert_eq!(cents(CommonResolution::SevenTwentyP, 15, false), 137); } #[test] fn seven_twenty_p_with_video_reference() { - assert_eq!(cents(CommonResolution::SevenTwentyP, 4, true), 42); - assert_eq!(cents(CommonResolution::SevenTwentyP, 5, true), 53); - assert_eq!(cents(CommonResolution::SevenTwentyP, 10, true), 105); - assert_eq!(cents(CommonResolution::SevenTwentyP, 15, true), 158); + assert_eq!(cents(CommonResolution::SevenTwentyP, 4, true), 44); + assert_eq!(cents(CommonResolution::SevenTwentyP, 5, true), 55); + assert_eq!(cents(CommonResolution::SevenTwentyP, 10, true), 110); + assert_eq!(cents(CommonResolution::SevenTwentyP, 15, true), 165); } #[test] @@ -428,9 +428,9 @@ mod tests { #[test] fn batch_count_scales_the_total() { - assert_eq!(seedance_2p0_byteplus_mini_usd_cents(CommonResolution::SevenTwentyP, 5, 2, false), 88); - assert_eq!(seedance_2p0_byteplus_mini_usd_cents(CommonResolution::SevenTwentyP, 5, 4, false), 175); - assert_eq!(seedance_2p0_byteplus_mini_usd_cents(CommonResolution::FourEightyP, 5, 2, false), 33); + assert_eq!(seedance_2p0_byteplus_mini_usd_cents(CommonResolution::SevenTwentyP, 5, 2, false), 91); + assert_eq!(seedance_2p0_byteplus_mini_usd_cents(CommonResolution::SevenTwentyP, 5, 4, false), 182); + assert_eq!(seedance_2p0_byteplus_mini_usd_cents(CommonResolution::FourEightyP, 5, 2, false), 36); } } } diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/tests/seedance_2p0/seedance_2p0_fast_tests.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/tests/seedance_2p0/seedance_2p0_fast_tests.rs index 62e1c72800..f737fc280f 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/tests/seedance_2p0/seedance_2p0_fast_tests.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/tests/seedance_2p0/seedance_2p0_fast_tests.rs @@ -31,18 +31,18 @@ mod seedance_2p0_fast { let harness = TestHarness::create().await; let cases: &[(Option, Seconds, Batch, ExpectedCredits)] = &[ - (Some(CommonResolution::FourEightyP), Seconds(4), Batch(1), ExpectedCredits(21)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(1), ExpectedCredits(26)), - (Some(CommonResolution::FourEightyP), Seconds(6), Batch(1), ExpectedCredits(31)), - (Some(CommonResolution::FourEightyP), Seconds(7), Batch(1), ExpectedCredits(36)), - (Some(CommonResolution::FourEightyP), Seconds(8), Batch(1), ExpectedCredits(41)), - (Some(CommonResolution::FourEightyP), Seconds(9), Batch(1), ExpectedCredits(47)), - (Some(CommonResolution::FourEightyP), Seconds(10), Batch(1), ExpectedCredits(52)), - (Some(CommonResolution::FourEightyP), Seconds(11), Batch(1), ExpectedCredits(57)), - (Some(CommonResolution::FourEightyP), Seconds(12), Batch(1), ExpectedCredits(62)), - (Some(CommonResolution::FourEightyP), Seconds(13), Batch(1), ExpectedCredits(67)), - (Some(CommonResolution::FourEightyP), Seconds(14), Batch(1), ExpectedCredits(73)), - (Some(CommonResolution::FourEightyP), Seconds(15), Batch(1), ExpectedCredits(78)), + (Some(CommonResolution::FourEightyP), Seconds(4), Batch(1), ExpectedCredits(26)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(1), ExpectedCredits(32)), + (Some(CommonResolution::FourEightyP), Seconds(6), Batch(1), ExpectedCredits(38)), + (Some(CommonResolution::FourEightyP), Seconds(7), Batch(1), ExpectedCredits(45)), + (Some(CommonResolution::FourEightyP), Seconds(8), Batch(1), ExpectedCredits(51)), + (Some(CommonResolution::FourEightyP), Seconds(9), Batch(1), ExpectedCredits(58)), + (Some(CommonResolution::FourEightyP), Seconds(10), Batch(1), ExpectedCredits(64)), + (Some(CommonResolution::FourEightyP), Seconds(11), Batch(1), ExpectedCredits(70)), + (Some(CommonResolution::FourEightyP), Seconds(12), Batch(1), ExpectedCredits(77)), + (Some(CommonResolution::FourEightyP), Seconds(13), Batch(1), ExpectedCredits(83)), + (Some(CommonResolution::FourEightyP), Seconds(14), Batch(1), ExpectedCredits(90)), + (Some(CommonResolution::FourEightyP), Seconds(15), Batch(1), ExpectedCredits(96)), (Some(CommonResolution::SevenTwentyP), Seconds(4), Batch(1), ExpectedCredits(51)), (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(1), ExpectedCredits(64)), (Some(CommonResolution::SevenTwentyP), Seconds(6), Batch(1), ExpectedCredits(76)), @@ -97,16 +97,16 @@ mod seedance_2p0_fast { let harness = TestHarness::create().await; let cases: &[(Option, Seconds, Batch, ExpectedCredits)] = &[ - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(1), ExpectedCredits(26)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(2), ExpectedCredits(52)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(3), ExpectedCredits(78)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(4), ExpectedCredits(104)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(5), ExpectedCredits(104)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(6), ExpectedCredits(104)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(7), ExpectedCredits(104)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(8), ExpectedCredits(104)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(9), ExpectedCredits(104)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(10), ExpectedCredits(104)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(1), ExpectedCredits(32)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(2), ExpectedCredits(64)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(3), ExpectedCredits(96)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(4), ExpectedCredits(128)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(5), ExpectedCredits(128)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(6), ExpectedCredits(128)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(7), ExpectedCredits(128)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(8), ExpectedCredits(128)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(9), ExpectedCredits(128)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(10), ExpectedCredits(128)), (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(1), ExpectedCredits(64)), (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(2), ExpectedCredits(127)), (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(3), ExpectedCredits(191)), @@ -153,12 +153,12 @@ mod seedance_2p0_fast { let harness = TestHarness::create().await; let cases: &[(Option, Seconds, Batch, ExpectedCredits)] = &[ - (Some(CommonResolution::FourEightyP), Seconds(6), Batch(2), ExpectedCredits(62)), - (Some(CommonResolution::FourEightyP), Seconds(7), Batch(3), ExpectedCredits(109)), - (Some(CommonResolution::FourEightyP), Seconds(9), Batch(4), ExpectedCredits(187)), - (Some(CommonResolution::FourEightyP), Seconds(11), Batch(5), ExpectedCredits(228)), - (Some(CommonResolution::FourEightyP), Seconds(13), Batch(8), ExpectedCredits(269)), - (Some(CommonResolution::FourEightyP), Seconds(15), Batch(10), ExpectedCredits(311)), + (Some(CommonResolution::FourEightyP), Seconds(6), Batch(2), ExpectedCredits(77)), + (Some(CommonResolution::FourEightyP), Seconds(7), Batch(3), ExpectedCredits(134)), + (Some(CommonResolution::FourEightyP), Seconds(9), Batch(4), ExpectedCredits(230)), + (Some(CommonResolution::FourEightyP), Seconds(11), Batch(5), ExpectedCredits(282)), + (Some(CommonResolution::FourEightyP), Seconds(13), Batch(8), ExpectedCredits(333)), + (Some(CommonResolution::FourEightyP), Seconds(15), Batch(10), ExpectedCredits(384)), (Some(CommonResolution::SevenTwentyP), Seconds(6), Batch(2), ExpectedCredits(153)), (Some(CommonResolution::SevenTwentyP), Seconds(7), Batch(3), ExpectedCredits(267)), (Some(CommonResolution::SevenTwentyP), Seconds(9), Batch(4), ExpectedCredits(458)), @@ -1115,7 +1115,7 @@ mod premium { let harness = TestHarness::create().await; let cases: &[(Option, Seconds, Batch, ExpectedCredits, ExpectedCredits, CreditsDelta)] = &[ - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(1), ExpectedCredits(26), ExpectedCredits(45), CreditsDelta(19)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(1), ExpectedCredits(32), ExpectedCredits(45), CreditsDelta(13)), (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(1), ExpectedCredits(64), ExpectedCredits(100), CreditsDelta(36)), (Some(CommonResolution::SevenTwentyP), Seconds(10), Batch(1), ExpectedCredits(127), ExpectedCredits(200), CreditsDelta(73)), ]; diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/tests/seedance_2p0/seedance_2p0_mini_tests.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/tests/seedance_2p0/seedance_2p0_mini_tests.rs index f663161cda..ef4ab2625d 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/tests/seedance_2p0/seedance_2p0_mini_tests.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/tests/seedance_2p0/seedance_2p0_mini_tests.rs @@ -34,54 +34,54 @@ mod seedance_2p0_mini { let harness = TestHarness::create().await; let cases: &[(Option, Seconds, Batch, ExpectedCredits)] = &[ - (Some(CommonResolution::FourEightyP), Seconds(4), Batch(1), ExpectedCredits(13)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(1), ExpectedCredits(17)), - (Some(CommonResolution::FourEightyP), Seconds(6), Batch(1), ExpectedCredits(20)), - (Some(CommonResolution::FourEightyP), Seconds(7), Batch(1), ExpectedCredits(23)), - (Some(CommonResolution::FourEightyP), Seconds(8), Batch(1), ExpectedCredits(26)), - (Some(CommonResolution::FourEightyP), Seconds(9), Batch(1), ExpectedCredits(30)), - (Some(CommonResolution::FourEightyP), Seconds(10), Batch(1), ExpectedCredits(33)), - (Some(CommonResolution::FourEightyP), Seconds(11), Batch(1), ExpectedCredits(36)), - (Some(CommonResolution::FourEightyP), Seconds(12), Batch(1), ExpectedCredits(39)), - (Some(CommonResolution::FourEightyP), Seconds(13), Batch(1), ExpectedCredits(43)), - (Some(CommonResolution::FourEightyP), Seconds(14), Batch(1), ExpectedCredits(46)), - (Some(CommonResolution::FourEightyP), Seconds(15), Batch(1), ExpectedCredits(49)), - (Some(CommonResolution::SevenTwentyP), Seconds(4), Batch(1), ExpectedCredits(35)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(1), ExpectedCredits(44)), - (Some(CommonResolution::SevenTwentyP), Seconds(6), Batch(1), ExpectedCredits(52)), - (Some(CommonResolution::SevenTwentyP), Seconds(7), Batch(1), ExpectedCredits(61)), - (Some(CommonResolution::SevenTwentyP), Seconds(8), Batch(1), ExpectedCredits(70)), - (Some(CommonResolution::SevenTwentyP), Seconds(9), Batch(1), ExpectedCredits(78)), - (Some(CommonResolution::SevenTwentyP), Seconds(10), Batch(1), ExpectedCredits(87)), - (Some(CommonResolution::SevenTwentyP), Seconds(11), Batch(1), ExpectedCredits(96)), - (Some(CommonResolution::SevenTwentyP), Seconds(12), Batch(1), ExpectedCredits(104)), - (Some(CommonResolution::SevenTwentyP), Seconds(13), Batch(1), ExpectedCredits(113)), - (Some(CommonResolution::SevenTwentyP), Seconds(14), Batch(1), ExpectedCredits(121)), - (Some(CommonResolution::SevenTwentyP), Seconds(15), Batch(1), ExpectedCredits(130)), - (Some(CommonResolution::TenEightyP), Seconds(4), Batch(1), ExpectedCredits(35)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(1), ExpectedCredits(44)), - (Some(CommonResolution::TenEightyP), Seconds(6), Batch(1), ExpectedCredits(52)), - (Some(CommonResolution::TenEightyP), Seconds(7), Batch(1), ExpectedCredits(61)), - (Some(CommonResolution::TenEightyP), Seconds(8), Batch(1), ExpectedCredits(70)), - (Some(CommonResolution::TenEightyP), Seconds(9), Batch(1), ExpectedCredits(78)), - (Some(CommonResolution::TenEightyP), Seconds(10), Batch(1), ExpectedCredits(87)), - (Some(CommonResolution::TenEightyP), Seconds(11), Batch(1), ExpectedCredits(96)), - (Some(CommonResolution::TenEightyP), Seconds(12), Batch(1), ExpectedCredits(104)), - (Some(CommonResolution::TenEightyP), Seconds(13), Batch(1), ExpectedCredits(113)), - (Some(CommonResolution::TenEightyP), Seconds(14), Batch(1), ExpectedCredits(121)), - (Some(CommonResolution::TenEightyP), Seconds(15), Batch(1), ExpectedCredits(130)), - (Some(CommonResolution::FourK), Seconds(4), Batch(1), ExpectedCredits(35)), - (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(44)), - (Some(CommonResolution::FourK), Seconds(6), Batch(1), ExpectedCredits(52)), - (Some(CommonResolution::FourK), Seconds(7), Batch(1), ExpectedCredits(61)), - (Some(CommonResolution::FourK), Seconds(8), Batch(1), ExpectedCredits(70)), - (Some(CommonResolution::FourK), Seconds(9), Batch(1), ExpectedCredits(78)), - (Some(CommonResolution::FourK), Seconds(10), Batch(1), ExpectedCredits(87)), - (Some(CommonResolution::FourK), Seconds(11), Batch(1), ExpectedCredits(96)), - (Some(CommonResolution::FourK), Seconds(12), Batch(1), ExpectedCredits(104)), - (Some(CommonResolution::FourK), Seconds(13), Batch(1), ExpectedCredits(113)), - (Some(CommonResolution::FourK), Seconds(14), Batch(1), ExpectedCredits(121)), - (Some(CommonResolution::FourK), Seconds(15), Batch(1), ExpectedCredits(130)), + (Some(CommonResolution::FourEightyP), Seconds(4), Batch(1), ExpectedCredits(14)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(1), ExpectedCredits(18)), + (Some(CommonResolution::FourEightyP), Seconds(6), Batch(1), ExpectedCredits(21)), + (Some(CommonResolution::FourEightyP), Seconds(7), Batch(1), ExpectedCredits(25)), + (Some(CommonResolution::FourEightyP), Seconds(8), Batch(1), ExpectedCredits(28)), + (Some(CommonResolution::FourEightyP), Seconds(9), Batch(1), ExpectedCredits(32)), + (Some(CommonResolution::FourEightyP), Seconds(10), Batch(1), ExpectedCredits(35)), + (Some(CommonResolution::FourEightyP), Seconds(11), Batch(1), ExpectedCredits(38)), + (Some(CommonResolution::FourEightyP), Seconds(12), Batch(1), ExpectedCredits(42)), + (Some(CommonResolution::FourEightyP), Seconds(13), Batch(1), ExpectedCredits(45)), + (Some(CommonResolution::FourEightyP), Seconds(14), Batch(1), ExpectedCredits(49)), + (Some(CommonResolution::FourEightyP), Seconds(15), Batch(1), ExpectedCredits(52)), + (Some(CommonResolution::SevenTwentyP), Seconds(4), Batch(1), ExpectedCredits(36)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(1), ExpectedCredits(45)), + (Some(CommonResolution::SevenTwentyP), Seconds(6), Batch(1), ExpectedCredits(54)), + (Some(CommonResolution::SevenTwentyP), Seconds(7), Batch(1), ExpectedCredits(63)), + (Some(CommonResolution::SevenTwentyP), Seconds(8), Batch(1), ExpectedCredits(72)), + (Some(CommonResolution::SevenTwentyP), Seconds(9), Batch(1), ExpectedCredits(81)), + (Some(CommonResolution::SevenTwentyP), Seconds(10), Batch(1), ExpectedCredits(89)), + (Some(CommonResolution::SevenTwentyP), Seconds(11), Batch(1), ExpectedCredits(98)), + (Some(CommonResolution::SevenTwentyP), Seconds(12), Batch(1), ExpectedCredits(107)), + (Some(CommonResolution::SevenTwentyP), Seconds(13), Batch(1), ExpectedCredits(116)), + (Some(CommonResolution::SevenTwentyP), Seconds(14), Batch(1), ExpectedCredits(125)), + (Some(CommonResolution::SevenTwentyP), Seconds(15), Batch(1), ExpectedCredits(134)), + (Some(CommonResolution::TenEightyP), Seconds(4), Batch(1), ExpectedCredits(36)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(1), ExpectedCredits(45)), + (Some(CommonResolution::TenEightyP), Seconds(6), Batch(1), ExpectedCredits(54)), + (Some(CommonResolution::TenEightyP), Seconds(7), Batch(1), ExpectedCredits(63)), + (Some(CommonResolution::TenEightyP), Seconds(8), Batch(1), ExpectedCredits(72)), + (Some(CommonResolution::TenEightyP), Seconds(9), Batch(1), ExpectedCredits(81)), + (Some(CommonResolution::TenEightyP), Seconds(10), Batch(1), ExpectedCredits(89)), + (Some(CommonResolution::TenEightyP), Seconds(11), Batch(1), ExpectedCredits(98)), + (Some(CommonResolution::TenEightyP), Seconds(12), Batch(1), ExpectedCredits(107)), + (Some(CommonResolution::TenEightyP), Seconds(13), Batch(1), ExpectedCredits(116)), + (Some(CommonResolution::TenEightyP), Seconds(14), Batch(1), ExpectedCredits(125)), + (Some(CommonResolution::TenEightyP), Seconds(15), Batch(1), ExpectedCredits(134)), + (Some(CommonResolution::FourK), Seconds(4), Batch(1), ExpectedCredits(36)), + (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(45)), + (Some(CommonResolution::FourK), Seconds(6), Batch(1), ExpectedCredits(54)), + (Some(CommonResolution::FourK), Seconds(7), Batch(1), ExpectedCredits(63)), + (Some(CommonResolution::FourK), Seconds(8), Batch(1), ExpectedCredits(72)), + (Some(CommonResolution::FourK), Seconds(9), Batch(1), ExpectedCredits(81)), + (Some(CommonResolution::FourK), Seconds(10), Batch(1), ExpectedCredits(89)), + (Some(CommonResolution::FourK), Seconds(11), Batch(1), ExpectedCredits(98)), + (Some(CommonResolution::FourK), Seconds(12), Batch(1), ExpectedCredits(107)), + (Some(CommonResolution::FourK), Seconds(13), Batch(1), ExpectedCredits(116)), + (Some(CommonResolution::FourK), Seconds(14), Batch(1), ExpectedCredits(125)), + (Some(CommonResolution::FourK), Seconds(15), Batch(1), ExpectedCredits(134)), ]; for (resolution, seconds, batch, expected) in cases { @@ -100,46 +100,46 @@ mod seedance_2p0_mini { let harness = TestHarness::create().await; let cases: &[(Option, Seconds, Batch, ExpectedCredits)] = &[ - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(1), ExpectedCredits(17)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(2), ExpectedCredits(33)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(3), ExpectedCredits(49)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(4), ExpectedCredits(65)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(5), ExpectedCredits(82)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(6), ExpectedCredits(98)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(7), ExpectedCredits(114)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(8), ExpectedCredits(130)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(9), ExpectedCredits(130)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(10), ExpectedCredits(130)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(1), ExpectedCredits(44)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(2), ExpectedCredits(87)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(3), ExpectedCredits(130)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(4), ExpectedCredits(173)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(5), ExpectedCredits(217)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(6), ExpectedCredits(260)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(7), ExpectedCredits(303)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(8), ExpectedCredits(346)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(9), ExpectedCredits(346)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(10), ExpectedCredits(346)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(1), ExpectedCredits(44)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(2), ExpectedCredits(87)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(3), ExpectedCredits(130)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(4), ExpectedCredits(173)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(5), ExpectedCredits(217)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(6), ExpectedCredits(260)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(7), ExpectedCredits(303)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(8), ExpectedCredits(346)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(9), ExpectedCredits(346)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(10), ExpectedCredits(346)), - (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(44)), - (Some(CommonResolution::FourK), Seconds(5), Batch(2), ExpectedCredits(87)), - (Some(CommonResolution::FourK), Seconds(5), Batch(3), ExpectedCredits(130)), - (Some(CommonResolution::FourK), Seconds(5), Batch(4), ExpectedCredits(173)), - (Some(CommonResolution::FourK), Seconds(5), Batch(5), ExpectedCredits(217)), - (Some(CommonResolution::FourK), Seconds(5), Batch(6), ExpectedCredits(260)), - (Some(CommonResolution::FourK), Seconds(5), Batch(7), ExpectedCredits(303)), - (Some(CommonResolution::FourK), Seconds(5), Batch(8), ExpectedCredits(346)), - (Some(CommonResolution::FourK), Seconds(5), Batch(9), ExpectedCredits(346)), - (Some(CommonResolution::FourK), Seconds(5), Batch(10), ExpectedCredits(346)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(1), ExpectedCredits(18)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(2), ExpectedCredits(35)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(3), ExpectedCredits(52)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(4), ExpectedCredits(69)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(5), ExpectedCredits(87)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(6), ExpectedCredits(104)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(7), ExpectedCredits(121)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(8), ExpectedCredits(138)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(9), ExpectedCredits(138)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(10), ExpectedCredits(138)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(1), ExpectedCredits(45)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(2), ExpectedCredits(89)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(3), ExpectedCredits(134)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(4), ExpectedCredits(178)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(5), ExpectedCredits(223)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(6), ExpectedCredits(267)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(7), ExpectedCredits(312)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(8), ExpectedCredits(356)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(9), ExpectedCredits(356)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(10), ExpectedCredits(356)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(1), ExpectedCredits(45)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(2), ExpectedCredits(89)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(3), ExpectedCredits(134)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(4), ExpectedCredits(178)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(5), ExpectedCredits(223)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(6), ExpectedCredits(267)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(7), ExpectedCredits(312)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(8), ExpectedCredits(356)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(9), ExpectedCredits(356)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(10), ExpectedCredits(356)), + (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(45)), + (Some(CommonResolution::FourK), Seconds(5), Batch(2), ExpectedCredits(89)), + (Some(CommonResolution::FourK), Seconds(5), Batch(3), ExpectedCredits(134)), + (Some(CommonResolution::FourK), Seconds(5), Batch(4), ExpectedCredits(178)), + (Some(CommonResolution::FourK), Seconds(5), Batch(5), ExpectedCredits(223)), + (Some(CommonResolution::FourK), Seconds(5), Batch(6), ExpectedCredits(267)), + (Some(CommonResolution::FourK), Seconds(5), Batch(7), ExpectedCredits(312)), + (Some(CommonResolution::FourK), Seconds(5), Batch(8), ExpectedCredits(356)), + (Some(CommonResolution::FourK), Seconds(5), Batch(9), ExpectedCredits(356)), + (Some(CommonResolution::FourK), Seconds(5), Batch(10), ExpectedCredits(356)), ]; for (resolution, seconds, batch, expected) in cases { @@ -156,30 +156,30 @@ mod seedance_2p0_mini { let harness = TestHarness::create().await; let cases: &[(Option, Seconds, Batch, ExpectedCredits)] = &[ - (Some(CommonResolution::FourEightyP), Seconds(6), Batch(2), ExpectedCredits(39)), - (Some(CommonResolution::FourEightyP), Seconds(7), Batch(3), ExpectedCredits(69)), - (Some(CommonResolution::FourEightyP), Seconds(9), Batch(4), ExpectedCredits(117)), - (Some(CommonResolution::FourEightyP), Seconds(11), Batch(5), ExpectedCredits(179)), - (Some(CommonResolution::FourEightyP), Seconds(13), Batch(8), ExpectedCredits(338)), - (Some(CommonResolution::FourEightyP), Seconds(15), Batch(10), ExpectedCredits(389)), - (Some(CommonResolution::SevenTwentyP), Seconds(6), Batch(2), ExpectedCredits(104)), - (Some(CommonResolution::SevenTwentyP), Seconds(7), Batch(3), ExpectedCredits(182)), - (Some(CommonResolution::SevenTwentyP), Seconds(9), Batch(4), ExpectedCredits(312)), - (Some(CommonResolution::SevenTwentyP), Seconds(11), Batch(5), ExpectedCredits(476)), - (Some(CommonResolution::SevenTwentyP), Seconds(13), Batch(8), ExpectedCredits(899)), - (Some(CommonResolution::SevenTwentyP), Seconds(15), Batch(10), ExpectedCredits(1038)), - (Some(CommonResolution::TenEightyP), Seconds(6), Batch(2), ExpectedCredits(104)), - (Some(CommonResolution::TenEightyP), Seconds(7), Batch(3), ExpectedCredits(182)), - (Some(CommonResolution::TenEightyP), Seconds(9), Batch(4), ExpectedCredits(312)), - (Some(CommonResolution::TenEightyP), Seconds(11), Batch(5), ExpectedCredits(476)), - (Some(CommonResolution::TenEightyP), Seconds(13), Batch(8), ExpectedCredits(899)), - (Some(CommonResolution::TenEightyP), Seconds(15), Batch(10), ExpectedCredits(1038)), - (Some(CommonResolution::FourK), Seconds(6), Batch(2), ExpectedCredits(104)), - (Some(CommonResolution::FourK), Seconds(7), Batch(3), ExpectedCredits(182)), - (Some(CommonResolution::FourK), Seconds(9), Batch(4), ExpectedCredits(312)), - (Some(CommonResolution::FourK), Seconds(11), Batch(5), ExpectedCredits(476)), - (Some(CommonResolution::FourK), Seconds(13), Batch(8), ExpectedCredits(899)), - (Some(CommonResolution::FourK), Seconds(15), Batch(10), ExpectedCredits(1038)), + (Some(CommonResolution::FourEightyP), Seconds(6), Batch(2), ExpectedCredits(42)), + (Some(CommonResolution::FourEightyP), Seconds(7), Batch(3), ExpectedCredits(73)), + (Some(CommonResolution::FourEightyP), Seconds(9), Batch(4), ExpectedCredits(125)), + (Some(CommonResolution::FourEightyP), Seconds(11), Batch(5), ExpectedCredits(190)), + (Some(CommonResolution::FourEightyP), Seconds(13), Batch(8), ExpectedCredits(359)), + (Some(CommonResolution::FourEightyP), Seconds(15), Batch(10), ExpectedCredits(414)), + (Some(CommonResolution::SevenTwentyP), Seconds(6), Batch(2), ExpectedCredits(107)), + (Some(CommonResolution::SevenTwentyP), Seconds(7), Batch(3), ExpectedCredits(187)), + (Some(CommonResolution::SevenTwentyP), Seconds(9), Batch(4), ExpectedCredits(321)), + (Some(CommonResolution::SevenTwentyP), Seconds(11), Batch(5), ExpectedCredits(490)), + (Some(CommonResolution::SevenTwentyP), Seconds(13), Batch(8), ExpectedCredits(926)), + (Some(CommonResolution::SevenTwentyP), Seconds(15), Batch(10), ExpectedCredits(1068)), + (Some(CommonResolution::TenEightyP), Seconds(6), Batch(2), ExpectedCredits(107)), + (Some(CommonResolution::TenEightyP), Seconds(7), Batch(3), ExpectedCredits(187)), + (Some(CommonResolution::TenEightyP), Seconds(9), Batch(4), ExpectedCredits(321)), + (Some(CommonResolution::TenEightyP), Seconds(11), Batch(5), ExpectedCredits(490)), + (Some(CommonResolution::TenEightyP), Seconds(13), Batch(8), ExpectedCredits(926)), + (Some(CommonResolution::TenEightyP), Seconds(15), Batch(10), ExpectedCredits(1068)), + (Some(CommonResolution::FourK), Seconds(6), Batch(2), ExpectedCredits(107)), + (Some(CommonResolution::FourK), Seconds(7), Batch(3), ExpectedCredits(187)), + (Some(CommonResolution::FourK), Seconds(9), Batch(4), ExpectedCredits(321)), + (Some(CommonResolution::FourK), Seconds(11), Batch(5), ExpectedCredits(490)), + (Some(CommonResolution::FourK), Seconds(13), Batch(8), ExpectedCredits(926)), + (Some(CommonResolution::FourK), Seconds(15), Batch(10), ExpectedCredits(1068)), ]; for (resolution, seconds, batch, expected) in cases { @@ -197,54 +197,54 @@ mod seedance_2p0_mini { let harness = TestHarness::create().await; let cases: &[(Option, Seconds, Batch, ExpectedCredits)] = &[ - (Some(CommonResolution::FourEightyP), Seconds(4), Batch(1), ExpectedCredits(17)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(1), ExpectedCredits(21)), - (Some(CommonResolution::FourEightyP), Seconds(6), Batch(1), ExpectedCredits(25)), - (Some(CommonResolution::FourEightyP), Seconds(7), Batch(1), ExpectedCredits(29)), - (Some(CommonResolution::FourEightyP), Seconds(8), Batch(1), ExpectedCredits(33)), - (Some(CommonResolution::FourEightyP), Seconds(9), Batch(1), ExpectedCredits(37)), - (Some(CommonResolution::FourEightyP), Seconds(10), Batch(1), ExpectedCredits(42)), - (Some(CommonResolution::FourEightyP), Seconds(11), Batch(1), ExpectedCredits(46)), - (Some(CommonResolution::FourEightyP), Seconds(12), Batch(1), ExpectedCredits(50)), - (Some(CommonResolution::FourEightyP), Seconds(13), Batch(1), ExpectedCredits(54)), - (Some(CommonResolution::FourEightyP), Seconds(14), Batch(1), ExpectedCredits(58)), - (Some(CommonResolution::FourEightyP), Seconds(15), Batch(1), ExpectedCredits(62)), - (Some(CommonResolution::SevenTwentyP), Seconds(4), Batch(1), ExpectedCredits(42)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(1), ExpectedCredits(52)), - (Some(CommonResolution::SevenTwentyP), Seconds(6), Batch(1), ExpectedCredits(63)), - (Some(CommonResolution::SevenTwentyP), Seconds(7), Batch(1), ExpectedCredits(73)), - (Some(CommonResolution::SevenTwentyP), Seconds(8), Batch(1), ExpectedCredits(83)), - (Some(CommonResolution::SevenTwentyP), Seconds(9), Batch(1), ExpectedCredits(94)), - (Some(CommonResolution::SevenTwentyP), Seconds(10), Batch(1), ExpectedCredits(104)), - (Some(CommonResolution::SevenTwentyP), Seconds(11), Batch(1), ExpectedCredits(115)), - (Some(CommonResolution::SevenTwentyP), Seconds(12), Batch(1), ExpectedCredits(125)), - (Some(CommonResolution::SevenTwentyP), Seconds(13), Batch(1), ExpectedCredits(135)), - (Some(CommonResolution::SevenTwentyP), Seconds(14), Batch(1), ExpectedCredits(146)), - (Some(CommonResolution::SevenTwentyP), Seconds(15), Batch(1), ExpectedCredits(156)), - (Some(CommonResolution::TenEightyP), Seconds(4), Batch(1), ExpectedCredits(42)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(1), ExpectedCredits(52)), - (Some(CommonResolution::TenEightyP), Seconds(6), Batch(1), ExpectedCredits(63)), - (Some(CommonResolution::TenEightyP), Seconds(7), Batch(1), ExpectedCredits(73)), - (Some(CommonResolution::TenEightyP), Seconds(8), Batch(1), ExpectedCredits(83)), - (Some(CommonResolution::TenEightyP), Seconds(9), Batch(1), ExpectedCredits(94)), - (Some(CommonResolution::TenEightyP), Seconds(10), Batch(1), ExpectedCredits(104)), - (Some(CommonResolution::TenEightyP), Seconds(11), Batch(1), ExpectedCredits(115)), - (Some(CommonResolution::TenEightyP), Seconds(12), Batch(1), ExpectedCredits(125)), - (Some(CommonResolution::TenEightyP), Seconds(13), Batch(1), ExpectedCredits(135)), - (Some(CommonResolution::TenEightyP), Seconds(14), Batch(1), ExpectedCredits(146)), - (Some(CommonResolution::TenEightyP), Seconds(15), Batch(1), ExpectedCredits(156)), - (Some(CommonResolution::FourK), Seconds(4), Batch(1), ExpectedCredits(42)), - (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(52)), - (Some(CommonResolution::FourK), Seconds(6), Batch(1), ExpectedCredits(63)), - (Some(CommonResolution::FourK), Seconds(7), Batch(1), ExpectedCredits(73)), - (Some(CommonResolution::FourK), Seconds(8), Batch(1), ExpectedCredits(83)), - (Some(CommonResolution::FourK), Seconds(9), Batch(1), ExpectedCredits(94)), - (Some(CommonResolution::FourK), Seconds(10), Batch(1), ExpectedCredits(104)), - (Some(CommonResolution::FourK), Seconds(11), Batch(1), ExpectedCredits(115)), - (Some(CommonResolution::FourK), Seconds(12), Batch(1), ExpectedCredits(125)), - (Some(CommonResolution::FourK), Seconds(13), Batch(1), ExpectedCredits(135)), - (Some(CommonResolution::FourK), Seconds(14), Batch(1), ExpectedCredits(146)), - (Some(CommonResolution::FourK), Seconds(15), Batch(1), ExpectedCredits(156)), + (Some(CommonResolution::FourEightyP), Seconds(4), Batch(1), ExpectedCredits(18)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(1), ExpectedCredits(22)), + (Some(CommonResolution::FourEightyP), Seconds(6), Batch(1), ExpectedCredits(27)), + (Some(CommonResolution::FourEightyP), Seconds(7), Batch(1), ExpectedCredits(31)), + (Some(CommonResolution::FourEightyP), Seconds(8), Batch(1), ExpectedCredits(35)), + (Some(CommonResolution::FourEightyP), Seconds(9), Batch(1), ExpectedCredits(40)), + (Some(CommonResolution::FourEightyP), Seconds(10), Batch(1), ExpectedCredits(44)), + (Some(CommonResolution::FourEightyP), Seconds(11), Batch(1), ExpectedCredits(48)), + (Some(CommonResolution::FourEightyP), Seconds(12), Batch(1), ExpectedCredits(53)), + (Some(CommonResolution::FourEightyP), Seconds(13), Batch(1), ExpectedCredits(57)), + (Some(CommonResolution::FourEightyP), Seconds(14), Batch(1), ExpectedCredits(61)), + (Some(CommonResolution::FourEightyP), Seconds(15), Batch(1), ExpectedCredits(66)), + (Some(CommonResolution::SevenTwentyP), Seconds(4), Batch(1), ExpectedCredits(43)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(1), ExpectedCredits(54)), + (Some(CommonResolution::SevenTwentyP), Seconds(6), Batch(1), ExpectedCredits(65)), + (Some(CommonResolution::SevenTwentyP), Seconds(7), Batch(1), ExpectedCredits(75)), + (Some(CommonResolution::SevenTwentyP), Seconds(8), Batch(1), ExpectedCredits(86)), + (Some(CommonResolution::SevenTwentyP), Seconds(9), Batch(1), ExpectedCredits(97)), + (Some(CommonResolution::SevenTwentyP), Seconds(10), Batch(1), ExpectedCredits(108)), + (Some(CommonResolution::SevenTwentyP), Seconds(11), Batch(1), ExpectedCredits(118)), + (Some(CommonResolution::SevenTwentyP), Seconds(12), Batch(1), ExpectedCredits(129)), + (Some(CommonResolution::SevenTwentyP), Seconds(13), Batch(1), ExpectedCredits(140)), + (Some(CommonResolution::SevenTwentyP), Seconds(14), Batch(1), ExpectedCredits(150)), + (Some(CommonResolution::SevenTwentyP), Seconds(15), Batch(1), ExpectedCredits(161)), + (Some(CommonResolution::TenEightyP), Seconds(4), Batch(1), ExpectedCredits(43)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(1), ExpectedCredits(54)), + (Some(CommonResolution::TenEightyP), Seconds(6), Batch(1), ExpectedCredits(65)), + (Some(CommonResolution::TenEightyP), Seconds(7), Batch(1), ExpectedCredits(75)), + (Some(CommonResolution::TenEightyP), Seconds(8), Batch(1), ExpectedCredits(86)), + (Some(CommonResolution::TenEightyP), Seconds(9), Batch(1), ExpectedCredits(97)), + (Some(CommonResolution::TenEightyP), Seconds(10), Batch(1), ExpectedCredits(108)), + (Some(CommonResolution::TenEightyP), Seconds(11), Batch(1), ExpectedCredits(118)), + (Some(CommonResolution::TenEightyP), Seconds(12), Batch(1), ExpectedCredits(129)), + (Some(CommonResolution::TenEightyP), Seconds(13), Batch(1), ExpectedCredits(140)), + (Some(CommonResolution::TenEightyP), Seconds(14), Batch(1), ExpectedCredits(150)), + (Some(CommonResolution::TenEightyP), Seconds(15), Batch(1), ExpectedCredits(161)), + (Some(CommonResolution::FourK), Seconds(4), Batch(1), ExpectedCredits(43)), + (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(54)), + (Some(CommonResolution::FourK), Seconds(6), Batch(1), ExpectedCredits(65)), + (Some(CommonResolution::FourK), Seconds(7), Batch(1), ExpectedCredits(75)), + (Some(CommonResolution::FourK), Seconds(8), Batch(1), ExpectedCredits(86)), + (Some(CommonResolution::FourK), Seconds(9), Batch(1), ExpectedCredits(97)), + (Some(CommonResolution::FourK), Seconds(10), Batch(1), ExpectedCredits(108)), + (Some(CommonResolution::FourK), Seconds(11), Batch(1), ExpectedCredits(118)), + (Some(CommonResolution::FourK), Seconds(12), Batch(1), ExpectedCredits(129)), + (Some(CommonResolution::FourK), Seconds(13), Batch(1), ExpectedCredits(140)), + (Some(CommonResolution::FourK), Seconds(14), Batch(1), ExpectedCredits(150)), + (Some(CommonResolution::FourK), Seconds(15), Batch(1), ExpectedCredits(161)), ]; for (resolution, seconds, batch, expected) in cases { @@ -263,46 +263,46 @@ mod seedance_2p0_mini { let harness = TestHarness::create().await; let cases: &[(Option, Seconds, Batch, ExpectedCredits)] = &[ - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(1), ExpectedCredits(21)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(2), ExpectedCredits(42)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(3), ExpectedCredits(62)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(4), ExpectedCredits(83)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(5), ExpectedCredits(103)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(6), ExpectedCredits(124)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(7), ExpectedCredits(144)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(8), ExpectedCredits(165)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(9), ExpectedCredits(165)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(10), ExpectedCredits(165)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(1), ExpectedCredits(52)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(2), ExpectedCredits(104)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(3), ExpectedCredits(156)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(4), ExpectedCredits(208)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(5), ExpectedCredits(260)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(6), ExpectedCredits(312)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(7), ExpectedCredits(363)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(8), ExpectedCredits(415)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(9), ExpectedCredits(415)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(10), ExpectedCredits(415)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(1), ExpectedCredits(52)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(2), ExpectedCredits(104)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(3), ExpectedCredits(156)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(4), ExpectedCredits(208)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(5), ExpectedCredits(260)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(6), ExpectedCredits(312)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(7), ExpectedCredits(363)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(8), ExpectedCredits(415)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(9), ExpectedCredits(415)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(10), ExpectedCredits(415)), - (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(52)), - (Some(CommonResolution::FourK), Seconds(5), Batch(2), ExpectedCredits(104)), - (Some(CommonResolution::FourK), Seconds(5), Batch(3), ExpectedCredits(156)), - (Some(CommonResolution::FourK), Seconds(5), Batch(4), ExpectedCredits(208)), - (Some(CommonResolution::FourK), Seconds(5), Batch(5), ExpectedCredits(260)), - (Some(CommonResolution::FourK), Seconds(5), Batch(6), ExpectedCredits(312)), - (Some(CommonResolution::FourK), Seconds(5), Batch(7), ExpectedCredits(363)), - (Some(CommonResolution::FourK), Seconds(5), Batch(8), ExpectedCredits(415)), - (Some(CommonResolution::FourK), Seconds(5), Batch(9), ExpectedCredits(415)), - (Some(CommonResolution::FourK), Seconds(5), Batch(10), ExpectedCredits(415)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(1), ExpectedCredits(22)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(2), ExpectedCredits(44)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(3), ExpectedCredits(66)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(4), ExpectedCredits(88)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(5), ExpectedCredits(109)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(6), ExpectedCredits(131)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(7), ExpectedCredits(153)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(8), ExpectedCredits(175)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(9), ExpectedCredits(175)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(10), ExpectedCredits(175)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(1), ExpectedCredits(54)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(2), ExpectedCredits(108)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(3), ExpectedCredits(161)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(4), ExpectedCredits(215)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(5), ExpectedCredits(268)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(6), ExpectedCredits(322)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(7), ExpectedCredits(375)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(8), ExpectedCredits(429)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(9), ExpectedCredits(429)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(10), ExpectedCredits(429)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(1), ExpectedCredits(54)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(2), ExpectedCredits(108)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(3), ExpectedCredits(161)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(4), ExpectedCredits(215)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(5), ExpectedCredits(268)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(6), ExpectedCredits(322)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(7), ExpectedCredits(375)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(8), ExpectedCredits(429)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(9), ExpectedCredits(429)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(10), ExpectedCredits(429)), + (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(54)), + (Some(CommonResolution::FourK), Seconds(5), Batch(2), ExpectedCredits(108)), + (Some(CommonResolution::FourK), Seconds(5), Batch(3), ExpectedCredits(161)), + (Some(CommonResolution::FourK), Seconds(5), Batch(4), ExpectedCredits(215)), + (Some(CommonResolution::FourK), Seconds(5), Batch(5), ExpectedCredits(268)), + (Some(CommonResolution::FourK), Seconds(5), Batch(6), ExpectedCredits(322)), + (Some(CommonResolution::FourK), Seconds(5), Batch(7), ExpectedCredits(375)), + (Some(CommonResolution::FourK), Seconds(5), Batch(8), ExpectedCredits(429)), + (Some(CommonResolution::FourK), Seconds(5), Batch(9), ExpectedCredits(429)), + (Some(CommonResolution::FourK), Seconds(5), Batch(10), ExpectedCredits(429)), ]; for (resolution, seconds, batch, expected) in cases { @@ -336,30 +336,30 @@ mod seedance_2p0_mini { let harness = TestHarness::create().await; let cases: &[(Option, Seconds, Batch, ExpectedCredits)] = &[ - (Some(CommonResolution::FourEightyP), Seconds(6), Batch(2), ExpectedCredits(50)), - (Some(CommonResolution::FourEightyP), Seconds(7), Batch(3), ExpectedCredits(87)), - (Some(CommonResolution::FourEightyP), Seconds(9), Batch(4), ExpectedCredits(148)), - (Some(CommonResolution::FourEightyP), Seconds(11), Batch(5), ExpectedCredits(226)), - (Some(CommonResolution::FourEightyP), Seconds(13), Batch(8), ExpectedCredits(427)), - (Some(CommonResolution::FourEightyP), Seconds(15), Batch(10), ExpectedCredits(493)), - (Some(CommonResolution::SevenTwentyP), Seconds(6), Batch(2), ExpectedCredits(125)), - (Some(CommonResolution::SevenTwentyP), Seconds(7), Batch(3), ExpectedCredits(218)), - (Some(CommonResolution::SevenTwentyP), Seconds(9), Batch(4), ExpectedCredits(374)), - (Some(CommonResolution::SevenTwentyP), Seconds(11), Batch(5), ExpectedCredits(571)), - (Some(CommonResolution::SevenTwentyP), Seconds(13), Batch(8), ExpectedCredits(1079)), - (Some(CommonResolution::SevenTwentyP), Seconds(15), Batch(10), ExpectedCredits(1245)), - (Some(CommonResolution::TenEightyP), Seconds(6), Batch(2), ExpectedCredits(125)), - (Some(CommonResolution::TenEightyP), Seconds(7), Batch(3), ExpectedCredits(218)), - (Some(CommonResolution::TenEightyP), Seconds(9), Batch(4), ExpectedCredits(374)), - (Some(CommonResolution::TenEightyP), Seconds(11), Batch(5), ExpectedCredits(571)), - (Some(CommonResolution::TenEightyP), Seconds(13), Batch(8), ExpectedCredits(1079)), - (Some(CommonResolution::TenEightyP), Seconds(15), Batch(10), ExpectedCredits(1245)), - (Some(CommonResolution::FourK), Seconds(6), Batch(2), ExpectedCredits(125)), - (Some(CommonResolution::FourK), Seconds(7), Batch(3), ExpectedCredits(218)), - (Some(CommonResolution::FourK), Seconds(9), Batch(4), ExpectedCredits(374)), - (Some(CommonResolution::FourK), Seconds(11), Batch(5), ExpectedCredits(571)), - (Some(CommonResolution::FourK), Seconds(13), Batch(8), ExpectedCredits(1079)), - (Some(CommonResolution::FourK), Seconds(15), Batch(10), ExpectedCredits(1245)), + (Some(CommonResolution::FourEightyP), Seconds(6), Batch(2), ExpectedCredits(53)), + (Some(CommonResolution::FourEightyP), Seconds(7), Batch(3), ExpectedCredits(92)), + (Some(CommonResolution::FourEightyP), Seconds(9), Batch(4), ExpectedCredits(157)), + (Some(CommonResolution::FourEightyP), Seconds(11), Batch(5), ExpectedCredits(240)), + (Some(CommonResolution::FourEightyP), Seconds(13), Batch(8), ExpectedCredits(453)), + (Some(CommonResolution::FourEightyP), Seconds(15), Batch(10), ExpectedCredits(523)), + (Some(CommonResolution::SevenTwentyP), Seconds(6), Batch(2), ExpectedCredits(129)), + (Some(CommonResolution::SevenTwentyP), Seconds(7), Batch(3), ExpectedCredits(225)), + (Some(CommonResolution::SevenTwentyP), Seconds(9), Batch(4), ExpectedCredits(386)), + (Some(CommonResolution::SevenTwentyP), Seconds(11), Batch(5), ExpectedCredits(589)), + (Some(CommonResolution::SevenTwentyP), Seconds(13), Batch(8), ExpectedCredits(1113)), + (Some(CommonResolution::SevenTwentyP), Seconds(15), Batch(10), ExpectedCredits(1285)), + (Some(CommonResolution::TenEightyP), Seconds(6), Batch(2), ExpectedCredits(129)), + (Some(CommonResolution::TenEightyP), Seconds(7), Batch(3), ExpectedCredits(225)), + (Some(CommonResolution::TenEightyP), Seconds(9), Batch(4), ExpectedCredits(386)), + (Some(CommonResolution::TenEightyP), Seconds(11), Batch(5), ExpectedCredits(589)), + (Some(CommonResolution::TenEightyP), Seconds(13), Batch(8), ExpectedCredits(1113)), + (Some(CommonResolution::TenEightyP), Seconds(15), Batch(10), ExpectedCredits(1285)), + (Some(CommonResolution::FourK), Seconds(6), Batch(2), ExpectedCredits(129)), + (Some(CommonResolution::FourK), Seconds(7), Batch(3), ExpectedCredits(225)), + (Some(CommonResolution::FourK), Seconds(9), Batch(4), ExpectedCredits(386)), + (Some(CommonResolution::FourK), Seconds(11), Batch(5), ExpectedCredits(589)), + (Some(CommonResolution::FourK), Seconds(13), Batch(8), ExpectedCredits(1113)), + (Some(CommonResolution::FourK), Seconds(15), Batch(10), ExpectedCredits(1285)), ]; for (resolution, seconds, batch, expected) in cases { @@ -385,54 +385,54 @@ mod seedance_2p0_bp_mini { let harness = TestHarness::create().await; let cases: &[(Option, Seconds, Batch, ExpectedCredits)] = &[ - (Some(CommonResolution::FourEightyP), Seconds(4), Batch(1), ExpectedCredits(14)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(1), ExpectedCredits(17)), - (Some(CommonResolution::FourEightyP), Seconds(6), Batch(1), ExpectedCredits(20)), - (Some(CommonResolution::FourEightyP), Seconds(7), Batch(1), ExpectedCredits(23)), - (Some(CommonResolution::FourEightyP), Seconds(8), Batch(1), ExpectedCredits(27)), - (Some(CommonResolution::FourEightyP), Seconds(9), Batch(1), ExpectedCredits(30)), - (Some(CommonResolution::FourEightyP), Seconds(10), Batch(1), ExpectedCredits(33)), - (Some(CommonResolution::FourEightyP), Seconds(11), Batch(1), ExpectedCredits(36)), - (Some(CommonResolution::FourEightyP), Seconds(12), Batch(1), ExpectedCredits(40)), - (Some(CommonResolution::FourEightyP), Seconds(13), Batch(1), ExpectedCredits(43)), - (Some(CommonResolution::FourEightyP), Seconds(14), Batch(1), ExpectedCredits(46)), - (Some(CommonResolution::FourEightyP), Seconds(15), Batch(1), ExpectedCredits(50)), - (Some(CommonResolution::SevenTwentyP), Seconds(4), Batch(1), ExpectedCredits(35)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(1), ExpectedCredits(44)), - (Some(CommonResolution::SevenTwentyP), Seconds(6), Batch(1), ExpectedCredits(53)), - (Some(CommonResolution::SevenTwentyP), Seconds(7), Batch(1), ExpectedCredits(62)), - (Some(CommonResolution::SevenTwentyP), Seconds(8), Batch(1), ExpectedCredits(70)), - (Some(CommonResolution::SevenTwentyP), Seconds(9), Batch(1), ExpectedCredits(79)), - (Some(CommonResolution::SevenTwentyP), Seconds(10), Batch(1), ExpectedCredits(88)), - (Some(CommonResolution::SevenTwentyP), Seconds(11), Batch(1), ExpectedCredits(96)), - (Some(CommonResolution::SevenTwentyP), Seconds(12), Batch(1), ExpectedCredits(105)), - (Some(CommonResolution::SevenTwentyP), Seconds(13), Batch(1), ExpectedCredits(114)), - (Some(CommonResolution::SevenTwentyP), Seconds(14), Batch(1), ExpectedCredits(123)), - (Some(CommonResolution::SevenTwentyP), Seconds(15), Batch(1), ExpectedCredits(131)), - (Some(CommonResolution::TenEightyP), Seconds(4), Batch(1), ExpectedCredits(35)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(1), ExpectedCredits(44)), - (Some(CommonResolution::TenEightyP), Seconds(6), Batch(1), ExpectedCredits(53)), - (Some(CommonResolution::TenEightyP), Seconds(7), Batch(1), ExpectedCredits(62)), - (Some(CommonResolution::TenEightyP), Seconds(8), Batch(1), ExpectedCredits(70)), - (Some(CommonResolution::TenEightyP), Seconds(9), Batch(1), ExpectedCredits(79)), - (Some(CommonResolution::TenEightyP), Seconds(10), Batch(1), ExpectedCredits(88)), - (Some(CommonResolution::TenEightyP), Seconds(11), Batch(1), ExpectedCredits(96)), - (Some(CommonResolution::TenEightyP), Seconds(12), Batch(1), ExpectedCredits(105)), - (Some(CommonResolution::TenEightyP), Seconds(13), Batch(1), ExpectedCredits(114)), - (Some(CommonResolution::TenEightyP), Seconds(14), Batch(1), ExpectedCredits(123)), - (Some(CommonResolution::TenEightyP), Seconds(15), Batch(1), ExpectedCredits(131)), - (Some(CommonResolution::FourK), Seconds(4), Batch(1), ExpectedCredits(35)), - (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(44)), - (Some(CommonResolution::FourK), Seconds(6), Batch(1), ExpectedCredits(53)), - (Some(CommonResolution::FourK), Seconds(7), Batch(1), ExpectedCredits(62)), - (Some(CommonResolution::FourK), Seconds(8), Batch(1), ExpectedCredits(70)), - (Some(CommonResolution::FourK), Seconds(9), Batch(1), ExpectedCredits(79)), - (Some(CommonResolution::FourK), Seconds(10), Batch(1), ExpectedCredits(88)), - (Some(CommonResolution::FourK), Seconds(11), Batch(1), ExpectedCredits(96)), - (Some(CommonResolution::FourK), Seconds(12), Batch(1), ExpectedCredits(105)), - (Some(CommonResolution::FourK), Seconds(13), Batch(1), ExpectedCredits(114)), - (Some(CommonResolution::FourK), Seconds(14), Batch(1), ExpectedCredits(123)), - (Some(CommonResolution::FourK), Seconds(15), Batch(1), ExpectedCredits(131)), + (Some(CommonResolution::FourEightyP), Seconds(4), Batch(1), ExpectedCredits(15)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(1), ExpectedCredits(18)), + (Some(CommonResolution::FourEightyP), Seconds(6), Batch(1), ExpectedCredits(22)), + (Some(CommonResolution::FourEightyP), Seconds(7), Batch(1), ExpectedCredits(25)), + (Some(CommonResolution::FourEightyP), Seconds(8), Batch(1), ExpectedCredits(29)), + (Some(CommonResolution::FourEightyP), Seconds(9), Batch(1), ExpectedCredits(32)), + (Some(CommonResolution::FourEightyP), Seconds(10), Batch(1), ExpectedCredits(36)), + (Some(CommonResolution::FourEightyP), Seconds(11), Batch(1), ExpectedCredits(40)), + (Some(CommonResolution::FourEightyP), Seconds(12), Batch(1), ExpectedCredits(43)), + (Some(CommonResolution::FourEightyP), Seconds(13), Batch(1), ExpectedCredits(47)), + (Some(CommonResolution::FourEightyP), Seconds(14), Batch(1), ExpectedCredits(50)), + (Some(CommonResolution::FourEightyP), Seconds(15), Batch(1), ExpectedCredits(54)), + (Some(CommonResolution::SevenTwentyP), Seconds(4), Batch(1), ExpectedCredits(37)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(1), ExpectedCredits(46)), + (Some(CommonResolution::SevenTwentyP), Seconds(6), Batch(1), ExpectedCredits(55)), + (Some(CommonResolution::SevenTwentyP), Seconds(7), Batch(1), ExpectedCredits(64)), + (Some(CommonResolution::SevenTwentyP), Seconds(8), Batch(1), ExpectedCredits(73)), + (Some(CommonResolution::SevenTwentyP), Seconds(9), Batch(1), ExpectedCredits(82)), + (Some(CommonResolution::SevenTwentyP), Seconds(10), Batch(1), ExpectedCredits(91)), + (Some(CommonResolution::SevenTwentyP), Seconds(11), Batch(1), ExpectedCredits(101)), + (Some(CommonResolution::SevenTwentyP), Seconds(12), Batch(1), ExpectedCredits(110)), + (Some(CommonResolution::SevenTwentyP), Seconds(13), Batch(1), ExpectedCredits(119)), + (Some(CommonResolution::SevenTwentyP), Seconds(14), Batch(1), ExpectedCredits(128)), + (Some(CommonResolution::SevenTwentyP), Seconds(15), Batch(1), ExpectedCredits(137)), + (Some(CommonResolution::TenEightyP), Seconds(4), Batch(1), ExpectedCredits(37)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(1), ExpectedCredits(46)), + (Some(CommonResolution::TenEightyP), Seconds(6), Batch(1), ExpectedCredits(55)), + (Some(CommonResolution::TenEightyP), Seconds(7), Batch(1), ExpectedCredits(64)), + (Some(CommonResolution::TenEightyP), Seconds(8), Batch(1), ExpectedCredits(73)), + (Some(CommonResolution::TenEightyP), Seconds(9), Batch(1), ExpectedCredits(82)), + (Some(CommonResolution::TenEightyP), Seconds(10), Batch(1), ExpectedCredits(91)), + (Some(CommonResolution::TenEightyP), Seconds(11), Batch(1), ExpectedCredits(101)), + (Some(CommonResolution::TenEightyP), Seconds(12), Batch(1), ExpectedCredits(110)), + (Some(CommonResolution::TenEightyP), Seconds(13), Batch(1), ExpectedCredits(119)), + (Some(CommonResolution::TenEightyP), Seconds(14), Batch(1), ExpectedCredits(128)), + (Some(CommonResolution::TenEightyP), Seconds(15), Batch(1), ExpectedCredits(137)), + (Some(CommonResolution::FourK), Seconds(4), Batch(1), ExpectedCredits(37)), + (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(46)), + (Some(CommonResolution::FourK), Seconds(6), Batch(1), ExpectedCredits(55)), + (Some(CommonResolution::FourK), Seconds(7), Batch(1), ExpectedCredits(64)), + (Some(CommonResolution::FourK), Seconds(8), Batch(1), ExpectedCredits(73)), + (Some(CommonResolution::FourK), Seconds(9), Batch(1), ExpectedCredits(82)), + (Some(CommonResolution::FourK), Seconds(10), Batch(1), ExpectedCredits(91)), + (Some(CommonResolution::FourK), Seconds(11), Batch(1), ExpectedCredits(101)), + (Some(CommonResolution::FourK), Seconds(12), Batch(1), ExpectedCredits(110)), + (Some(CommonResolution::FourK), Seconds(13), Batch(1), ExpectedCredits(119)), + (Some(CommonResolution::FourK), Seconds(14), Batch(1), ExpectedCredits(128)), + (Some(CommonResolution::FourK), Seconds(15), Batch(1), ExpectedCredits(137)), ]; for (resolution, seconds, batch, expected) in cases { @@ -451,46 +451,46 @@ mod seedance_2p0_bp_mini { let harness = TestHarness::create().await; let cases: &[(Option, Seconds, Batch, ExpectedCredits)] = &[ - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(1), ExpectedCredits(17)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(2), ExpectedCredits(33)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(3), ExpectedCredits(50)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(4), ExpectedCredits(66)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(5), ExpectedCredits(82)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(6), ExpectedCredits(99)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(7), ExpectedCredits(115)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(8), ExpectedCredits(131)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(9), ExpectedCredits(131)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(10), ExpectedCredits(131)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(1), ExpectedCredits(44)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(2), ExpectedCredits(88)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(3), ExpectedCredits(131)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(4), ExpectedCredits(175)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(5), ExpectedCredits(219)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(6), ExpectedCredits(262)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(7), ExpectedCredits(306)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(8), ExpectedCredits(349)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(9), ExpectedCredits(349)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(10), ExpectedCredits(349)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(1), ExpectedCredits(44)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(2), ExpectedCredits(88)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(3), ExpectedCredits(131)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(4), ExpectedCredits(175)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(5), ExpectedCredits(219)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(6), ExpectedCredits(262)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(7), ExpectedCredits(306)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(8), ExpectedCredits(349)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(9), ExpectedCredits(349)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(10), ExpectedCredits(349)), - (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(44)), - (Some(CommonResolution::FourK), Seconds(5), Batch(2), ExpectedCredits(88)), - (Some(CommonResolution::FourK), Seconds(5), Batch(3), ExpectedCredits(131)), - (Some(CommonResolution::FourK), Seconds(5), Batch(4), ExpectedCredits(175)), - (Some(CommonResolution::FourK), Seconds(5), Batch(5), ExpectedCredits(219)), - (Some(CommonResolution::FourK), Seconds(5), Batch(6), ExpectedCredits(262)), - (Some(CommonResolution::FourK), Seconds(5), Batch(7), ExpectedCredits(306)), - (Some(CommonResolution::FourK), Seconds(5), Batch(8), ExpectedCredits(349)), - (Some(CommonResolution::FourK), Seconds(5), Batch(9), ExpectedCredits(349)), - (Some(CommonResolution::FourK), Seconds(5), Batch(10), ExpectedCredits(349)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(1), ExpectedCredits(18)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(2), ExpectedCredits(36)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(3), ExpectedCredits(54)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(4), ExpectedCredits(71)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(5), ExpectedCredits(89)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(6), ExpectedCredits(107)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(7), ExpectedCredits(125)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(8), ExpectedCredits(142)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(9), ExpectedCredits(142)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(10), ExpectedCredits(142)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(1), ExpectedCredits(46)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(2), ExpectedCredits(91)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(3), ExpectedCredits(137)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(4), ExpectedCredits(182)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(5), ExpectedCredits(228)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(6), ExpectedCredits(273)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(7), ExpectedCredits(319)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(8), ExpectedCredits(364)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(9), ExpectedCredits(364)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(10), ExpectedCredits(364)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(1), ExpectedCredits(46)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(2), ExpectedCredits(91)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(3), ExpectedCredits(137)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(4), ExpectedCredits(182)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(5), ExpectedCredits(228)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(6), ExpectedCredits(273)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(7), ExpectedCredits(319)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(8), ExpectedCredits(364)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(9), ExpectedCredits(364)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(10), ExpectedCredits(364)), + (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(46)), + (Some(CommonResolution::FourK), Seconds(5), Batch(2), ExpectedCredits(91)), + (Some(CommonResolution::FourK), Seconds(5), Batch(3), ExpectedCredits(137)), + (Some(CommonResolution::FourK), Seconds(5), Batch(4), ExpectedCredits(182)), + (Some(CommonResolution::FourK), Seconds(5), Batch(5), ExpectedCredits(228)), + (Some(CommonResolution::FourK), Seconds(5), Batch(6), ExpectedCredits(273)), + (Some(CommonResolution::FourK), Seconds(5), Batch(7), ExpectedCredits(319)), + (Some(CommonResolution::FourK), Seconds(5), Batch(8), ExpectedCredits(364)), + (Some(CommonResolution::FourK), Seconds(5), Batch(9), ExpectedCredits(364)), + (Some(CommonResolution::FourK), Seconds(5), Batch(10), ExpectedCredits(364)), ]; for (resolution, seconds, batch, expected) in cases { @@ -507,30 +507,30 @@ mod seedance_2p0_bp_mini { let harness = TestHarness::create().await; let cases: &[(Option, Seconds, Batch, ExpectedCredits)] = &[ - (Some(CommonResolution::FourEightyP), Seconds(6), Batch(2), ExpectedCredits(40)), - (Some(CommonResolution::FourEightyP), Seconds(7), Batch(3), ExpectedCredits(69)), - (Some(CommonResolution::FourEightyP), Seconds(9), Batch(4), ExpectedCredits(118)), - (Some(CommonResolution::FourEightyP), Seconds(11), Batch(5), ExpectedCredits(180)), - (Some(CommonResolution::FourEightyP), Seconds(13), Batch(8), ExpectedCredits(341)), - (Some(CommonResolution::FourEightyP), Seconds(15), Batch(10), ExpectedCredits(393)), - (Some(CommonResolution::SevenTwentyP), Seconds(6), Batch(2), ExpectedCredits(105)), - (Some(CommonResolution::SevenTwentyP), Seconds(7), Batch(3), ExpectedCredits(184)), - (Some(CommonResolution::SevenTwentyP), Seconds(9), Batch(4), ExpectedCredits(315)), - (Some(CommonResolution::SevenTwentyP), Seconds(11), Batch(5), ExpectedCredits(480)), - (Some(CommonResolution::SevenTwentyP), Seconds(13), Batch(8), ExpectedCredits(908)), - (Some(CommonResolution::SevenTwentyP), Seconds(15), Batch(10), ExpectedCredits(1047)), - (Some(CommonResolution::TenEightyP), Seconds(6), Batch(2), ExpectedCredits(105)), - (Some(CommonResolution::TenEightyP), Seconds(7), Batch(3), ExpectedCredits(184)), - (Some(CommonResolution::TenEightyP), Seconds(9), Batch(4), ExpectedCredits(315)), - (Some(CommonResolution::TenEightyP), Seconds(11), Batch(5), ExpectedCredits(480)), - (Some(CommonResolution::TenEightyP), Seconds(13), Batch(8), ExpectedCredits(908)), - (Some(CommonResolution::TenEightyP), Seconds(15), Batch(10), ExpectedCredits(1047)), - (Some(CommonResolution::FourK), Seconds(6), Batch(2), ExpectedCredits(105)), - (Some(CommonResolution::FourK), Seconds(7), Batch(3), ExpectedCredits(184)), - (Some(CommonResolution::FourK), Seconds(9), Batch(4), ExpectedCredits(315)), - (Some(CommonResolution::FourK), Seconds(11), Batch(5), ExpectedCredits(480)), - (Some(CommonResolution::FourK), Seconds(13), Batch(8), ExpectedCredits(908)), - (Some(CommonResolution::FourK), Seconds(15), Batch(10), ExpectedCredits(1047)), + (Some(CommonResolution::FourEightyP), Seconds(6), Batch(2), ExpectedCredits(43)), + (Some(CommonResolution::FourEightyP), Seconds(7), Batch(3), ExpectedCredits(75)), + (Some(CommonResolution::FourEightyP), Seconds(9), Batch(4), ExpectedCredits(128)), + (Some(CommonResolution::FourEightyP), Seconds(11), Batch(5), ExpectedCredits(196)), + (Some(CommonResolution::FourEightyP), Seconds(13), Batch(8), ExpectedCredits(370)), + (Some(CommonResolution::FourEightyP), Seconds(15), Batch(10), ExpectedCredits(426)), + (Some(CommonResolution::SevenTwentyP), Seconds(6), Batch(2), ExpectedCredits(110)), + (Some(CommonResolution::SevenTwentyP), Seconds(7), Batch(3), ExpectedCredits(192)), + (Some(CommonResolution::SevenTwentyP), Seconds(9), Batch(4), ExpectedCredits(328)), + (Some(CommonResolution::SevenTwentyP), Seconds(11), Batch(5), ExpectedCredits(501)), + (Some(CommonResolution::SevenTwentyP), Seconds(13), Batch(8), ExpectedCredits(947)), + (Some(CommonResolution::SevenTwentyP), Seconds(15), Batch(10), ExpectedCredits(1092)), + (Some(CommonResolution::TenEightyP), Seconds(6), Batch(2), ExpectedCredits(110)), + (Some(CommonResolution::TenEightyP), Seconds(7), Batch(3), ExpectedCredits(192)), + (Some(CommonResolution::TenEightyP), Seconds(9), Batch(4), ExpectedCredits(328)), + (Some(CommonResolution::TenEightyP), Seconds(11), Batch(5), ExpectedCredits(501)), + (Some(CommonResolution::TenEightyP), Seconds(13), Batch(8), ExpectedCredits(947)), + (Some(CommonResolution::TenEightyP), Seconds(15), Batch(10), ExpectedCredits(1092)), + (Some(CommonResolution::FourK), Seconds(6), Batch(2), ExpectedCredits(110)), + (Some(CommonResolution::FourK), Seconds(7), Batch(3), ExpectedCredits(192)), + (Some(CommonResolution::FourK), Seconds(9), Batch(4), ExpectedCredits(328)), + (Some(CommonResolution::FourK), Seconds(11), Batch(5), ExpectedCredits(501)), + (Some(CommonResolution::FourK), Seconds(13), Batch(8), ExpectedCredits(947)), + (Some(CommonResolution::FourK), Seconds(15), Batch(10), ExpectedCredits(1092)), ]; for (resolution, seconds, batch, expected) in cases { @@ -548,54 +548,54 @@ mod seedance_2p0_bp_mini { let harness = TestHarness::create().await; let cases: &[(Option, Seconds, Batch, ExpectedCredits)] = &[ - (Some(CommonResolution::FourEightyP), Seconds(4), Batch(1), ExpectedCredits(17)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(1), ExpectedCredits(21)), - (Some(CommonResolution::FourEightyP), Seconds(6), Batch(1), ExpectedCredits(25)), - (Some(CommonResolution::FourEightyP), Seconds(7), Batch(1), ExpectedCredits(30)), - (Some(CommonResolution::FourEightyP), Seconds(8), Batch(1), ExpectedCredits(34)), - (Some(CommonResolution::FourEightyP), Seconds(9), Batch(1), ExpectedCredits(38)), - (Some(CommonResolution::FourEightyP), Seconds(10), Batch(1), ExpectedCredits(42)), - (Some(CommonResolution::FourEightyP), Seconds(11), Batch(1), ExpectedCredits(46)), - (Some(CommonResolution::FourEightyP), Seconds(12), Batch(1), ExpectedCredits(50)), - (Some(CommonResolution::FourEightyP), Seconds(13), Batch(1), ExpectedCredits(54)), - (Some(CommonResolution::FourEightyP), Seconds(14), Batch(1), ExpectedCredits(59)), - (Some(CommonResolution::FourEightyP), Seconds(15), Batch(1), ExpectedCredits(63)), - (Some(CommonResolution::SevenTwentyP), Seconds(4), Batch(1), ExpectedCredits(42)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(1), ExpectedCredits(53)), - (Some(CommonResolution::SevenTwentyP), Seconds(6), Batch(1), ExpectedCredits(63)), - (Some(CommonResolution::SevenTwentyP), Seconds(7), Batch(1), ExpectedCredits(74)), - (Some(CommonResolution::SevenTwentyP), Seconds(8), Batch(1), ExpectedCredits(84)), - (Some(CommonResolution::SevenTwentyP), Seconds(9), Batch(1), ExpectedCredits(95)), - (Some(CommonResolution::SevenTwentyP), Seconds(10), Batch(1), ExpectedCredits(105)), - (Some(CommonResolution::SevenTwentyP), Seconds(11), Batch(1), ExpectedCredits(116)), - (Some(CommonResolution::SevenTwentyP), Seconds(12), Batch(1), ExpectedCredits(126)), - (Some(CommonResolution::SevenTwentyP), Seconds(13), Batch(1), ExpectedCredits(137)), - (Some(CommonResolution::SevenTwentyP), Seconds(14), Batch(1), ExpectedCredits(147)), - (Some(CommonResolution::SevenTwentyP), Seconds(15), Batch(1), ExpectedCredits(158)), - (Some(CommonResolution::TenEightyP), Seconds(4), Batch(1), ExpectedCredits(42)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(1), ExpectedCredits(53)), - (Some(CommonResolution::TenEightyP), Seconds(6), Batch(1), ExpectedCredits(63)), - (Some(CommonResolution::TenEightyP), Seconds(7), Batch(1), ExpectedCredits(74)), - (Some(CommonResolution::TenEightyP), Seconds(8), Batch(1), ExpectedCredits(84)), - (Some(CommonResolution::TenEightyP), Seconds(9), Batch(1), ExpectedCredits(95)), - (Some(CommonResolution::TenEightyP), Seconds(10), Batch(1), ExpectedCredits(105)), - (Some(CommonResolution::TenEightyP), Seconds(11), Batch(1), ExpectedCredits(116)), - (Some(CommonResolution::TenEightyP), Seconds(12), Batch(1), ExpectedCredits(126)), - (Some(CommonResolution::TenEightyP), Seconds(13), Batch(1), ExpectedCredits(137)), - (Some(CommonResolution::TenEightyP), Seconds(14), Batch(1), ExpectedCredits(147)), - (Some(CommonResolution::TenEightyP), Seconds(15), Batch(1), ExpectedCredits(158)), - (Some(CommonResolution::FourK), Seconds(4), Batch(1), ExpectedCredits(42)), - (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(53)), - (Some(CommonResolution::FourK), Seconds(6), Batch(1), ExpectedCredits(63)), - (Some(CommonResolution::FourK), Seconds(7), Batch(1), ExpectedCredits(74)), - (Some(CommonResolution::FourK), Seconds(8), Batch(1), ExpectedCredits(84)), - (Some(CommonResolution::FourK), Seconds(9), Batch(1), ExpectedCredits(95)), - (Some(CommonResolution::FourK), Seconds(10), Batch(1), ExpectedCredits(105)), - (Some(CommonResolution::FourK), Seconds(11), Batch(1), ExpectedCredits(116)), - (Some(CommonResolution::FourK), Seconds(12), Batch(1), ExpectedCredits(126)), - (Some(CommonResolution::FourK), Seconds(13), Batch(1), ExpectedCredits(137)), - (Some(CommonResolution::FourK), Seconds(14), Batch(1), ExpectedCredits(147)), - (Some(CommonResolution::FourK), Seconds(15), Batch(1), ExpectedCredits(158)), + (Some(CommonResolution::FourEightyP), Seconds(4), Batch(1), ExpectedCredits(18)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(1), ExpectedCredits(23)), + (Some(CommonResolution::FourEightyP), Seconds(6), Batch(1), ExpectedCredits(27)), + (Some(CommonResolution::FourEightyP), Seconds(7), Batch(1), ExpectedCredits(32)), + (Some(CommonResolution::FourEightyP), Seconds(8), Batch(1), ExpectedCredits(36)), + (Some(CommonResolution::FourEightyP), Seconds(9), Batch(1), ExpectedCredits(41)), + (Some(CommonResolution::FourEightyP), Seconds(10), Batch(1), ExpectedCredits(45)), + (Some(CommonResolution::FourEightyP), Seconds(11), Batch(1), ExpectedCredits(50)), + (Some(CommonResolution::FourEightyP), Seconds(12), Batch(1), ExpectedCredits(54)), + (Some(CommonResolution::FourEightyP), Seconds(13), Batch(1), ExpectedCredits(59)), + (Some(CommonResolution::FourEightyP), Seconds(14), Batch(1), ExpectedCredits(63)), + (Some(CommonResolution::FourEightyP), Seconds(15), Batch(1), ExpectedCredits(68)), + (Some(CommonResolution::SevenTwentyP), Seconds(4), Batch(1), ExpectedCredits(44)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(1), ExpectedCredits(55)), + (Some(CommonResolution::SevenTwentyP), Seconds(6), Batch(1), ExpectedCredits(66)), + (Some(CommonResolution::SevenTwentyP), Seconds(7), Batch(1), ExpectedCredits(77)), + (Some(CommonResolution::SevenTwentyP), Seconds(8), Batch(1), ExpectedCredits(88)), + (Some(CommonResolution::SevenTwentyP), Seconds(9), Batch(1), ExpectedCredits(99)), + (Some(CommonResolution::SevenTwentyP), Seconds(10), Batch(1), ExpectedCredits(110)), + (Some(CommonResolution::SevenTwentyP), Seconds(11), Batch(1), ExpectedCredits(121)), + (Some(CommonResolution::SevenTwentyP), Seconds(12), Batch(1), ExpectedCredits(132)), + (Some(CommonResolution::SevenTwentyP), Seconds(13), Batch(1), ExpectedCredits(143)), + (Some(CommonResolution::SevenTwentyP), Seconds(14), Batch(1), ExpectedCredits(154)), + (Some(CommonResolution::SevenTwentyP), Seconds(15), Batch(1), ExpectedCredits(165)), + (Some(CommonResolution::TenEightyP), Seconds(4), Batch(1), ExpectedCredits(44)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(1), ExpectedCredits(55)), + (Some(CommonResolution::TenEightyP), Seconds(6), Batch(1), ExpectedCredits(66)), + (Some(CommonResolution::TenEightyP), Seconds(7), Batch(1), ExpectedCredits(77)), + (Some(CommonResolution::TenEightyP), Seconds(8), Batch(1), ExpectedCredits(88)), + (Some(CommonResolution::TenEightyP), Seconds(9), Batch(1), ExpectedCredits(99)), + (Some(CommonResolution::TenEightyP), Seconds(10), Batch(1), ExpectedCredits(110)), + (Some(CommonResolution::TenEightyP), Seconds(11), Batch(1), ExpectedCredits(121)), + (Some(CommonResolution::TenEightyP), Seconds(12), Batch(1), ExpectedCredits(132)), + (Some(CommonResolution::TenEightyP), Seconds(13), Batch(1), ExpectedCredits(143)), + (Some(CommonResolution::TenEightyP), Seconds(14), Batch(1), ExpectedCredits(154)), + (Some(CommonResolution::TenEightyP), Seconds(15), Batch(1), ExpectedCredits(165)), + (Some(CommonResolution::FourK), Seconds(4), Batch(1), ExpectedCredits(44)), + (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(55)), + (Some(CommonResolution::FourK), Seconds(6), Batch(1), ExpectedCredits(66)), + (Some(CommonResolution::FourK), Seconds(7), Batch(1), ExpectedCredits(77)), + (Some(CommonResolution::FourK), Seconds(8), Batch(1), ExpectedCredits(88)), + (Some(CommonResolution::FourK), Seconds(9), Batch(1), ExpectedCredits(99)), + (Some(CommonResolution::FourK), Seconds(10), Batch(1), ExpectedCredits(110)), + (Some(CommonResolution::FourK), Seconds(11), Batch(1), ExpectedCredits(121)), + (Some(CommonResolution::FourK), Seconds(12), Batch(1), ExpectedCredits(132)), + (Some(CommonResolution::FourK), Seconds(13), Batch(1), ExpectedCredits(143)), + (Some(CommonResolution::FourK), Seconds(14), Batch(1), ExpectedCredits(154)), + (Some(CommonResolution::FourK), Seconds(15), Batch(1), ExpectedCredits(165)), ]; for (resolution, seconds, batch, expected) in cases { @@ -614,46 +614,46 @@ mod seedance_2p0_bp_mini { let harness = TestHarness::create().await; let cases: &[(Option, Seconds, Batch, ExpectedCredits)] = &[ - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(1), ExpectedCredits(21)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(2), ExpectedCredits(42)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(3), ExpectedCredits(63)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(4), ExpectedCredits(83)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(5), ExpectedCredits(104)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(6), ExpectedCredits(125)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(7), ExpectedCredits(146)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(8), ExpectedCredits(166)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(9), ExpectedCredits(166)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(10), ExpectedCredits(166)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(1), ExpectedCredits(53)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(2), ExpectedCredits(105)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(3), ExpectedCredits(158)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(4), ExpectedCredits(210)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(5), ExpectedCredits(262)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(6), ExpectedCredits(315)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(7), ExpectedCredits(367)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(8), ExpectedCredits(419)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(9), ExpectedCredits(419)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(10), ExpectedCredits(419)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(1), ExpectedCredits(53)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(2), ExpectedCredits(105)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(3), ExpectedCredits(158)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(4), ExpectedCredits(210)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(5), ExpectedCredits(262)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(6), ExpectedCredits(315)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(7), ExpectedCredits(367)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(8), ExpectedCredits(419)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(9), ExpectedCredits(419)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(10), ExpectedCredits(419)), - (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(53)), - (Some(CommonResolution::FourK), Seconds(5), Batch(2), ExpectedCredits(105)), - (Some(CommonResolution::FourK), Seconds(5), Batch(3), ExpectedCredits(158)), - (Some(CommonResolution::FourK), Seconds(5), Batch(4), ExpectedCredits(210)), - (Some(CommonResolution::FourK), Seconds(5), Batch(5), ExpectedCredits(262)), - (Some(CommonResolution::FourK), Seconds(5), Batch(6), ExpectedCredits(315)), - (Some(CommonResolution::FourK), Seconds(5), Batch(7), ExpectedCredits(367)), - (Some(CommonResolution::FourK), Seconds(5), Batch(8), ExpectedCredits(419)), - (Some(CommonResolution::FourK), Seconds(5), Batch(9), ExpectedCredits(419)), - (Some(CommonResolution::FourK), Seconds(5), Batch(10), ExpectedCredits(419)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(1), ExpectedCredits(23)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(2), ExpectedCredits(45)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(3), ExpectedCredits(68)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(4), ExpectedCredits(90)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(5), ExpectedCredits(113)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(6), ExpectedCredits(135)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(7), ExpectedCredits(158)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(8), ExpectedCredits(180)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(9), ExpectedCredits(180)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(10), ExpectedCredits(180)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(1), ExpectedCredits(55)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(2), ExpectedCredits(110)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(3), ExpectedCredits(165)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(4), ExpectedCredits(219)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(5), ExpectedCredits(274)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(6), ExpectedCredits(329)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(7), ExpectedCredits(384)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(8), ExpectedCredits(438)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(9), ExpectedCredits(438)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(10), ExpectedCredits(438)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(1), ExpectedCredits(55)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(2), ExpectedCredits(110)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(3), ExpectedCredits(165)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(4), ExpectedCredits(219)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(5), ExpectedCredits(274)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(6), ExpectedCredits(329)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(7), ExpectedCredits(384)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(8), ExpectedCredits(438)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(9), ExpectedCredits(438)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(10), ExpectedCredits(438)), + (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(55)), + (Some(CommonResolution::FourK), Seconds(5), Batch(2), ExpectedCredits(110)), + (Some(CommonResolution::FourK), Seconds(5), Batch(3), ExpectedCredits(165)), + (Some(CommonResolution::FourK), Seconds(5), Batch(4), ExpectedCredits(219)), + (Some(CommonResolution::FourK), Seconds(5), Batch(5), ExpectedCredits(274)), + (Some(CommonResolution::FourK), Seconds(5), Batch(6), ExpectedCredits(329)), + (Some(CommonResolution::FourK), Seconds(5), Batch(7), ExpectedCredits(384)), + (Some(CommonResolution::FourK), Seconds(5), Batch(8), ExpectedCredits(438)), + (Some(CommonResolution::FourK), Seconds(5), Batch(9), ExpectedCredits(438)), + (Some(CommonResolution::FourK), Seconds(5), Batch(10), ExpectedCredits(438)), ]; for (resolution, seconds, batch, expected) in cases { @@ -687,30 +687,30 @@ mod seedance_2p0_bp_mini { let harness = TestHarness::create().await; let cases: &[(Option, Seconds, Batch, ExpectedCredits)] = &[ - (Some(CommonResolution::FourEightyP), Seconds(6), Batch(2), ExpectedCredits(50)), - (Some(CommonResolution::FourEightyP), Seconds(7), Batch(3), ExpectedCredits(88)), - (Some(CommonResolution::FourEightyP), Seconds(9), Batch(4), ExpectedCredits(150)), - (Some(CommonResolution::FourEightyP), Seconds(11), Batch(5), ExpectedCredits(228)), - (Some(CommonResolution::FourEightyP), Seconds(13), Batch(8), ExpectedCredits(431)), - (Some(CommonResolution::FourEightyP), Seconds(15), Batch(10), ExpectedCredits(498)), - (Some(CommonResolution::SevenTwentyP), Seconds(6), Batch(2), ExpectedCredits(126)), - (Some(CommonResolution::SevenTwentyP), Seconds(7), Batch(3), ExpectedCredits(220)), - (Some(CommonResolution::SevenTwentyP), Seconds(9), Batch(4), ExpectedCredits(377)), - (Some(CommonResolution::SevenTwentyP), Seconds(11), Batch(5), ExpectedCredits(576)), - (Some(CommonResolution::SevenTwentyP), Seconds(13), Batch(8), ExpectedCredits(1089)), - (Some(CommonResolution::SevenTwentyP), Seconds(15), Batch(10), ExpectedCredits(1257)), - (Some(CommonResolution::TenEightyP), Seconds(6), Batch(2), ExpectedCredits(126)), - (Some(CommonResolution::TenEightyP), Seconds(7), Batch(3), ExpectedCredits(220)), - (Some(CommonResolution::TenEightyP), Seconds(9), Batch(4), ExpectedCredits(377)), - (Some(CommonResolution::TenEightyP), Seconds(11), Batch(5), ExpectedCredits(576)), - (Some(CommonResolution::TenEightyP), Seconds(13), Batch(8), ExpectedCredits(1089)), - (Some(CommonResolution::TenEightyP), Seconds(15), Batch(10), ExpectedCredits(1257)), - (Some(CommonResolution::FourK), Seconds(6), Batch(2), ExpectedCredits(126)), - (Some(CommonResolution::FourK), Seconds(7), Batch(3), ExpectedCredits(220)), - (Some(CommonResolution::FourK), Seconds(9), Batch(4), ExpectedCredits(377)), - (Some(CommonResolution::FourK), Seconds(11), Batch(5), ExpectedCredits(576)), - (Some(CommonResolution::FourK), Seconds(13), Batch(8), ExpectedCredits(1089)), - (Some(CommonResolution::FourK), Seconds(15), Batch(10), ExpectedCredits(1257)), + (Some(CommonResolution::FourEightyP), Seconds(6), Batch(2), ExpectedCredits(54)), + (Some(CommonResolution::FourEightyP), Seconds(7), Batch(3), ExpectedCredits(95)), + (Some(CommonResolution::FourEightyP), Seconds(9), Batch(4), ExpectedCredits(162)), + (Some(CommonResolution::FourEightyP), Seconds(11), Batch(5), ExpectedCredits(248)), + (Some(CommonResolution::FourEightyP), Seconds(13), Batch(8), ExpectedCredits(468)), + (Some(CommonResolution::FourEightyP), Seconds(15), Batch(10), ExpectedCredits(540)), + (Some(CommonResolution::SevenTwentyP), Seconds(6), Batch(2), ExpectedCredits(132)), + (Some(CommonResolution::SevenTwentyP), Seconds(7), Batch(3), ExpectedCredits(230)), + (Some(CommonResolution::SevenTwentyP), Seconds(9), Batch(4), ExpectedCredits(395)), + (Some(CommonResolution::SevenTwentyP), Seconds(11), Batch(5), ExpectedCredits(603)), + (Some(CommonResolution::SevenTwentyP), Seconds(13), Batch(8), ExpectedCredits(1139)), + (Some(CommonResolution::SevenTwentyP), Seconds(15), Batch(10), ExpectedCredits(1314)), + (Some(CommonResolution::TenEightyP), Seconds(6), Batch(2), ExpectedCredits(132)), + (Some(CommonResolution::TenEightyP), Seconds(7), Batch(3), ExpectedCredits(230)), + (Some(CommonResolution::TenEightyP), Seconds(9), Batch(4), ExpectedCredits(395)), + (Some(CommonResolution::TenEightyP), Seconds(11), Batch(5), ExpectedCredits(603)), + (Some(CommonResolution::TenEightyP), Seconds(13), Batch(8), ExpectedCredits(1139)), + (Some(CommonResolution::TenEightyP), Seconds(15), Batch(10), ExpectedCredits(1314)), + (Some(CommonResolution::FourK), Seconds(6), Batch(2), ExpectedCredits(132)), + (Some(CommonResolution::FourK), Seconds(7), Batch(3), ExpectedCredits(230)), + (Some(CommonResolution::FourK), Seconds(9), Batch(4), ExpectedCredits(395)), + (Some(CommonResolution::FourK), Seconds(11), Batch(5), ExpectedCredits(603)), + (Some(CommonResolution::FourK), Seconds(13), Batch(8), ExpectedCredits(1139)), + (Some(CommonResolution::FourK), Seconds(15), Batch(10), ExpectedCredits(1314)), ]; for (resolution, seconds, batch, expected) in cases { @@ -734,54 +734,54 @@ mod seedance_2p0_bpu_mini { let harness = TestHarness::create().await; let cases: &[(Option, Seconds, Batch, ExpectedCredits)] = &[ - (Some(CommonResolution::FourEightyP), Seconds(4), Batch(1), ExpectedCredits(14)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(1), ExpectedCredits(17)), - (Some(CommonResolution::FourEightyP), Seconds(6), Batch(1), ExpectedCredits(20)), - (Some(CommonResolution::FourEightyP), Seconds(7), Batch(1), ExpectedCredits(23)), - (Some(CommonResolution::FourEightyP), Seconds(8), Batch(1), ExpectedCredits(27)), - (Some(CommonResolution::FourEightyP), Seconds(9), Batch(1), ExpectedCredits(30)), - (Some(CommonResolution::FourEightyP), Seconds(10), Batch(1), ExpectedCredits(33)), - (Some(CommonResolution::FourEightyP), Seconds(11), Batch(1), ExpectedCredits(36)), - (Some(CommonResolution::FourEightyP), Seconds(12), Batch(1), ExpectedCredits(40)), - (Some(CommonResolution::FourEightyP), Seconds(13), Batch(1), ExpectedCredits(43)), - (Some(CommonResolution::FourEightyP), Seconds(14), Batch(1), ExpectedCredits(46)), - (Some(CommonResolution::FourEightyP), Seconds(15), Batch(1), ExpectedCredits(50)), - (Some(CommonResolution::SevenTwentyP), Seconds(4), Batch(1), ExpectedCredits(35)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(1), ExpectedCredits(44)), - (Some(CommonResolution::SevenTwentyP), Seconds(6), Batch(1), ExpectedCredits(53)), - (Some(CommonResolution::SevenTwentyP), Seconds(7), Batch(1), ExpectedCredits(62)), - (Some(CommonResolution::SevenTwentyP), Seconds(8), Batch(1), ExpectedCredits(70)), - (Some(CommonResolution::SevenTwentyP), Seconds(9), Batch(1), ExpectedCredits(79)), - (Some(CommonResolution::SevenTwentyP), Seconds(10), Batch(1), ExpectedCredits(88)), - (Some(CommonResolution::SevenTwentyP), Seconds(11), Batch(1), ExpectedCredits(96)), - (Some(CommonResolution::SevenTwentyP), Seconds(12), Batch(1), ExpectedCredits(105)), - (Some(CommonResolution::SevenTwentyP), Seconds(13), Batch(1), ExpectedCredits(114)), - (Some(CommonResolution::SevenTwentyP), Seconds(14), Batch(1), ExpectedCredits(123)), - (Some(CommonResolution::SevenTwentyP), Seconds(15), Batch(1), ExpectedCredits(131)), - (Some(CommonResolution::TenEightyP), Seconds(4), Batch(1), ExpectedCredits(35)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(1), ExpectedCredits(44)), - (Some(CommonResolution::TenEightyP), Seconds(6), Batch(1), ExpectedCredits(53)), - (Some(CommonResolution::TenEightyP), Seconds(7), Batch(1), ExpectedCredits(62)), - (Some(CommonResolution::TenEightyP), Seconds(8), Batch(1), ExpectedCredits(70)), - (Some(CommonResolution::TenEightyP), Seconds(9), Batch(1), ExpectedCredits(79)), - (Some(CommonResolution::TenEightyP), Seconds(10), Batch(1), ExpectedCredits(88)), - (Some(CommonResolution::TenEightyP), Seconds(11), Batch(1), ExpectedCredits(96)), - (Some(CommonResolution::TenEightyP), Seconds(12), Batch(1), ExpectedCredits(105)), - (Some(CommonResolution::TenEightyP), Seconds(13), Batch(1), ExpectedCredits(114)), - (Some(CommonResolution::TenEightyP), Seconds(14), Batch(1), ExpectedCredits(123)), - (Some(CommonResolution::TenEightyP), Seconds(15), Batch(1), ExpectedCredits(131)), - (Some(CommonResolution::FourK), Seconds(4), Batch(1), ExpectedCredits(35)), - (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(44)), - (Some(CommonResolution::FourK), Seconds(6), Batch(1), ExpectedCredits(53)), - (Some(CommonResolution::FourK), Seconds(7), Batch(1), ExpectedCredits(62)), - (Some(CommonResolution::FourK), Seconds(8), Batch(1), ExpectedCredits(70)), - (Some(CommonResolution::FourK), Seconds(9), Batch(1), ExpectedCredits(79)), - (Some(CommonResolution::FourK), Seconds(10), Batch(1), ExpectedCredits(88)), - (Some(CommonResolution::FourK), Seconds(11), Batch(1), ExpectedCredits(96)), - (Some(CommonResolution::FourK), Seconds(12), Batch(1), ExpectedCredits(105)), - (Some(CommonResolution::FourK), Seconds(13), Batch(1), ExpectedCredits(114)), - (Some(CommonResolution::FourK), Seconds(14), Batch(1), ExpectedCredits(123)), - (Some(CommonResolution::FourK), Seconds(15), Batch(1), ExpectedCredits(131)), + (Some(CommonResolution::FourEightyP), Seconds(4), Batch(1), ExpectedCredits(15)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(1), ExpectedCredits(18)), + (Some(CommonResolution::FourEightyP), Seconds(6), Batch(1), ExpectedCredits(22)), + (Some(CommonResolution::FourEightyP), Seconds(7), Batch(1), ExpectedCredits(25)), + (Some(CommonResolution::FourEightyP), Seconds(8), Batch(1), ExpectedCredits(29)), + (Some(CommonResolution::FourEightyP), Seconds(9), Batch(1), ExpectedCredits(32)), + (Some(CommonResolution::FourEightyP), Seconds(10), Batch(1), ExpectedCredits(36)), + (Some(CommonResolution::FourEightyP), Seconds(11), Batch(1), ExpectedCredits(40)), + (Some(CommonResolution::FourEightyP), Seconds(12), Batch(1), ExpectedCredits(43)), + (Some(CommonResolution::FourEightyP), Seconds(13), Batch(1), ExpectedCredits(47)), + (Some(CommonResolution::FourEightyP), Seconds(14), Batch(1), ExpectedCredits(50)), + (Some(CommonResolution::FourEightyP), Seconds(15), Batch(1), ExpectedCredits(54)), + (Some(CommonResolution::SevenTwentyP), Seconds(4), Batch(1), ExpectedCredits(37)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(1), ExpectedCredits(46)), + (Some(CommonResolution::SevenTwentyP), Seconds(6), Batch(1), ExpectedCredits(55)), + (Some(CommonResolution::SevenTwentyP), Seconds(7), Batch(1), ExpectedCredits(64)), + (Some(CommonResolution::SevenTwentyP), Seconds(8), Batch(1), ExpectedCredits(73)), + (Some(CommonResolution::SevenTwentyP), Seconds(9), Batch(1), ExpectedCredits(82)), + (Some(CommonResolution::SevenTwentyP), Seconds(10), Batch(1), ExpectedCredits(91)), + (Some(CommonResolution::SevenTwentyP), Seconds(11), Batch(1), ExpectedCredits(101)), + (Some(CommonResolution::SevenTwentyP), Seconds(12), Batch(1), ExpectedCredits(110)), + (Some(CommonResolution::SevenTwentyP), Seconds(13), Batch(1), ExpectedCredits(119)), + (Some(CommonResolution::SevenTwentyP), Seconds(14), Batch(1), ExpectedCredits(128)), + (Some(CommonResolution::SevenTwentyP), Seconds(15), Batch(1), ExpectedCredits(137)), + (Some(CommonResolution::TenEightyP), Seconds(4), Batch(1), ExpectedCredits(37)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(1), ExpectedCredits(46)), + (Some(CommonResolution::TenEightyP), Seconds(6), Batch(1), ExpectedCredits(55)), + (Some(CommonResolution::TenEightyP), Seconds(7), Batch(1), ExpectedCredits(64)), + (Some(CommonResolution::TenEightyP), Seconds(8), Batch(1), ExpectedCredits(73)), + (Some(CommonResolution::TenEightyP), Seconds(9), Batch(1), ExpectedCredits(82)), + (Some(CommonResolution::TenEightyP), Seconds(10), Batch(1), ExpectedCredits(91)), + (Some(CommonResolution::TenEightyP), Seconds(11), Batch(1), ExpectedCredits(101)), + (Some(CommonResolution::TenEightyP), Seconds(12), Batch(1), ExpectedCredits(110)), + (Some(CommonResolution::TenEightyP), Seconds(13), Batch(1), ExpectedCredits(119)), + (Some(CommonResolution::TenEightyP), Seconds(14), Batch(1), ExpectedCredits(128)), + (Some(CommonResolution::TenEightyP), Seconds(15), Batch(1), ExpectedCredits(137)), + (Some(CommonResolution::FourK), Seconds(4), Batch(1), ExpectedCredits(37)), + (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(46)), + (Some(CommonResolution::FourK), Seconds(6), Batch(1), ExpectedCredits(55)), + (Some(CommonResolution::FourK), Seconds(7), Batch(1), ExpectedCredits(64)), + (Some(CommonResolution::FourK), Seconds(8), Batch(1), ExpectedCredits(73)), + (Some(CommonResolution::FourK), Seconds(9), Batch(1), ExpectedCredits(82)), + (Some(CommonResolution::FourK), Seconds(10), Batch(1), ExpectedCredits(91)), + (Some(CommonResolution::FourK), Seconds(11), Batch(1), ExpectedCredits(101)), + (Some(CommonResolution::FourK), Seconds(12), Batch(1), ExpectedCredits(110)), + (Some(CommonResolution::FourK), Seconds(13), Batch(1), ExpectedCredits(119)), + (Some(CommonResolution::FourK), Seconds(14), Batch(1), ExpectedCredits(128)), + (Some(CommonResolution::FourK), Seconds(15), Batch(1), ExpectedCredits(137)), ]; for (resolution, seconds, batch, expected) in cases { @@ -800,46 +800,46 @@ mod seedance_2p0_bpu_mini { let harness = TestHarness::create().await; let cases: &[(Option, Seconds, Batch, ExpectedCredits)] = &[ - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(1), ExpectedCredits(17)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(2), ExpectedCredits(33)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(3), ExpectedCredits(50)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(4), ExpectedCredits(66)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(5), ExpectedCredits(82)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(6), ExpectedCredits(99)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(7), ExpectedCredits(115)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(8), ExpectedCredits(131)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(9), ExpectedCredits(131)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(10), ExpectedCredits(131)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(1), ExpectedCredits(44)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(2), ExpectedCredits(88)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(3), ExpectedCredits(131)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(4), ExpectedCredits(175)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(5), ExpectedCredits(219)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(6), ExpectedCredits(262)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(7), ExpectedCredits(306)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(8), ExpectedCredits(349)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(9), ExpectedCredits(349)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(10), ExpectedCredits(349)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(1), ExpectedCredits(44)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(2), ExpectedCredits(88)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(3), ExpectedCredits(131)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(4), ExpectedCredits(175)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(5), ExpectedCredits(219)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(6), ExpectedCredits(262)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(7), ExpectedCredits(306)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(8), ExpectedCredits(349)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(9), ExpectedCredits(349)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(10), ExpectedCredits(349)), - (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(44)), - (Some(CommonResolution::FourK), Seconds(5), Batch(2), ExpectedCredits(88)), - (Some(CommonResolution::FourK), Seconds(5), Batch(3), ExpectedCredits(131)), - (Some(CommonResolution::FourK), Seconds(5), Batch(4), ExpectedCredits(175)), - (Some(CommonResolution::FourK), Seconds(5), Batch(5), ExpectedCredits(219)), - (Some(CommonResolution::FourK), Seconds(5), Batch(6), ExpectedCredits(262)), - (Some(CommonResolution::FourK), Seconds(5), Batch(7), ExpectedCredits(306)), - (Some(CommonResolution::FourK), Seconds(5), Batch(8), ExpectedCredits(349)), - (Some(CommonResolution::FourK), Seconds(5), Batch(9), ExpectedCredits(349)), - (Some(CommonResolution::FourK), Seconds(5), Batch(10), ExpectedCredits(349)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(1), ExpectedCredits(18)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(2), ExpectedCredits(36)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(3), ExpectedCredits(54)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(4), ExpectedCredits(71)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(5), ExpectedCredits(89)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(6), ExpectedCredits(107)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(7), ExpectedCredits(125)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(8), ExpectedCredits(142)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(9), ExpectedCredits(142)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(10), ExpectedCredits(142)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(1), ExpectedCredits(46)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(2), ExpectedCredits(91)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(3), ExpectedCredits(137)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(4), ExpectedCredits(182)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(5), ExpectedCredits(228)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(6), ExpectedCredits(273)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(7), ExpectedCredits(319)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(8), ExpectedCredits(364)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(9), ExpectedCredits(364)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(10), ExpectedCredits(364)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(1), ExpectedCredits(46)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(2), ExpectedCredits(91)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(3), ExpectedCredits(137)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(4), ExpectedCredits(182)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(5), ExpectedCredits(228)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(6), ExpectedCredits(273)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(7), ExpectedCredits(319)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(8), ExpectedCredits(364)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(9), ExpectedCredits(364)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(10), ExpectedCredits(364)), + (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(46)), + (Some(CommonResolution::FourK), Seconds(5), Batch(2), ExpectedCredits(91)), + (Some(CommonResolution::FourK), Seconds(5), Batch(3), ExpectedCredits(137)), + (Some(CommonResolution::FourK), Seconds(5), Batch(4), ExpectedCredits(182)), + (Some(CommonResolution::FourK), Seconds(5), Batch(5), ExpectedCredits(228)), + (Some(CommonResolution::FourK), Seconds(5), Batch(6), ExpectedCredits(273)), + (Some(CommonResolution::FourK), Seconds(5), Batch(7), ExpectedCredits(319)), + (Some(CommonResolution::FourK), Seconds(5), Batch(8), ExpectedCredits(364)), + (Some(CommonResolution::FourK), Seconds(5), Batch(9), ExpectedCredits(364)), + (Some(CommonResolution::FourK), Seconds(5), Batch(10), ExpectedCredits(364)), ]; for (resolution, seconds, batch, expected) in cases { @@ -856,30 +856,30 @@ mod seedance_2p0_bpu_mini { let harness = TestHarness::create().await; let cases: &[(Option, Seconds, Batch, ExpectedCredits)] = &[ - (Some(CommonResolution::FourEightyP), Seconds(6), Batch(2), ExpectedCredits(40)), - (Some(CommonResolution::FourEightyP), Seconds(7), Batch(3), ExpectedCredits(69)), - (Some(CommonResolution::FourEightyP), Seconds(9), Batch(4), ExpectedCredits(118)), - (Some(CommonResolution::FourEightyP), Seconds(11), Batch(5), ExpectedCredits(180)), - (Some(CommonResolution::FourEightyP), Seconds(13), Batch(8), ExpectedCredits(341)), - (Some(CommonResolution::FourEightyP), Seconds(15), Batch(10), ExpectedCredits(393)), - (Some(CommonResolution::SevenTwentyP), Seconds(6), Batch(2), ExpectedCredits(105)), - (Some(CommonResolution::SevenTwentyP), Seconds(7), Batch(3), ExpectedCredits(184)), - (Some(CommonResolution::SevenTwentyP), Seconds(9), Batch(4), ExpectedCredits(315)), - (Some(CommonResolution::SevenTwentyP), Seconds(11), Batch(5), ExpectedCredits(480)), - (Some(CommonResolution::SevenTwentyP), Seconds(13), Batch(8), ExpectedCredits(908)), - (Some(CommonResolution::SevenTwentyP), Seconds(15), Batch(10), ExpectedCredits(1047)), - (Some(CommonResolution::TenEightyP), Seconds(6), Batch(2), ExpectedCredits(105)), - (Some(CommonResolution::TenEightyP), Seconds(7), Batch(3), ExpectedCredits(184)), - (Some(CommonResolution::TenEightyP), Seconds(9), Batch(4), ExpectedCredits(315)), - (Some(CommonResolution::TenEightyP), Seconds(11), Batch(5), ExpectedCredits(480)), - (Some(CommonResolution::TenEightyP), Seconds(13), Batch(8), ExpectedCredits(908)), - (Some(CommonResolution::TenEightyP), Seconds(15), Batch(10), ExpectedCredits(1047)), - (Some(CommonResolution::FourK), Seconds(6), Batch(2), ExpectedCredits(105)), - (Some(CommonResolution::FourK), Seconds(7), Batch(3), ExpectedCredits(184)), - (Some(CommonResolution::FourK), Seconds(9), Batch(4), ExpectedCredits(315)), - (Some(CommonResolution::FourK), Seconds(11), Batch(5), ExpectedCredits(480)), - (Some(CommonResolution::FourK), Seconds(13), Batch(8), ExpectedCredits(908)), - (Some(CommonResolution::FourK), Seconds(15), Batch(10), ExpectedCredits(1047)), + (Some(CommonResolution::FourEightyP), Seconds(6), Batch(2), ExpectedCredits(43)), + (Some(CommonResolution::FourEightyP), Seconds(7), Batch(3), ExpectedCredits(75)), + (Some(CommonResolution::FourEightyP), Seconds(9), Batch(4), ExpectedCredits(128)), + (Some(CommonResolution::FourEightyP), Seconds(11), Batch(5), ExpectedCredits(196)), + (Some(CommonResolution::FourEightyP), Seconds(13), Batch(8), ExpectedCredits(370)), + (Some(CommonResolution::FourEightyP), Seconds(15), Batch(10), ExpectedCredits(426)), + (Some(CommonResolution::SevenTwentyP), Seconds(6), Batch(2), ExpectedCredits(110)), + (Some(CommonResolution::SevenTwentyP), Seconds(7), Batch(3), ExpectedCredits(192)), + (Some(CommonResolution::SevenTwentyP), Seconds(9), Batch(4), ExpectedCredits(328)), + (Some(CommonResolution::SevenTwentyP), Seconds(11), Batch(5), ExpectedCredits(501)), + (Some(CommonResolution::SevenTwentyP), Seconds(13), Batch(8), ExpectedCredits(947)), + (Some(CommonResolution::SevenTwentyP), Seconds(15), Batch(10), ExpectedCredits(1092)), + (Some(CommonResolution::TenEightyP), Seconds(6), Batch(2), ExpectedCredits(110)), + (Some(CommonResolution::TenEightyP), Seconds(7), Batch(3), ExpectedCredits(192)), + (Some(CommonResolution::TenEightyP), Seconds(9), Batch(4), ExpectedCredits(328)), + (Some(CommonResolution::TenEightyP), Seconds(11), Batch(5), ExpectedCredits(501)), + (Some(CommonResolution::TenEightyP), Seconds(13), Batch(8), ExpectedCredits(947)), + (Some(CommonResolution::TenEightyP), Seconds(15), Batch(10), ExpectedCredits(1092)), + (Some(CommonResolution::FourK), Seconds(6), Batch(2), ExpectedCredits(110)), + (Some(CommonResolution::FourK), Seconds(7), Batch(3), ExpectedCredits(192)), + (Some(CommonResolution::FourK), Seconds(9), Batch(4), ExpectedCredits(328)), + (Some(CommonResolution::FourK), Seconds(11), Batch(5), ExpectedCredits(501)), + (Some(CommonResolution::FourK), Seconds(13), Batch(8), ExpectedCredits(947)), + (Some(CommonResolution::FourK), Seconds(15), Batch(10), ExpectedCredits(1092)), ]; for (resolution, seconds, batch, expected) in cases { @@ -897,54 +897,54 @@ mod seedance_2p0_bpu_mini { let harness = TestHarness::create().await; let cases: &[(Option, Seconds, Batch, ExpectedCredits)] = &[ - (Some(CommonResolution::FourEightyP), Seconds(4), Batch(1), ExpectedCredits(17)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(1), ExpectedCredits(21)), - (Some(CommonResolution::FourEightyP), Seconds(6), Batch(1), ExpectedCredits(25)), - (Some(CommonResolution::FourEightyP), Seconds(7), Batch(1), ExpectedCredits(30)), - (Some(CommonResolution::FourEightyP), Seconds(8), Batch(1), ExpectedCredits(34)), - (Some(CommonResolution::FourEightyP), Seconds(9), Batch(1), ExpectedCredits(38)), - (Some(CommonResolution::FourEightyP), Seconds(10), Batch(1), ExpectedCredits(42)), - (Some(CommonResolution::FourEightyP), Seconds(11), Batch(1), ExpectedCredits(46)), - (Some(CommonResolution::FourEightyP), Seconds(12), Batch(1), ExpectedCredits(50)), - (Some(CommonResolution::FourEightyP), Seconds(13), Batch(1), ExpectedCredits(54)), - (Some(CommonResolution::FourEightyP), Seconds(14), Batch(1), ExpectedCredits(59)), - (Some(CommonResolution::FourEightyP), Seconds(15), Batch(1), ExpectedCredits(63)), - (Some(CommonResolution::SevenTwentyP), Seconds(4), Batch(1), ExpectedCredits(42)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(1), ExpectedCredits(53)), - (Some(CommonResolution::SevenTwentyP), Seconds(6), Batch(1), ExpectedCredits(63)), - (Some(CommonResolution::SevenTwentyP), Seconds(7), Batch(1), ExpectedCredits(74)), - (Some(CommonResolution::SevenTwentyP), Seconds(8), Batch(1), ExpectedCredits(84)), - (Some(CommonResolution::SevenTwentyP), Seconds(9), Batch(1), ExpectedCredits(95)), - (Some(CommonResolution::SevenTwentyP), Seconds(10), Batch(1), ExpectedCredits(105)), - (Some(CommonResolution::SevenTwentyP), Seconds(11), Batch(1), ExpectedCredits(116)), - (Some(CommonResolution::SevenTwentyP), Seconds(12), Batch(1), ExpectedCredits(126)), - (Some(CommonResolution::SevenTwentyP), Seconds(13), Batch(1), ExpectedCredits(137)), - (Some(CommonResolution::SevenTwentyP), Seconds(14), Batch(1), ExpectedCredits(147)), - (Some(CommonResolution::SevenTwentyP), Seconds(15), Batch(1), ExpectedCredits(158)), - (Some(CommonResolution::TenEightyP), Seconds(4), Batch(1), ExpectedCredits(42)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(1), ExpectedCredits(53)), - (Some(CommonResolution::TenEightyP), Seconds(6), Batch(1), ExpectedCredits(63)), - (Some(CommonResolution::TenEightyP), Seconds(7), Batch(1), ExpectedCredits(74)), - (Some(CommonResolution::TenEightyP), Seconds(8), Batch(1), ExpectedCredits(84)), - (Some(CommonResolution::TenEightyP), Seconds(9), Batch(1), ExpectedCredits(95)), - (Some(CommonResolution::TenEightyP), Seconds(10), Batch(1), ExpectedCredits(105)), - (Some(CommonResolution::TenEightyP), Seconds(11), Batch(1), ExpectedCredits(116)), - (Some(CommonResolution::TenEightyP), Seconds(12), Batch(1), ExpectedCredits(126)), - (Some(CommonResolution::TenEightyP), Seconds(13), Batch(1), ExpectedCredits(137)), - (Some(CommonResolution::TenEightyP), Seconds(14), Batch(1), ExpectedCredits(147)), - (Some(CommonResolution::TenEightyP), Seconds(15), Batch(1), ExpectedCredits(158)), - (Some(CommonResolution::FourK), Seconds(4), Batch(1), ExpectedCredits(42)), - (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(53)), - (Some(CommonResolution::FourK), Seconds(6), Batch(1), ExpectedCredits(63)), - (Some(CommonResolution::FourK), Seconds(7), Batch(1), ExpectedCredits(74)), - (Some(CommonResolution::FourK), Seconds(8), Batch(1), ExpectedCredits(84)), - (Some(CommonResolution::FourK), Seconds(9), Batch(1), ExpectedCredits(95)), - (Some(CommonResolution::FourK), Seconds(10), Batch(1), ExpectedCredits(105)), - (Some(CommonResolution::FourK), Seconds(11), Batch(1), ExpectedCredits(116)), - (Some(CommonResolution::FourK), Seconds(12), Batch(1), ExpectedCredits(126)), - (Some(CommonResolution::FourK), Seconds(13), Batch(1), ExpectedCredits(137)), - (Some(CommonResolution::FourK), Seconds(14), Batch(1), ExpectedCredits(147)), - (Some(CommonResolution::FourK), Seconds(15), Batch(1), ExpectedCredits(158)), + (Some(CommonResolution::FourEightyP), Seconds(4), Batch(1), ExpectedCredits(18)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(1), ExpectedCredits(23)), + (Some(CommonResolution::FourEightyP), Seconds(6), Batch(1), ExpectedCredits(27)), + (Some(CommonResolution::FourEightyP), Seconds(7), Batch(1), ExpectedCredits(32)), + (Some(CommonResolution::FourEightyP), Seconds(8), Batch(1), ExpectedCredits(36)), + (Some(CommonResolution::FourEightyP), Seconds(9), Batch(1), ExpectedCredits(41)), + (Some(CommonResolution::FourEightyP), Seconds(10), Batch(1), ExpectedCredits(45)), + (Some(CommonResolution::FourEightyP), Seconds(11), Batch(1), ExpectedCredits(50)), + (Some(CommonResolution::FourEightyP), Seconds(12), Batch(1), ExpectedCredits(54)), + (Some(CommonResolution::FourEightyP), Seconds(13), Batch(1), ExpectedCredits(59)), + (Some(CommonResolution::FourEightyP), Seconds(14), Batch(1), ExpectedCredits(63)), + (Some(CommonResolution::FourEightyP), Seconds(15), Batch(1), ExpectedCredits(68)), + (Some(CommonResolution::SevenTwentyP), Seconds(4), Batch(1), ExpectedCredits(44)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(1), ExpectedCredits(55)), + (Some(CommonResolution::SevenTwentyP), Seconds(6), Batch(1), ExpectedCredits(66)), + (Some(CommonResolution::SevenTwentyP), Seconds(7), Batch(1), ExpectedCredits(77)), + (Some(CommonResolution::SevenTwentyP), Seconds(8), Batch(1), ExpectedCredits(88)), + (Some(CommonResolution::SevenTwentyP), Seconds(9), Batch(1), ExpectedCredits(99)), + (Some(CommonResolution::SevenTwentyP), Seconds(10), Batch(1), ExpectedCredits(110)), + (Some(CommonResolution::SevenTwentyP), Seconds(11), Batch(1), ExpectedCredits(121)), + (Some(CommonResolution::SevenTwentyP), Seconds(12), Batch(1), ExpectedCredits(132)), + (Some(CommonResolution::SevenTwentyP), Seconds(13), Batch(1), ExpectedCredits(143)), + (Some(CommonResolution::SevenTwentyP), Seconds(14), Batch(1), ExpectedCredits(154)), + (Some(CommonResolution::SevenTwentyP), Seconds(15), Batch(1), ExpectedCredits(165)), + (Some(CommonResolution::TenEightyP), Seconds(4), Batch(1), ExpectedCredits(44)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(1), ExpectedCredits(55)), + (Some(CommonResolution::TenEightyP), Seconds(6), Batch(1), ExpectedCredits(66)), + (Some(CommonResolution::TenEightyP), Seconds(7), Batch(1), ExpectedCredits(77)), + (Some(CommonResolution::TenEightyP), Seconds(8), Batch(1), ExpectedCredits(88)), + (Some(CommonResolution::TenEightyP), Seconds(9), Batch(1), ExpectedCredits(99)), + (Some(CommonResolution::TenEightyP), Seconds(10), Batch(1), ExpectedCredits(110)), + (Some(CommonResolution::TenEightyP), Seconds(11), Batch(1), ExpectedCredits(121)), + (Some(CommonResolution::TenEightyP), Seconds(12), Batch(1), ExpectedCredits(132)), + (Some(CommonResolution::TenEightyP), Seconds(13), Batch(1), ExpectedCredits(143)), + (Some(CommonResolution::TenEightyP), Seconds(14), Batch(1), ExpectedCredits(154)), + (Some(CommonResolution::TenEightyP), Seconds(15), Batch(1), ExpectedCredits(165)), + (Some(CommonResolution::FourK), Seconds(4), Batch(1), ExpectedCredits(44)), + (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(55)), + (Some(CommonResolution::FourK), Seconds(6), Batch(1), ExpectedCredits(66)), + (Some(CommonResolution::FourK), Seconds(7), Batch(1), ExpectedCredits(77)), + (Some(CommonResolution::FourK), Seconds(8), Batch(1), ExpectedCredits(88)), + (Some(CommonResolution::FourK), Seconds(9), Batch(1), ExpectedCredits(99)), + (Some(CommonResolution::FourK), Seconds(10), Batch(1), ExpectedCredits(110)), + (Some(CommonResolution::FourK), Seconds(11), Batch(1), ExpectedCredits(121)), + (Some(CommonResolution::FourK), Seconds(12), Batch(1), ExpectedCredits(132)), + (Some(CommonResolution::FourK), Seconds(13), Batch(1), ExpectedCredits(143)), + (Some(CommonResolution::FourK), Seconds(14), Batch(1), ExpectedCredits(154)), + (Some(CommonResolution::FourK), Seconds(15), Batch(1), ExpectedCredits(165)), ]; for (resolution, seconds, batch, expected) in cases { @@ -963,46 +963,46 @@ mod seedance_2p0_bpu_mini { let harness = TestHarness::create().await; let cases: &[(Option, Seconds, Batch, ExpectedCredits)] = &[ - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(1), ExpectedCredits(21)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(2), ExpectedCredits(42)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(3), ExpectedCredits(63)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(4), ExpectedCredits(83)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(5), ExpectedCredits(104)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(6), ExpectedCredits(125)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(7), ExpectedCredits(146)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(8), ExpectedCredits(166)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(9), ExpectedCredits(166)), - (Some(CommonResolution::FourEightyP), Seconds(5), Batch(10), ExpectedCredits(166)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(1), ExpectedCredits(53)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(2), ExpectedCredits(105)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(3), ExpectedCredits(158)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(4), ExpectedCredits(210)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(5), ExpectedCredits(262)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(6), ExpectedCredits(315)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(7), ExpectedCredits(367)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(8), ExpectedCredits(419)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(9), ExpectedCredits(419)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(10), ExpectedCredits(419)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(1), ExpectedCredits(53)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(2), ExpectedCredits(105)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(3), ExpectedCredits(158)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(4), ExpectedCredits(210)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(5), ExpectedCredits(262)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(6), ExpectedCredits(315)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(7), ExpectedCredits(367)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(8), ExpectedCredits(419)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(9), ExpectedCredits(419)), - (Some(CommonResolution::TenEightyP), Seconds(5), Batch(10), ExpectedCredits(419)), - (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(53)), - (Some(CommonResolution::FourK), Seconds(5), Batch(2), ExpectedCredits(105)), - (Some(CommonResolution::FourK), Seconds(5), Batch(3), ExpectedCredits(158)), - (Some(CommonResolution::FourK), Seconds(5), Batch(4), ExpectedCredits(210)), - (Some(CommonResolution::FourK), Seconds(5), Batch(5), ExpectedCredits(262)), - (Some(CommonResolution::FourK), Seconds(5), Batch(6), ExpectedCredits(315)), - (Some(CommonResolution::FourK), Seconds(5), Batch(7), ExpectedCredits(367)), - (Some(CommonResolution::FourK), Seconds(5), Batch(8), ExpectedCredits(419)), - (Some(CommonResolution::FourK), Seconds(5), Batch(9), ExpectedCredits(419)), - (Some(CommonResolution::FourK), Seconds(5), Batch(10), ExpectedCredits(419)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(1), ExpectedCredits(23)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(2), ExpectedCredits(45)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(3), ExpectedCredits(68)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(4), ExpectedCredits(90)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(5), ExpectedCredits(113)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(6), ExpectedCredits(135)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(7), ExpectedCredits(158)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(8), ExpectedCredits(180)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(9), ExpectedCredits(180)), + (Some(CommonResolution::FourEightyP), Seconds(5), Batch(10), ExpectedCredits(180)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(1), ExpectedCredits(55)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(2), ExpectedCredits(110)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(3), ExpectedCredits(165)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(4), ExpectedCredits(219)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(5), ExpectedCredits(274)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(6), ExpectedCredits(329)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(7), ExpectedCredits(384)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(8), ExpectedCredits(438)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(9), ExpectedCredits(438)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(10), ExpectedCredits(438)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(1), ExpectedCredits(55)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(2), ExpectedCredits(110)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(3), ExpectedCredits(165)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(4), ExpectedCredits(219)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(5), ExpectedCredits(274)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(6), ExpectedCredits(329)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(7), ExpectedCredits(384)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(8), ExpectedCredits(438)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(9), ExpectedCredits(438)), + (Some(CommonResolution::TenEightyP), Seconds(5), Batch(10), ExpectedCredits(438)), + (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(55)), + (Some(CommonResolution::FourK), Seconds(5), Batch(2), ExpectedCredits(110)), + (Some(CommonResolution::FourK), Seconds(5), Batch(3), ExpectedCredits(165)), + (Some(CommonResolution::FourK), Seconds(5), Batch(4), ExpectedCredits(219)), + (Some(CommonResolution::FourK), Seconds(5), Batch(5), ExpectedCredits(274)), + (Some(CommonResolution::FourK), Seconds(5), Batch(6), ExpectedCredits(329)), + (Some(CommonResolution::FourK), Seconds(5), Batch(7), ExpectedCredits(384)), + (Some(CommonResolution::FourK), Seconds(5), Batch(8), ExpectedCredits(438)), + (Some(CommonResolution::FourK), Seconds(5), Batch(9), ExpectedCredits(438)), + (Some(CommonResolution::FourK), Seconds(5), Batch(10), ExpectedCredits(438)), ]; for (resolution, seconds, batch, expected) in cases { @@ -1036,30 +1036,30 @@ mod seedance_2p0_bpu_mini { let harness = TestHarness::create().await; let cases: &[(Option, Seconds, Batch, ExpectedCredits)] = &[ - (Some(CommonResolution::FourEightyP), Seconds(6), Batch(2), ExpectedCredits(50)), - (Some(CommonResolution::FourEightyP), Seconds(7), Batch(3), ExpectedCredits(88)), - (Some(CommonResolution::FourEightyP), Seconds(9), Batch(4), ExpectedCredits(150)), - (Some(CommonResolution::FourEightyP), Seconds(11), Batch(5), ExpectedCredits(228)), - (Some(CommonResolution::FourEightyP), Seconds(13), Batch(8), ExpectedCredits(431)), - (Some(CommonResolution::FourEightyP), Seconds(15), Batch(10), ExpectedCredits(498)), - (Some(CommonResolution::SevenTwentyP), Seconds(6), Batch(2), ExpectedCredits(126)), - (Some(CommonResolution::SevenTwentyP), Seconds(7), Batch(3), ExpectedCredits(220)), - (Some(CommonResolution::SevenTwentyP), Seconds(9), Batch(4), ExpectedCredits(377)), - (Some(CommonResolution::SevenTwentyP), Seconds(11), Batch(5), ExpectedCredits(576)), - (Some(CommonResolution::SevenTwentyP), Seconds(13), Batch(8), ExpectedCredits(1089)), - (Some(CommonResolution::SevenTwentyP), Seconds(15), Batch(10), ExpectedCredits(1257)), - (Some(CommonResolution::TenEightyP), Seconds(6), Batch(2), ExpectedCredits(126)), - (Some(CommonResolution::TenEightyP), Seconds(7), Batch(3), ExpectedCredits(220)), - (Some(CommonResolution::TenEightyP), Seconds(9), Batch(4), ExpectedCredits(377)), - (Some(CommonResolution::TenEightyP), Seconds(11), Batch(5), ExpectedCredits(576)), - (Some(CommonResolution::TenEightyP), Seconds(13), Batch(8), ExpectedCredits(1089)), - (Some(CommonResolution::TenEightyP), Seconds(15), Batch(10), ExpectedCredits(1257)), - (Some(CommonResolution::FourK), Seconds(6), Batch(2), ExpectedCredits(126)), - (Some(CommonResolution::FourK), Seconds(7), Batch(3), ExpectedCredits(220)), - (Some(CommonResolution::FourK), Seconds(9), Batch(4), ExpectedCredits(377)), - (Some(CommonResolution::FourK), Seconds(11), Batch(5), ExpectedCredits(576)), - (Some(CommonResolution::FourK), Seconds(13), Batch(8), ExpectedCredits(1089)), - (Some(CommonResolution::FourK), Seconds(15), Batch(10), ExpectedCredits(1257)), + (Some(CommonResolution::FourEightyP), Seconds(6), Batch(2), ExpectedCredits(54)), + (Some(CommonResolution::FourEightyP), Seconds(7), Batch(3), ExpectedCredits(95)), + (Some(CommonResolution::FourEightyP), Seconds(9), Batch(4), ExpectedCredits(162)), + (Some(CommonResolution::FourEightyP), Seconds(11), Batch(5), ExpectedCredits(248)), + (Some(CommonResolution::FourEightyP), Seconds(13), Batch(8), ExpectedCredits(468)), + (Some(CommonResolution::FourEightyP), Seconds(15), Batch(10), ExpectedCredits(540)), + (Some(CommonResolution::SevenTwentyP), Seconds(6), Batch(2), ExpectedCredits(132)), + (Some(CommonResolution::SevenTwentyP), Seconds(7), Batch(3), ExpectedCredits(230)), + (Some(CommonResolution::SevenTwentyP), Seconds(9), Batch(4), ExpectedCredits(395)), + (Some(CommonResolution::SevenTwentyP), Seconds(11), Batch(5), ExpectedCredits(603)), + (Some(CommonResolution::SevenTwentyP), Seconds(13), Batch(8), ExpectedCredits(1139)), + (Some(CommonResolution::SevenTwentyP), Seconds(15), Batch(10), ExpectedCredits(1314)), + (Some(CommonResolution::TenEightyP), Seconds(6), Batch(2), ExpectedCredits(132)), + (Some(CommonResolution::TenEightyP), Seconds(7), Batch(3), ExpectedCredits(230)), + (Some(CommonResolution::TenEightyP), Seconds(9), Batch(4), ExpectedCredits(395)), + (Some(CommonResolution::TenEightyP), Seconds(11), Batch(5), ExpectedCredits(603)), + (Some(CommonResolution::TenEightyP), Seconds(13), Batch(8), ExpectedCredits(1139)), + (Some(CommonResolution::TenEightyP), Seconds(15), Batch(10), ExpectedCredits(1314)), + (Some(CommonResolution::FourK), Seconds(6), Batch(2), ExpectedCredits(132)), + (Some(CommonResolution::FourK), Seconds(7), Batch(3), ExpectedCredits(230)), + (Some(CommonResolution::FourK), Seconds(9), Batch(4), ExpectedCredits(395)), + (Some(CommonResolution::FourK), Seconds(11), Batch(5), ExpectedCredits(603)), + (Some(CommonResolution::FourK), Seconds(13), Batch(8), ExpectedCredits(1139)), + (Some(CommonResolution::FourK), Seconds(15), Batch(10), ExpectedCredits(1314)), ]; for (resolution, seconds, batch, expected) in cases { @@ -1085,11 +1085,11 @@ mod premium { let cases: &[(Option, Seconds, Batch, ExpectedCredits, ExpectedCredits, CreditsDelta)] = &[ // Ceil-rounding parity: the premium vanishes at 5s. - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(1), ExpectedCredits(44), ExpectedCredits(44), CreditsDelta(0)), - (Some(CommonResolution::SevenTwentyP), Seconds(10), Batch(1), ExpectedCredits(87), ExpectedCredits(88), CreditsDelta(1)), - (Some(CommonResolution::SevenTwentyP), Seconds(15), Batch(1), ExpectedCredits(130), ExpectedCredits(131), CreditsDelta(1)), - (Some(CommonResolution::FourEightyP), Seconds(15), Batch(1), ExpectedCredits(49), ExpectedCredits(50), CreditsDelta(1)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(8), ExpectedCredits(346), ExpectedCredits(349), CreditsDelta(3)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(1), ExpectedCredits(45), ExpectedCredits(46), CreditsDelta(1)), + (Some(CommonResolution::SevenTwentyP), Seconds(10), Batch(1), ExpectedCredits(89), ExpectedCredits(91), CreditsDelta(2)), + (Some(CommonResolution::SevenTwentyP), Seconds(15), Batch(1), ExpectedCredits(134), ExpectedCredits(137), CreditsDelta(3)), + (Some(CommonResolution::FourEightyP), Seconds(15), Batch(1), ExpectedCredits(52), ExpectedCredits(54), CreditsDelta(2)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(8), ExpectedCredits(356), ExpectedCredits(364), CreditsDelta(8)), ]; for (resolution, seconds, batch, base, variant, delta) in cases { @@ -1109,11 +1109,11 @@ mod premium { let cases: &[(Option, Seconds, Batch, ExpectedCredits, ExpectedCredits, CreditsDelta)] = &[ // Ceil-rounding parity: the premium vanishes at 5s. - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(1), ExpectedCredits(44), ExpectedCredits(44), CreditsDelta(0)), - (Some(CommonResolution::SevenTwentyP), Seconds(10), Batch(1), ExpectedCredits(87), ExpectedCredits(88), CreditsDelta(1)), - (Some(CommonResolution::SevenTwentyP), Seconds(15), Batch(1), ExpectedCredits(130), ExpectedCredits(131), CreditsDelta(1)), - (Some(CommonResolution::FourEightyP), Seconds(15), Batch(1), ExpectedCredits(49), ExpectedCredits(50), CreditsDelta(1)), - (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(8), ExpectedCredits(346), ExpectedCredits(349), CreditsDelta(3)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(1), ExpectedCredits(45), ExpectedCredits(46), CreditsDelta(1)), + (Some(CommonResolution::SevenTwentyP), Seconds(10), Batch(1), ExpectedCredits(89), ExpectedCredits(91), CreditsDelta(2)), + (Some(CommonResolution::SevenTwentyP), Seconds(15), Batch(1), ExpectedCredits(134), ExpectedCredits(137), CreditsDelta(3)), + (Some(CommonResolution::FourEightyP), Seconds(15), Batch(1), ExpectedCredits(52), ExpectedCredits(54), CreditsDelta(2)), + (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(8), ExpectedCredits(356), ExpectedCredits(364), CreditsDelta(8)), ]; for (resolution, seconds, batch, base, variant, delta) in cases { diff --git a/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/tests/seedance_2p0/seedance_2p0_tests.rs b/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/tests/seedance_2p0/seedance_2p0_tests.rs index 652a4e7678..3b87f7f040 100644 --- a/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/tests/seedance_2p0/seedance_2p0_tests.rs +++ b/crates/service/web/storyteller_web/src/http_server/endpoints/omni_gen/generate/video/tests/seedance_2p0/seedance_2p0_tests.rs @@ -70,18 +70,18 @@ mod seedance_2p0 { (Some(CommonResolution::TenEightyP), Seconds(13), Batch(1), ExpectedCredits(606)), (Some(CommonResolution::TenEightyP), Seconds(14), Batch(1), ExpectedCredits(653)), (Some(CommonResolution::TenEightyP), Seconds(15), Batch(1), ExpectedCredits(699)), - (Some(CommonResolution::FourK), Seconds(4), Batch(1), ExpectedCredits(347)), - (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(433)), - (Some(CommonResolution::FourK), Seconds(6), Batch(1), ExpectedCredits(520)), - (Some(CommonResolution::FourK), Seconds(7), Batch(1), ExpectedCredits(607)), - (Some(CommonResolution::FourK), Seconds(8), Batch(1), ExpectedCredits(693)), - (Some(CommonResolution::FourK), Seconds(9), Batch(1), ExpectedCredits(780)), - (Some(CommonResolution::FourK), Seconds(10), Batch(1), ExpectedCredits(866)), - (Some(CommonResolution::FourK), Seconds(11), Batch(1), ExpectedCredits(953)), - (Some(CommonResolution::FourK), Seconds(12), Batch(1), ExpectedCredits(1040)), - (Some(CommonResolution::FourK), Seconds(13), Batch(1), ExpectedCredits(1126)), - (Some(CommonResolution::FourK), Seconds(14), Batch(1), ExpectedCredits(1213)), - (Some(CommonResolution::FourK), Seconds(15), Batch(1), ExpectedCredits(1299)), + (Some(CommonResolution::FourK), Seconds(4), Batch(1), ExpectedCredits(358)), + (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(447)), + (Some(CommonResolution::FourK), Seconds(6), Batch(1), ExpectedCredits(536)), + (Some(CommonResolution::FourK), Seconds(7), Batch(1), ExpectedCredits(626)), + (Some(CommonResolution::FourK), Seconds(8), Batch(1), ExpectedCredits(715)), + (Some(CommonResolution::FourK), Seconds(9), Batch(1), ExpectedCredits(804)), + (Some(CommonResolution::FourK), Seconds(10), Batch(1), ExpectedCredits(893)), + (Some(CommonResolution::FourK), Seconds(11), Batch(1), ExpectedCredits(983)), + (Some(CommonResolution::FourK), Seconds(12), Batch(1), ExpectedCredits(1072)), + (Some(CommonResolution::FourK), Seconds(13), Batch(1), ExpectedCredits(1161)), + (Some(CommonResolution::FourK), Seconds(14), Batch(1), ExpectedCredits(1251)), + (Some(CommonResolution::FourK), Seconds(15), Batch(1), ExpectedCredits(1340)), ]; for (resolution, seconds, batch, expected) in cases { @@ -129,16 +129,16 @@ mod seedance_2p0 { (Some(CommonResolution::TenEightyP), Seconds(5), Batch(8), ExpectedCredits(933)), (Some(CommonResolution::TenEightyP), Seconds(5), Batch(9), ExpectedCredits(933)), (Some(CommonResolution::TenEightyP), Seconds(5), Batch(10), ExpectedCredits(933)), - (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(433)), - (Some(CommonResolution::FourK), Seconds(5), Batch(2), ExpectedCredits(866)), - (Some(CommonResolution::FourK), Seconds(5), Batch(3), ExpectedCredits(1299)), - (Some(CommonResolution::FourK), Seconds(5), Batch(4), ExpectedCredits(1732)), - (Some(CommonResolution::FourK), Seconds(5), Batch(5), ExpectedCredits(1732)), - (Some(CommonResolution::FourK), Seconds(5), Batch(6), ExpectedCredits(1732)), - (Some(CommonResolution::FourK), Seconds(5), Batch(7), ExpectedCredits(1732)), - (Some(CommonResolution::FourK), Seconds(5), Batch(8), ExpectedCredits(1732)), - (Some(CommonResolution::FourK), Seconds(5), Batch(9), ExpectedCredits(1732)), - (Some(CommonResolution::FourK), Seconds(5), Batch(10), ExpectedCredits(1732)), + (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(447)), + (Some(CommonResolution::FourK), Seconds(5), Batch(2), ExpectedCredits(893)), + (Some(CommonResolution::FourK), Seconds(5), Batch(3), ExpectedCredits(1340)), + (Some(CommonResolution::FourK), Seconds(5), Batch(4), ExpectedCredits(1786)), + (Some(CommonResolution::FourK), Seconds(5), Batch(5), ExpectedCredits(1786)), + (Some(CommonResolution::FourK), Seconds(5), Batch(6), ExpectedCredits(1786)), + (Some(CommonResolution::FourK), Seconds(5), Batch(7), ExpectedCredits(1786)), + (Some(CommonResolution::FourK), Seconds(5), Batch(8), ExpectedCredits(1786)), + (Some(CommonResolution::FourK), Seconds(5), Batch(9), ExpectedCredits(1786)), + (Some(CommonResolution::FourK), Seconds(5), Batch(10), ExpectedCredits(1786)), ]; for (resolution, seconds, batch, expected) in cases { @@ -173,12 +173,12 @@ mod seedance_2p0 { (Some(CommonResolution::TenEightyP), Seconds(11), Batch(5), ExpectedCredits(2052)), (Some(CommonResolution::TenEightyP), Seconds(13), Batch(8), ExpectedCredits(2425)), (Some(CommonResolution::TenEightyP), Seconds(15), Batch(10), ExpectedCredits(2798)), - (Some(CommonResolution::FourK), Seconds(6), Batch(2), ExpectedCredits(1040)), - (Some(CommonResolution::FourK), Seconds(7), Batch(3), ExpectedCredits(1819)), - (Some(CommonResolution::FourK), Seconds(9), Batch(4), ExpectedCredits(3118)), - (Some(CommonResolution::FourK), Seconds(11), Batch(5), ExpectedCredits(3811)), - (Some(CommonResolution::FourK), Seconds(13), Batch(8), ExpectedCredits(4504)), - (Some(CommonResolution::FourK), Seconds(15), Batch(10), ExpectedCredits(5196)), + (Some(CommonResolution::FourK), Seconds(6), Batch(2), ExpectedCredits(1072)), + (Some(CommonResolution::FourK), Seconds(7), Batch(3), ExpectedCredits(1876)), + (Some(CommonResolution::FourK), Seconds(9), Batch(4), ExpectedCredits(3215)), + (Some(CommonResolution::FourK), Seconds(11), Batch(5), ExpectedCredits(3930)), + (Some(CommonResolution::FourK), Seconds(13), Batch(8), ExpectedCredits(4644)), + (Some(CommonResolution::FourK), Seconds(15), Batch(10), ExpectedCredits(5358)), ]; for (resolution, seconds, batch, expected) in cases { @@ -1147,10 +1147,10 @@ mod premium { // Batch 8 is accepted but downgrades to the platform max of 4 on both // execution and billing, so it prices identically to batch 4. (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(8), ExpectedCredits(320), ExpectedCredits(500), CreditsDelta(180)), - // 4K premium: the base tier prices at 86.6 cents/s while the BytePlus + // 4K premium: the base tier prices at 89.3 cents/s while the BytePlus // tiers price at 95.0 cents/s. - (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(433), ExpectedCredits(475), CreditsDelta(42)), - (Some(CommonResolution::FourK), Seconds(15), Batch(4), ExpectedCredits(5196), ExpectedCredits(5700), CreditsDelta(504)), + (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(447), ExpectedCredits(475), CreditsDelta(28)), + (Some(CommonResolution::FourK), Seconds(15), Batch(4), ExpectedCredits(5358), ExpectedCredits(5700), CreditsDelta(342)), ]; for (resolution, seconds, batch, base, variant, delta) in cases { @@ -1178,10 +1178,10 @@ mod premium { // Batch 8 is accepted but downgrades to the platform max of 4 on both // execution and billing, so it prices identically to batch 4. (Some(CommonResolution::SevenTwentyP), Seconds(5), Batch(8), ExpectedCredits(320), ExpectedCredits(500), CreditsDelta(180)), - // 4K premium: the base tier prices at 86.6 cents/s while the BytePlus + // 4K premium: the base tier prices at 89.3 cents/s while the BytePlus // tiers price at 95.0 cents/s. - (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(433), ExpectedCredits(475), CreditsDelta(42)), - (Some(CommonResolution::FourK), Seconds(15), Batch(4), ExpectedCredits(5196), ExpectedCredits(5700), CreditsDelta(504)), + (Some(CommonResolution::FourK), Seconds(5), Batch(1), ExpectedCredits(447), ExpectedCredits(475), CreditsDelta(28)), + (Some(CommonResolution::FourK), Seconds(15), Batch(4), ExpectedCredits(5358), ExpectedCredits(5700), CreditsDelta(342)), ]; for (resolution, seconds, batch, base, variant, delta) in cases {