From 1024e4029f976b7399a59b189bbda63324d2788e Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Sat, 28 Mar 2026 00:44:05 -0400 Subject: [PATCH] serde --- .../omni_gen/models/omni_gen_image_models.rs | 26 ++++++++ .../omni_gen/models/omni_gen_video_models.rs | 64 +++++++++++++++++-- 2 files changed, 83 insertions(+), 7 deletions(-) diff --git a/crates/api_clients/artcraft/artcraft_api_defs/src/omni_gen/models/omni_gen_image_models.rs b/crates/api_clients/artcraft/artcraft_api_defs/src/omni_gen/models/omni_gen_image_models.rs index 245923cef8..bf1494575a 100644 --- a/crates/api_clients/artcraft/artcraft_api_defs/src/omni_gen/models/omni_gen_image_models.rs +++ b/crates/api_clients/artcraft/artcraft_api_defs/src/omni_gen/models/omni_gen_image_models.rs @@ -46,6 +46,7 @@ pub struct OmniGenImageProviderModels { pub struct OmniGenImageModelDetails { pub model: CommonImageModel, + #[serde(skip_serializing_if = "Option::is_none")] pub full_name: Option, // TODO: model_creator: ModelCreator, @@ -56,28 +57,53 @@ pub struct OmniGenImageModelDetails { // TODO: sub-features like inpainting masking, // TODO: angle edit models + #[serde(skip_serializing_if = "Option::is_none")] pub text_prompt_supported: Option, + + #[serde(skip_serializing_if = "Option::is_none")] pub text_prompt_max_length: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub negative_text_prompt_supported: Option, + + #[serde(skip_serializing_if = "Option::is_none")] pub negative_text_prompt_max_length: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub image_refs_supported: Option, + + #[serde(skip_serializing_if = "Option::is_none")] pub image_refs_max: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub has_fixed_editing_aspect_ratio: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub aspect_ratio_options: Option>, + + #[serde(skip_serializing_if = "Option::is_none")] pub aspect_ratio_default: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub resolution_options: Option>, + + #[serde(skip_serializing_if = "Option::is_none")] pub resolution_default: Option, pub quality_options: Option>, + + #[serde(skip_serializing_if = "Option::is_none")] pub default_quality: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub batch_size_min: Option, + + #[serde(skip_serializing_if = "Option::is_none")] pub batch_size_max: Option, + + #[serde(skip_serializing_if = "Option::is_none")] pub batch_size_options: Option>, + + #[serde(skip_serializing_if = "Option::is_none")] pub batch_size_default: Option, } diff --git a/crates/api_clients/artcraft/artcraft_api_defs/src/omni_gen/models/omni_gen_video_models.rs b/crates/api_clients/artcraft/artcraft_api_defs/src/omni_gen/models/omni_gen_video_models.rs index adcd7f2602..cac3cdf3e2 100644 --- a/crates/api_clients/artcraft/artcraft_api_defs/src/omni_gen/models/omni_gen_video_models.rs +++ b/crates/api_clients/artcraft/artcraft_api_defs/src/omni_gen/models/omni_gen_video_models.rs @@ -47,49 +47,99 @@ pub struct OmniGenVideoProviderModels { pub struct OmniGenVideoModelDetails { pub model: CommonVideoModel, + + #[serde(skip_serializing_if = "Option::is_none")] pub full_name: Option, + // TODO: model_creator: ModelCreator, + #[serde(skip_serializing_if = "Option::is_none")] pub text_prompt_supported: Option, - pub text_prompt_max_length: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub text_prompt_max_length: Option, + + #[serde(skip_serializing_if = "Option::is_none")] pub negative_text_prompt_supported: Option, + + #[serde(skip_serializing_if = "Option::is_none")] pub negative_text_prompt_max_length: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub starting_keyframe_supported: Option, + + #[serde(skip_serializing_if = "Option::is_none")] pub starting_keyframe_required: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub ending_keyframe_supported: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub image_references_supported: Option, + + #[serde(skip_serializing_if = "Option::is_none")] pub image_references_max: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub video_references_supported: Option, + + #[serde(skip_serializing_if = "Option::is_none")] pub video_references_max: Option, + + #[serde(skip_serializing_if = "Option::is_none")] pub video_reference_max_total_duration_seconds: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub audio_references_supported: Option, + + #[serde(skip_serializing_if = "Option::is_none")] pub audio_references_max: Option, + + #[serde(skip_serializing_if = "Option::is_none")] pub audio_reference_max_total_duration_seconds: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub show_generate_with_sound_toggle: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub aspect_ratio_options: Option>, + + #[serde(skip_serializing_if = "Option::is_none")] pub aspect_ratio_default: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub resolution_options: Option>, + + #[serde(skip_serializing_if = "Option::is_none")] pub resolution_default: Option, + #[serde(skip_serializing_if = "Option::is_none")] pub quality_options: Option>, - pub default_quality: Option, - - pub duration_seconds_min: Option, - pub duration_seconds_max: Option, - pub duration_seconds_options: Option>, - pub duration_seconds_default: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub default_quality: Option, + + #[serde(skip_serializing_if = "Option::is_none")] + pub duration_seconds_min: Option, + + #[serde(skip_serializing_if = "Option::is_none")] + pub duration_seconds_max: Option, + + #[serde(skip_serializing_if = "Option::is_none")] + pub duration_seconds_options: Option>, + + #[serde(skip_serializing_if = "Option::is_none")] + pub duration_seconds_default: Option, + + #[serde(skip_serializing_if = "Option::is_none")] pub batch_size_min: Option, + + #[serde(skip_serializing_if = "Option::is_none")] pub batch_size_max: Option, + + #[serde(skip_serializing_if = "Option::is_none")] pub batch_size_options: Option>, + + #[serde(skip_serializing_if = "Option::is_none")] pub batch_size_default: Option, }