This commit is contained in:
Brandon Thomas committed 2026-03-19 22:53:25 -04:00
1 parent a7742cf78b
commit d18c288fc8
42 files changed
+85 -127

No files matched your search

@@ -11,8 +11,7 @@ use actix_web::{web, HttpRequest};
use artcraft_api_defs::generate::image::angle::flux_2_lora_edit_image_angle::{Flux2LoraEditImageAngleImageSize, Flux2LoraEditImageAngleNumImages, Flux2LoraEditImageAngleRequest, Flux2LoraEditImageAngleResponse};
use enums::by_table::prompt_context_items::prompt_context_semantic_type::PromptContextSemanticType;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::requests::traits::fal_request_cost_calculator_trait::FalRequestCostCalculator;
@@ -170,7 +169,7 @@ pub async fn flux_2_lora_edit_image_angle_handler(
prompt_type: PromptType::ArtcraftApp,
maybe_creator_user_token: Some(&user_token),
maybe_model_type: Some(ModelType::Flux2LoraAngles),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: None,
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -11,8 +11,7 @@ use actix_web::{web, HttpRequest};
use artcraft_api_defs::generate::image::angle::qwen_edit_2511_edit_image_angle::{QwenEdit2511EditImageAngleImageSize, QwenEdit2511EditImageAngleNumImages, QwenEdit2511EditImageAngleRequest, QwenEdit2511EditImageAngleResponse};
use enums::by_table::prompt_context_items::prompt_context_semantic_type::PromptContextSemanticType;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::requests::traits::fal_request_cost_calculator_trait::FalRequestCostCalculator;
@@ -171,7 +170,7 @@ pub async fn qwen_edit_2511_edit_image_angle_handler(
prompt_type: PromptType::ArtcraftApp,
maybe_creator_user_token: Some(&user_token),
maybe_model_type: Some(ModelType::QwenEdit2511Angles),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.additional_prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -13,8 +13,7 @@ use artcraft_api_defs::generate::image::edit::flux_pro_kontext_max_edit_image::{
use bucket_paths::legacy::typified_paths::public::media_files::bucket_file_path::MediaFileBucketPath;
use enums::by_table::prompt_context_items::prompt_context_semantic_type::PromptContextSemanticType;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::creds::open_ai_api_key::OpenAiApiKey;
@@ -215,7 +214,7 @@ pub async fn flux_pro_kontext_max_edit_image_handler(
.as_ref()
.map(|s| &s.user_token),
maybe_model_type: Some(ModelType::FluxProKontextMax),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -12,8 +12,7 @@ use artcraft_api_defs::generate::image::edit::gemini_25_flash_edit_image::{Gemin
use bucket_paths::legacy::typified_paths::public::media_files::bucket_file_path::MediaFileBucketPath;
use enums::by_table::prompt_context_items::prompt_context_semantic_type::PromptContextSemanticType;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::payments_namespace::PaymentsNamespace;
use enums::common::stripe_subscription_status::StripeSubscriptionStatus;
@@ -232,7 +231,7 @@ pub async fn gemini_25_flash_edit_image_handler(
prompt_type: PromptType::ArtcraftApp,
maybe_creator_user_token: Some(&user_token),
maybe_model_type: Some(ModelType::Gemini25Flash),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -13,8 +13,7 @@ use artcraft_api_defs::generate::image::edit::gpt_image_1_edit_image::{GptImage1
use bucket_paths::legacy::typified_paths::public::media_files::bucket_file_path::MediaFileBucketPath;
use enums::by_table::prompt_context_items::prompt_context_semantic_type::PromptContextSemanticType;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::payments_namespace::PaymentsNamespace;
use enums::common::stripe_subscription_status::StripeSubscriptionStatus;
@@ -254,7 +253,7 @@ pub async fn gpt_image_1_edit_image_handler(
prompt_type: PromptType::ArtcraftApp,
maybe_creator_user_token: Some(&user_token),
maybe_model_type: Some(ModelType::GptImage1),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -13,8 +13,7 @@ use artcraft_api_defs::generate::image::edit::qwen_edit_image::{QwenEditImageAcc
use bucket_paths::legacy::typified_paths::public::media_files::bucket_file_path::MediaFileBucketPath;
use enums::by_table::prompt_context_items::prompt_context_semantic_type::PromptContextSemanticType;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::creds::open_ai_api_key::OpenAiApiKey;
@@ -206,7 +205,7 @@ pub async fn qwen_edit_image_handler(
prompt_type: PromptType::ArtcraftApp,
maybe_creator_user_token: Some(&user_token),
maybe_model_type: Some(ModelType::Qwen),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -12,8 +12,7 @@ use artcraft_api_defs::generate::image::edit::seededit_3_edit_image::{SeedEdit3E
use bucket_paths::legacy::typified_paths::public::media_files::bucket_file_path::MediaFileBucketPath;
use enums::by_table::prompt_context_items::prompt_context_semantic_type::PromptContextSemanticType;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::creds::open_ai_api_key::OpenAiApiKey;
@@ -176,7 +175,7 @@ pub async fn seededit_3_edit_image_handler(
.as_ref()
.map(|s| &s.user_token),
maybe_model_type: Some(ModelType::SeedEdit3),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -12,8 +12,7 @@ use artcraft_api_defs::generate::image::edit::flux_pro_kontext_max_edit_image::F
use artcraft_api_defs::generate::image::text::generate_flux_1_dev_text_to_image::{GenerateFlux1DevTextToImageAspectRatio, GenerateFlux1DevTextToImageNumImages, GenerateFlux1DevTextToImageRequest, GenerateFlux1DevTextToImageResponse};
use enums::by_table::generic_inference_jobs::frontend_failure_category::FrontendFailureCategory;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::requests::webhook::image::text::enqueue_flux_1_dev_text_to_image_webhook::enqueue_flux_1_dev_text_to_image_webhook;
@@ -195,7 +194,7 @@ pub async fn generate_flux_1_dev_text_to_image_handler(
.as_ref()
.map(|s| &s.user_token),
maybe_model_type: Some(ModelType::Flux1Dev),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -275,7 +274,7 @@ async fn insert_mock_failure_job(
prompt_type: PromptType::ArtcraftApp,
maybe_creator_user_token,
maybe_model_type: Some(ModelType::Flux1Dev),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: prompt,
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -9,8 +9,7 @@ use actix_web::web::Json;
use actix_web::{web, HttpRequest};
use artcraft_api_defs::generate::image::text::generate_flux_1_schnell_text_to_image::{GenerateFlux1SchnellTextToImageAspectRatio, GenerateFlux1SchnellTextToImageNumImages, GenerateFlux1SchnellTextToImageRequest, GenerateFlux1SchnellTextToImageResponse};
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::requests::webhook::image::text::enqueue_flux_1_schnell_text_to_image_webhook::enqueue_flux_1_schnell_text_to_image_webhook;
@@ -175,7 +174,7 @@ pub async fn generate_flux_1_schnell_text_to_image_handler(
.as_ref()
.map(|s| &s.user_token),
maybe_model_type: Some(ModelType::Flux1Schnell),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -12,8 +12,7 @@ use artcraft_api_defs::generate::image::text::generate_flux_1_schnell_text_to_im
use artcraft_api_defs::generate::image::text::generate_flux_pro_11_text_to_image::GenerateFluxPro11TextToImageResponse;
use artcraft_api_defs::generate::image::text::generate_flux_pro_11_text_to_image::{GenerateFluxPro11TextToImageAspectRatio, GenerateFluxPro11TextToImageNumImages, GenerateFluxPro11TextToImageRequest};
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::requests::traits::fal_request_cost_calculator_trait::FalRequestCostCalculator;
@@ -159,7 +158,7 @@ pub async fn generate_flux_pro_11_text_to_image_handler(
prompt_type: PromptType::ArtcraftApp,
maybe_creator_user_token: Some(&user_token),
maybe_model_type: Some(ModelType::FluxPro11),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -12,8 +12,7 @@ use artcraft_api_defs::generate::image::text::generate_flux_pro_11_text_to_image
use artcraft_api_defs::generate::image::text::generate_flux_pro_11_ultra_text_to_image::GenerateFluxPro11UltraTextToImageResponse;
use artcraft_api_defs::generate::image::text::generate_flux_pro_11_ultra_text_to_image::{GenerateFluxPro11UltraTextToImageAspectRatio, GenerateFluxPro11UltraTextToImageNumImages, GenerateFluxPro11UltraTextToImageRequest};
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::requests::traits::fal_request_cost_calculator_trait::FalRequestCostCalculator;
@@ -163,7 +162,7 @@ pub async fn generate_flux_pro_11_ultra_text_to_image_handler(
prompt_type: PromptType::ArtcraftApp,
maybe_creator_user_token: Some(&user_token),
maybe_model_type: Some(ModelType::FluxPro11Ultra),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -13,8 +13,7 @@ use artcraft_api_defs::generate::image::text::generate_gpt_image_1_text_to_image
use bucket_paths::legacy::typified_paths::public::media_files::bucket_file_path::MediaFileBucketPath;
use enums::by_table::prompt_context_items::prompt_context_semantic_type::PromptContextSemanticType;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::payments_namespace::PaymentsNamespace;
use enums::common::stripe_subscription_status::StripeSubscriptionStatus;
@@ -206,7 +205,7 @@ pub async fn generate_gpt_image_1_text_to_image_handler(
prompt_type: PromptType::ArtcraftApp,
maybe_creator_user_token: Some(&user_token),
maybe_model_type: Some(ModelType::GptImage1),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -12,8 +12,7 @@ use artcraft_api_defs::generate::image::inpaint::flux_dev_juggernaut_inpaint_ima
use bucket_paths::legacy::typified_paths::public::media_files::bucket_file_path::MediaFileBucketPath;
use enums::by_table::prompt_context_items::prompt_context_semantic_type::PromptContextSemanticType;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::creds::open_ai_api_key::OpenAiApiKey;
@@ -214,7 +213,7 @@ pub async fn flux_dev_juggernaut_inpaint_image_handler(
// TODO(bt,2025-07-31): Should we have an "inpaint" specific variant?
// Depends on how we want to model provider / feature matrices, routing, and results going forward.
maybe_model_type: Some(ModelType::FluxDevJuggernaut),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -12,8 +12,7 @@ use artcraft_api_defs::generate::image::inpaint::flux_pro_1_inpaint_image::{Flux
use bucket_paths::legacy::typified_paths::public::media_files::bucket_file_path::MediaFileBucketPath;
use enums::by_table::prompt_context_items::prompt_context_semantic_type::PromptContextSemanticType;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::creds::open_ai_api_key::OpenAiApiKey;
@@ -214,7 +213,7 @@ pub async fn flux_pro_1_inpaint_image_handler(
// TODO(bt,2025-07-31): Should we have an "inpaint" specific variant?
// Depends on how we want to model provider / feature matrices, routing, and results going forward.
maybe_model_type: Some(ModelType::FluxPro1),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -11,8 +11,7 @@ use actix_web::{web, HttpRequest};
use artcraft_api_defs::generate::image::multi_function::bytedance_seedream_5_lite_multi_function_image_gen::{BytedanceSeedream5LiteMultiFunctionImageGenImageSize, BytedanceSeedream5LiteMultiFunctionImageGenNumImages, BytedanceSeedream5LiteMultiFunctionImageGenRequest, BytedanceSeedream5LiteMultiFunctionImageGenResponse};
use enums::by_table::prompt_context_items::prompt_context_semantic_type::PromptContextSemanticType;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::requests::traits::fal_request_cost_calculator_trait::FalRequestCostCalculator;
@@ -227,7 +226,7 @@ pub async fn bytedance_seedream_5_lite_multi_function_image_gen_handler(
prompt_type: PromptType::ArtcraftApp,
maybe_creator_user_token: Some(&user_token),
maybe_model_type: Some(ModelType::Seedream5Lite),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -16,8 +16,7 @@ use artcraft_api_defs::generate::image::multi_function::bytedance_seedream_v4_mu
use bucket_paths::legacy::typified_paths::public::media_files::bucket_file_path::MediaFileBucketPath;
use enums::by_table::prompt_context_items::prompt_context_semantic_type::PromptContextSemanticType;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::creds::open_ai_api_key::OpenAiApiKey;
@@ -251,7 +250,7 @@ pub async fn bytedance_seedream_v4_multi_function_image_gen_handler(
prompt_type: PromptType::ArtcraftApp,
maybe_creator_user_token: Some(&user_token),
maybe_model_type: Some(ModelType::Seedream4),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -16,8 +16,7 @@ use artcraft_api_defs::generate::image::multi_function::bytedance_seedream_v4p5_
use bucket_paths::legacy::typified_paths::public::media_files::bucket_file_path::MediaFileBucketPath;
use enums::by_table::prompt_context_items::prompt_context_semantic_type::PromptContextSemanticType;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::creds::open_ai_api_key::OpenAiApiKey;
@@ -249,7 +248,7 @@ pub async fn bytedance_seedream_v4p5_multi_function_image_gen_handler(
prompt_type: PromptType::ArtcraftApp,
maybe_creator_user_token: Some(&user_token),
maybe_model_type: Some(ModelType::Seedream4p5),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -16,8 +16,7 @@ use artcraft_api_defs::generate::image::multi_function::gpt_image_1p5_multi_func
use bucket_paths::legacy::typified_paths::public::media_files::bucket_file_path::MediaFileBucketPath;
use enums::by_table::prompt_context_items::prompt_context_semantic_type::PromptContextSemanticType;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::payments_namespace::PaymentsNamespace;
use enums::common::stripe_subscription_status::StripeSubscriptionStatus;
@@ -339,7 +338,7 @@ pub async fn gpt_image_1p5_multi_function_image_gen_handler(
prompt_type: PromptType::ArtcraftApp,
maybe_creator_user_token: Some(&user_token),
maybe_model_type: Some(ModelType::GptImage1p5),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -11,8 +11,7 @@ use actix_web::{web, HttpRequest};
use artcraft_api_defs::generate::image::multi_function::nano_banana_2_multi_function_image_gen::{NanaBanana2MultiFunctionImageGenAspectRatio, NanaBanana2MultiFunctionImageGenImageResolution, NanaBanana2MultiFunctionImageGenNumImages, NanaBanana2MultiFunctionImageGenRequest, NanaBanana2MultiFunctionImageGenResponse};
use enums::by_table::prompt_context_items::prompt_context_semantic_type::PromptContextSemanticType;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::requests::traits::fal_request_cost_calculator_trait::FalRequestCostCalculator;
@@ -250,7 +249,7 @@ pub async fn nano_banana_2_multi_function_image_gen_handler(
prompt_type: PromptType::ArtcraftApp,
maybe_creator_user_token: Some(&user_token),
maybe_model_type: Some(ModelType::NanoBanana2),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -17,8 +17,7 @@ use artcraft_api_defs::generate::image::multi_function::nano_banana_multi_functi
use bucket_paths::legacy::typified_paths::public::media_files::bucket_file_path::MediaFileBucketPath;
use enums::by_table::prompt_context_items::prompt_context_semantic_type::PromptContextSemanticType;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::payments_namespace::PaymentsNamespace;
use enums::common::stripe_subscription_status::StripeSubscriptionStatus;
@@ -282,7 +281,7 @@ pub async fn nano_banana_multi_function_image_gen_handler(
prompt_type: PromptType::ArtcraftApp,
maybe_creator_user_token: Some(&user_token),
maybe_model_type: Some(ModelType::NanoBanana),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -16,8 +16,7 @@ use artcraft_api_defs::generate::image::multi_function::nano_banana_pro_multi_fu
use bucket_paths::legacy::typified_paths::public::media_files::bucket_file_path::MediaFileBucketPath;
use enums::by_table::prompt_context_items::prompt_context_semantic_type::PromptContextSemanticType;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::payments_namespace::PaymentsNamespace;
use enums::common::stripe_subscription_status::StripeSubscriptionStatus;
@@ -297,7 +296,7 @@ pub async fn nano_banana_pro_multi_function_image_gen_handler(
prompt_type: PromptType::ArtcraftApp,
maybe_creator_user_token: Some(&user_token),
maybe_model_type: Some(ModelType::NanoBananaPro),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -14,8 +14,7 @@ use artcraft_api_defs::generate::object::multi_function::hunyuan3d_v3_multi_func
};
use enums::by_table::prompt_context_items::prompt_context_semantic_type::PromptContextSemanticType;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::requests::webhook::object::enqueue_hunyuan3d_v3_image_to_3d_webhook::{
@@ -304,7 +303,7 @@ pub async fn generate_hunyuan3d_v3_multi_function_object_handler(
prompt_type: PromptType::ArtcraftApp,
maybe_creator_user_token: maybe_user_session.as_ref().map(|s| &s.user_token),
maybe_model_type: Some(ModelType::Hunyuan3d3),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -12,8 +12,7 @@ use actix_web::{web, HttpRequest};
use artcraft_api_defs::generate::splat::generate_worldlabs_marble_0p1_mini_splat::{GenerateWorldlabsMarble0p1MiniSplatRequest, GenerateWorldlabsMarble0p1MiniSplatResponse};
use enums::by_table::prompt_context_items::prompt_context_semantic_type::PromptContextSemanticType;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use http_server_common::request::get_request_ip::get_request_ip;
@@ -176,7 +175,7 @@ pub async fn generate_worldlabs_marble_0p1_mini_splat_handler(
prompt_type: PromptType::ArtcraftApp,
maybe_creator_user_token: Some(user_token),
maybe_model_type: Some(ModelType::Marble0p1Mini),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -12,8 +12,7 @@ use actix_web::{web, HttpRequest};
use artcraft_api_defs::generate::splat::generate_worldlabs_marble_0p1_plus_splat::{GenerateWorldlabsMarble0p1PlusSplatRequest, GenerateWorldlabsMarble0p1PlusSplatResponse};
use enums::by_table::prompt_context_items::prompt_context_semantic_type::PromptContextSemanticType;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use http_server_common::request::get_request_ip::get_request_ip;
@@ -176,7 +175,7 @@ pub async fn generate_worldlabs_marble_0p1_plus_splat_handler(
prompt_type: PromptType::ArtcraftApp,
maybe_creator_user_token: Some(user_token),
maybe_model_type: Some(ModelType::Marble0p1Plus),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -15,8 +15,7 @@ use artcraft_api_defs::generate::video::generate_kling_1_6_pro_image_to_video::{
use artcraft_api_defs::generate::video::generate_kling_1_6_pro_image_to_video::{GenerateKling16ProDuration, GenerateKling16ProImageToVideoResponse};
use bucket_paths::legacy::typified_paths::public::media_files::bucket_file_path::MediaFileBucketPath;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::requests::traits::fal_request_cost_calculator_trait::FalRequestCostCalculator;
@@ -218,7 +217,7 @@ pub async fn generate_kling_1_6_pro_video_handler(
.as_ref()
.map(|s| &s.user_token),
maybe_model_type: Some(ModelType::Kling16Pro),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: Some(prompt),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -13,8 +13,7 @@ use artcraft_api_defs::generate::video::generate_kling_2_1_master_image_to_video
use artcraft_api_defs::generate::video::generate_kling_2_1_master_image_to_video::{GenerateKling21MasterDuration, GenerateKling21MasterImageToVideoResponse};
use bucket_paths::legacy::typified_paths::public::media_files::bucket_file_path::MediaFileBucketPath;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::requests::traits::fal_request_cost_calculator_trait::FalRequestCostCalculator;
@@ -205,7 +204,7 @@ pub async fn generate_kling_2_1_master_video_handler(
.as_ref()
.map(|s| &s.user_token),
maybe_model_type: Some(ModelType::Kling21Master),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: Some(prompt),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -15,8 +15,7 @@ use artcraft_api_defs::generate::video::generate_kling_2_1_pro_image_to_video::{
use artcraft_api_defs::generate::video::generate_kling_2_1_pro_image_to_video::{GenerateKling21ProDuration, GenerateKling21ProImageToVideoResponse};
use bucket_paths::legacy::typified_paths::public::media_files::bucket_file_path::MediaFileBucketPath;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::requests::traits::fal_request_cost_calculator_trait::FalRequestCostCalculator;
@@ -220,7 +219,7 @@ pub async fn generate_kling_2_1_pro_video_handler(
.as_ref()
.map(|s| &s.user_token),
maybe_model_type: Some(ModelType::Kling21Pro),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: Some(prompt),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -17,8 +17,7 @@ use artcraft_api_defs::generate::video::generate_seedance_1_0_lite_image_to_vide
use artcraft_api_defs::generate::video::generate_seedance_1_0_lite_image_to_video::{GenerateSeedance10LiteAspectRatio, GenerateSeedance10LiteDuration};
use bucket_paths::legacy::typified_paths::public::media_files::bucket_file_path::MediaFileBucketPath;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::requests::traits::fal_request_cost_calculator_trait::FalRequestCostCalculator;
@@ -235,7 +234,7 @@ pub async fn generate_seedance_1_0_lite_image_to_video_handler(
.as_ref()
.map(|s| &s.user_token),
maybe_model_type: Some(ModelType::Seedance10Lite),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: Some(prompt),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -17,8 +17,7 @@ use artcraft_api_defs::generate::video::generate_seedance_1_0_pro_image_to_video
use artcraft_api_defs::generate::video::generate_seedance_1_0_pro_image_to_video::GenerateSeedance10ProResolution;
use bucket_paths::legacy::typified_paths::public::media_files::bucket_file_path::MediaFileBucketPath;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::requests::traits::fal_request_cost_calculator_trait::FalRequestCostCalculator;
@@ -212,7 +211,7 @@ pub async fn generate_seedance_1_0_pro_image_to_video_handler(
.as_ref()
.map(|s| &s.user_token),
maybe_model_type: Some(ModelType::Seedance10Pro),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: Some(prompt),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -17,8 +17,7 @@ use artcraft_api_defs::generate::video::generate_veo_2_image_to_video::GenerateV
use artcraft_api_defs::generate::video::generate_veo_2_image_to_video::GenerateVeo2ImageToVideoResponse;
use bucket_paths::legacy::typified_paths::public::media_files::bucket_file_path::MediaFileBucketPath;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::requests::traits::fal_request_cost_calculator_trait::FalRequestCostCalculator;
@@ -216,7 +215,7 @@ pub async fn generate_veo_2_image_to_video_handler(
.as_ref()
.map(|s| &s.user_token),
maybe_model_type: Some(ModelType::Veo2),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: Some(prompt),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -14,8 +14,7 @@ use anyhow::anyhow;
use artcraft_api_defs::generate::video::generate_veo_3_fast_image_to_video::{GenerateVeo3FastDuration, GenerateVeo3FastImageToVideoRequest, GenerateVeo3FastImageToVideoResponse, GenerateVeo3FastResolution};
use bucket_paths::legacy::typified_paths::public::media_files::bucket_file_path::MediaFileBucketPath;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::requests::traits::fal_request_cost_calculator_trait::FalRequestCostCalculator;
@@ -209,7 +208,7 @@ pub async fn generate_veo_3_fast_image_to_video_handler(
.as_ref()
.map(|s| &s.user_token),
maybe_model_type: Some(ModelType::Veo3Fast),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: Some(prompt),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -14,8 +14,7 @@ use anyhow::anyhow;
use artcraft_api_defs::generate::video::generate_veo_3_image_to_video::{GenerateVeo3AspectRatio, GenerateVeo3Duration, GenerateVeo3ImageToVideoRequest, GenerateVeo3ImageToVideoResponse, GenerateVeo3Resolution};
use bucket_paths::legacy::typified_paths::public::media_files::bucket_file_path::MediaFileBucketPath;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::requests::traits::fal_request_cost_calculator_trait::FalRequestCostCalculator;
@@ -217,7 +216,7 @@ pub async fn generate_veo_3_image_to_video_handler(
.as_ref()
.map(|s| &s.user_token),
maybe_model_type: Some(ModelType::Veo3),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: Some(prompt),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -16,8 +16,7 @@ use artcraft_api_defs::generate::video::multi_function::kling_2_5_turbo_multi_fu
use bucket_paths::legacy::typified_paths::public::media_files::bucket_file_path::MediaFileBucketPath;
use enums::by_table::prompt_context_items::prompt_context_semantic_type::PromptContextSemanticType;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::creds::open_ai_api_key::OpenAiApiKey;
@@ -258,7 +257,7 @@ pub async fn kling_2p5_turbo_pro_multi_function_video_gen_handler(
.as_ref()
.map(|s| &s.user_token),
maybe_model_type: Some(ModelType::Kling2p5TurboPro),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -16,8 +16,7 @@ use artcraft_api_defs::generate::video::multi_function::kling_2_6_multi_function
use bucket_paths::legacy::typified_paths::public::media_files::bucket_file_path::MediaFileBucketPath;
use enums::by_table::prompt_context_items::prompt_context_semantic_type::PromptContextSemanticType;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::creds::open_ai_api_key::OpenAiApiKey;
@@ -257,7 +256,7 @@ pub async fn kling_2p6_pro_multi_function_video_gen_handler(
.as_ref()
.map(|s| &s.user_token),
maybe_model_type: Some(ModelType::Kling2p6Pro),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -16,8 +16,7 @@ use artcraft_api_defs::generate::video::multi_function::kling_3p0_pro_multi_func
use bucket_paths::legacy::typified_paths::public::media_files::bucket_file_path::MediaFileBucketPath;
use enums::by_table::prompt_context_items::prompt_context_semantic_type::PromptContextSemanticType;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::creds::open_ai_api_key::OpenAiApiKey;
@@ -306,7 +305,7 @@ pub async fn kling_3p0_pro_multi_function_video_gen_handler(
.as_ref()
.map(|s| &s.user_token),
maybe_model_type: Some(ModelType::Kling3p0Pro),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -16,8 +16,7 @@ use artcraft_api_defs::generate::video::multi_function::kling_3p0_standard_multi
use bucket_paths::legacy::typified_paths::public::media_files::bucket_file_path::MediaFileBucketPath;
use enums::by_table::prompt_context_items::prompt_context_semantic_type::PromptContextSemanticType;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::creds::open_ai_api_key::OpenAiApiKey;
@@ -306,7 +305,7 @@ pub async fn kling_3p0_standard_multi_function_video_gen_handler(
.as_ref()
.map(|s| &s.user_token),
maybe_model_type: Some(ModelType::Kling3p0Standard),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -12,8 +12,7 @@ use actix_web::{web, HttpRequest};
use artcraft_api_defs::generate::video::multi_function::seedance_1p5_pro_multi_function_video_gen::{Seedance1p5ProMultiFunctionVideoGenAspectRatio, Seedance1p5ProMultiFunctionVideoGenDuration, Seedance1p5ProMultiFunctionVideoGenRequest, Seedance1p5ProMultiFunctionVideoGenResolution, Seedance1p5ProMultiFunctionVideoGenResponse};
use enums::by_table::prompt_context_items::prompt_context_semantic_type::PromptContextSemanticType;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::requests::traits::fal_request_cost_calculator_trait::FalRequestCostCalculator;
@@ -311,7 +310,7 @@ pub async fn seedance_1p5_pro_multi_function_video_gen_handler(
.as_ref()
.map(|s| &s.user_token),
maybe_model_type: Some(ModelType::Seedance1p5Pro),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -17,8 +17,7 @@ use artcraft_api_defs::generate::video::multi_function::seedance_2p0_multi_funct
};
use enums::by_table::prompt_context_items::prompt_context_semantic_type::PromptContextSemanticType;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use http_server_common::request::get_request_ip::get_request_ip;
@@ -270,7 +269,7 @@ pub async fn seedance_2p0_multi_function_video_gen_handler(
prompt_type: PromptType::ArtcraftApp,
maybe_creator_user_token: maybe_user_session.as_ref().map(|s| &s.user_token),
maybe_model_type: Some(ModelType::Seedance2p0),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -16,8 +16,7 @@ use artcraft_api_defs::generate::video::multi_function::sora_2_multi_function_vi
use bucket_paths::legacy::typified_paths::public::media_files::bucket_file_path::MediaFileBucketPath;
use enums::by_table::prompt_context_items::prompt_context_semantic_type::PromptContextSemanticType;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::creds::open_ai_api_key::OpenAiApiKey;
@@ -277,7 +276,7 @@ pub async fn sora_2_multi_function_video_gen_handler(
.as_ref()
.map(|s| &s.user_token),
maybe_model_type: Some(ModelType::Sora2),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -16,8 +16,7 @@ use artcraft_api_defs::generate::video::multi_function::sora_2_pro_multi_functio
use bucket_paths::legacy::typified_paths::public::media_files::bucket_file_path::MediaFileBucketPath;
use enums::by_table::prompt_context_items::prompt_context_semantic_type::PromptContextSemanticType;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::creds::open_ai_api_key::OpenAiApiKey;
@@ -279,7 +278,7 @@ pub async fn sora_2_pro_multi_function_video_gen_handler(
.as_ref()
.map(|s| &s.user_token),
maybe_model_type: Some(ModelType::Sora2Pro),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -16,8 +16,7 @@ use artcraft_api_defs::generate::video::multi_function::veo_3p1_fast_multi_funct
use bucket_paths::legacy::typified_paths::public::media_files::bucket_file_path::MediaFileBucketPath;
use enums::by_table::prompt_context_items::prompt_context_semantic_type::PromptContextSemanticType;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::creds::open_ai_api_key::OpenAiApiKey;
@@ -342,7 +341,7 @@ pub async fn veo_3p1_fast_multi_function_video_gen_handler(
.as_ref()
.map(|s| &s.user_token),
maybe_model_type: Some(ModelType::Veo3p1Fast),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,
@@ -16,8 +16,7 @@ use artcraft_api_defs::generate::video::multi_function::veo_3p1_multi_function_v
use bucket_paths::legacy::typified_paths::public::media_files::bucket_file_path::MediaFileBucketPath;
use enums::by_table::prompt_context_items::prompt_context_semantic_type::PromptContextSemanticType;
use enums::by_table::prompts::prompt_type::PromptType;
use enums_api::common::generation::generation_provider::GenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider as DbGenerationProvider;
use enums_db::common::generation::generation_provider::GenerationProvider;
use enums::common::model_type::ModelType;
use enums::common::visibility::Visibility;
use fal_client::creds::open_ai_api_key::OpenAiApiKey;
@@ -342,7 +341,7 @@ pub async fn veo_3p1_multi_function_video_gen_handler(
.as_ref()
.map(|s| &s.user_token),
maybe_model_type: Some(ModelType::Veo3p1),
maybe_generation_provider: Some(DbGenerationProvider::from_api(GenerationProvider::Artcraft)),
maybe_generation_provider: Some(GenerationProvider::Artcraft),
maybe_positive_prompt: request.prompt.as_deref(),
maybe_negative_prompt: None,
maybe_other_args: None,