diff --git a/crates/service/web/storyteller_web/src/docs/api_doc.rs b/crates/service/web/storyteller_web/src/docs/api_doc.rs index 5e198bff8e..673813e6f4 100644 --- a/crates/service/web/storyteller_web/src/docs/api_doc.rs +++ b/crates/service/web/storyteller_web/src/docs/api_doc.rs @@ -225,6 +225,55 @@ use tokens::tokens::user_bookmarks::*; use tokens::tokens::users::*; use tokens::tokens::zs_voice_datasets::*; +// Cost estimate +use artcraft_api_defs::generate::cost_estimate::estimate_image_cost::*; +use artcraft_api_defs::generate::cost_estimate::estimate_video_cost::*; +// Image multi-function +use artcraft_api_defs::generate::image::multi_function::nano_banana_multi_function_image_gen::*; +use artcraft_api_defs::generate::image::multi_function::nano_banana_pro_multi_function_image_gen::*; +use artcraft_api_defs::generate::image::multi_function::nano_banana_2_multi_function_image_gen::*; +use artcraft_api_defs::generate::image::multi_function::gpt_image_1p5_multi_function_image_gen::*; +use artcraft_api_defs::generate::image::multi_function::bytedance_seedream_v4_multi_function_image_gen::*; +use artcraft_api_defs::generate::image::multi_function::bytedance_seedream_v4p5_multi_function_image_gen::*; +use artcraft_api_defs::generate::image::multi_function::bytedance_seedream_5_lite_multi_function_image_gen::*; +// Image edit (missing handlers) +use artcraft_api_defs::generate::image::edit::flux_pro_kontext_max_edit_image::*; +use artcraft_api_defs::generate::image::edit::gemini_25_flash_edit_image::*; +use artcraft_api_defs::generate::image::edit::qwen_edit_image::*; +use artcraft_api_defs::generate::image::edit::seededit_3_edit_image::*; +// Image inpaint +use artcraft_api_defs::generate::image::inpaint::flux_dev_juggernaut_inpaint_image::*; +use artcraft_api_defs::generate::image::inpaint::flux_pro_1_inpaint_image::*; +// Video (missing handlers) +use artcraft_api_defs::generate::video::generate_seedance_1_0_pro_image_to_video::*; +use artcraft_api_defs::generate::video::generate_veo_3_image_to_video::*; +use artcraft_api_defs::generate::video::generate_veo_3_fast_image_to_video::*; +// Video multi-function +use artcraft_api_defs::generate::video::multi_function::kling_2_5_turbo_multi_function_video_gen::*; +use artcraft_api_defs::generate::video::multi_function::kling_2_6_multi_function_video_gen::*; +use artcraft_api_defs::generate::video::multi_function::seedance_2p0_multi_function_video_gen::*; +use artcraft_api_defs::generate::video::multi_function::sora_2_multi_function_video_gen::*; +use artcraft_api_defs::generate::video::multi_function::sora_2_pro_multi_function_video_gen::*; +use artcraft_api_defs::generate::video::multi_function::veo_3p1_multi_function_video_gen::*; +use artcraft_api_defs::generate::video::multi_function::veo_3p1_fast_multi_function_video_gen::*; +// Object multi-function +use artcraft_api_defs::generate::object::multi_function::hunyuan3d_v3_multi_function_object_gen::*; +// Analytics, credits, subscriptions, media files +use artcraft_api_defs::analytics::log_active_user::*; +use artcraft_api_defs::credits::get_session_credits::*; +use artcraft_api_defs::subscriptions::get_session_subscription::*; +use artcraft_api_defs::media_file::list_batch_generated_media_files::*; +// Handler modules with locally-defined types +use crate::http_server::endpoints::moderation::info::moderator_token_info_handler::*; +use crate::http_server::endpoints::webhooks::fal_webhook_handler::*; +use crate::http_server::endpoints::image_studio::update_gpt_image_job_status_handler::*; +use crate::http_server::endpoints::voice_conversion::enqueue_seed_vc_inference_handler::*; +use crate::http_server::endpoints::credits::get_session_credits_handler::*; +use crate::http_server::endpoints::subscriptions::get_session_subscription_handler::*; +use crate::http_server::endpoints::analytics::log_app_active_user_handler::*; +use crate::http_server::endpoints::analytics::log_app_active_user_json_handler::*; +use crate::http_server::endpoints::media_files::list::list_batch_generated_redux_media_files_handler::*; + #[derive(OpenApi)] #[openapi( paths( @@ -341,6 +390,58 @@ use tokens::tokens::zs_voice_datasets::*; crate::http_server::endpoints::weights::search::search_model_weights_http_post_handler::search_model_weights_http_post_handler, crate::http_server::endpoints::weights::update::set_model_weight_cover_image_handler::set_model_weight_cover_image_handler, crate::http_server::endpoints::weights::update::update_weight_handler::update_weight_handler, + // Cost Estimate + crate::http_server::endpoints::generate::cost_estimate::image::estimate_image_cost_handler::estimate_image_cost_handler, + crate::http_server::endpoints::generate::cost_estimate::video::estimate_video_cost_handler::estimate_video_cost_handler, + // Generate Images (Multi-Function) + crate::http_server::endpoints::generate::image::multi_function::nano_banana_multi_function_image_gen_handler::nano_banana_multi_function_image_gen_handler, + crate::http_server::endpoints::generate::image::multi_function::nano_banana_pro_multi_function_image_gen_handler::nano_banana_pro_multi_function_image_gen_handler, + crate::http_server::endpoints::generate::image::multi_function::nano_banana_2_multi_function_image_gen_handler::nano_banana_2_multi_function_image_gen_handler, + crate::http_server::endpoints::generate::image::multi_function::gpt_image_1p5_multi_function_image_gen_handler::gpt_image_1p5_multi_function_image_gen_handler, + crate::http_server::endpoints::generate::image::multi_function::bytedance_seedream_v4_multi_function_image_gen_handler::bytedance_seedream_v4_multi_function_image_gen_handler, + crate::http_server::endpoints::generate::image::multi_function::bytedance_seedream_v4p5_multi_function_image_gen_handler::bytedance_seedream_v4p5_multi_function_image_gen_handler, + crate::http_server::endpoints::generate::image::multi_function::bytedance_seedream_5_lite_multi_function_image_gen_handler::bytedance_seedream_5_lite_multi_function_image_gen_handler, + // Generate Images (Edit) + crate::http_server::endpoints::generate::image::edit::flux_pro_kontext_max_edit_image_handler::flux_pro_kontext_max_edit_image_handler, + crate::http_server::endpoints::generate::image::edit::gemini_25_flash_edit_image_handler::gemini_25_flash_edit_image_handler, + crate::http_server::endpoints::generate::image::edit::qwen_edit_image_handler::qwen_edit_image_handler, + crate::http_server::endpoints::generate::image::edit::seededit_3_edit_image_handler::seededit_3_edit_image_handler, + // Generate Images (Inpaint) + crate::http_server::endpoints::generate::image::inpaint::flux_dev_juggernaut_inpaint_handler::flux_dev_juggernaut_inpaint_image_handler, + crate::http_server::endpoints::generate::image::inpaint::flux_pro_1_inpaint_handler::flux_pro_1_inpaint_image_handler, + // Generate Videos + crate::http_server::endpoints::generate::video::generate_seedance_1_0_pro_image_to_video_handler::generate_seedance_1_0_pro_image_to_video_handler, + crate::http_server::endpoints::generate::video::generate_veo_3_image_to_video_handler::generate_veo_3_image_to_video_handler, + crate::http_server::endpoints::generate::video::generate_veo_3_fast_image_to_video_handler::generate_veo_3_fast_image_to_video_handler, + // Generate Video (Multi-Function) + crate::http_server::endpoints::generate::video::multi_function::kling_2p5_turbo_pro_multi_function_video_gen_handler::kling_2p5_turbo_pro_multi_function_video_gen_handler, + crate::http_server::endpoints::generate::video::multi_function::kling_2p6_pro_multi_function_video_gen_handler::kling_2p6_pro_multi_function_video_gen_handler, + crate::http_server::endpoints::generate::video::multi_function::seedance_2p0_multi_function_video_gen_handler::seedance_2p0_multi_function_video_gen_handler, + crate::http_server::endpoints::generate::video::multi_function::sora_2_multi_function_video_gen_handler::sora_2_multi_function_video_gen_handler, + crate::http_server::endpoints::generate::video::multi_function::sora_2_pro_multi_function_video_gen_handler::sora_2_pro_multi_function_video_gen_handler, + crate::http_server::endpoints::generate::video::multi_function::veo_3p1_multi_function_video_gen_handler::veo_3p1_multi_function_video_gen_handler, + crate::http_server::endpoints::generate::video::multi_function::veo_3p1_fast_multi_function_video_gen_handler::veo_3p1_fast_multi_function_video_gen_handler, + // Generate Objects (Multi-Function) + crate::http_server::endpoints::generate::object::multi_function::generate_hunyuan3d_v3_multi_function_object_handler::generate_hunyuan3d_v3_multi_function_object_handler, + // Media Files + crate::http_server::endpoints::media_files::list::list_batch_generated_redux_media_files_handler::list_batch_generated_redux_media_files_handler, + // Analytics + crate::http_server::endpoints::analytics::log_app_active_user_handler::log_app_active_user_handler, + crate::http_server::endpoints::analytics::log_app_active_user_json_handler::log_app_active_user_json_handler, + // Voice Conversion + crate::http_server::endpoints::voice_conversion::enqueue_seed_vc_inference_handler::enqueue_infer_seed_vc_handler, + // TTS + crate::http_server::endpoints::tts::enqueue_infer_f5_tts_handler::enqueue_infer_f5_tts_handler::enqueue_infer_f5_tts_handler, + // Moderation + crate::http_server::endpoints::moderation::info::moderator_token_info_handler::moderator_get_token_info_handler, + // Credits + crate::http_server::endpoints::credits::get_session_credits_handler::get_session_credits_handler, + // Subscriptions + crate::http_server::endpoints::subscriptions::get_session_subscription_handler::get_session_subscription_handler, + // Webhooks + crate::http_server::endpoints::webhooks::fal_webhook_handler::fal_webhook_handler, + // Image Studio + crate::http_server::endpoints::image_studio::update_gpt_image_job_status_handler::update_gpt_image_job_status_handler, ), components(schemas( // Tokens @@ -797,6 +898,111 @@ use tokens::tokens::zs_voice_datasets::*; WriteEngineAssetMediaSuccessResponse, WriteSceneFileMediaSuccessResponse, ZsDatasetRecord, + + // Cost Estimate types + EstimateImageCostRequest, + EstimateImageCostResponse, + EstimateImageCostError, + EstimateImageCostErrorType, + EstimateVideoCostRequest, + EstimateVideoCostResponse, + EstimateVideoCostError, + EstimateVideoCostErrorType, + + // Image Multi-Function types + NanoBananaMultiFunctionImageGenRequest, + NanoBananaMultiFunctionImageGenResponse, + NanoBananaMultiFunctionImageGenAspectRatio, + NanoBananaMultiFunctionImageGenNumImages, + NanoBananaProMultiFunctionImageGenRequest, + NanoBananaProMultiFunctionImageGenResponse, + NanoBananaProMultiFunctionImageGenAspectRatio, + NanoBananaProMultiFunctionImageGenNumImages, + NanoBananaProMultiFunctionImageGenImageResolution, + NanaBanana2MultiFunctionImageGenRequest, + NanaBanana2MultiFunctionImageGenResponse, + NanaBanana2MultiFunctionImageGenAspectRatio, + NanaBanana2MultiFunctionImageGenNumImages, + NanaBanana2MultiFunctionImageGenImageResolution, + GptImage1p5MultiFunctionImageGenRequest, + GptImage1p5MultiFunctionImageGenResponse, + GptImage1p5MultiFunctionImageGenBackground, + GptImage1p5MultiFunctionImageGenInputFidelity, + GptImage1p5MultiFunctionImageGenNumImages, + GptImage1p5MultiFunctionImageGenQuality, + GptImage1p5MultiFunctionImageGenSize, + BytedanceSeedreamV4MultiFunctionImageGenRequest, + BytedanceSeedreamV4MultiFunctionImageGenResponse, + BytedanceSeedreamV4MultiFunctionImageGenImageSize, + BytedanceSeedreamV4MultiFunctionImageGenNumImages, + BytedanceSeedreamV4p5MultiFunctionImageGenRequest, + BytedanceSeedreamV4p5MultiFunctionImageGenResponse, + BytedanceSeedreamV4p5MultiFunctionImageGenImageSize, + BytedanceSeedreamV4p5MultiFunctionImageGenNumImages, + BytedanceSeedream5LiteMultiFunctionImageGenRequest, + BytedanceSeedream5LiteMultiFunctionImageGenResponse, + BytedanceSeedream5LiteMultiFunctionImageGenImageSize, + BytedanceSeedream5LiteMultiFunctionImageGenNumImages, + + // Image Edit types + FluxProKontextMaxEditImageRequest, + FluxProKontextMaxEditImageResponse, + FluxProKontextMaxEditImageNumImages, + Gemini25FlashEditImageRequest, + Gemini25FlashEditImageResponse, + Gemini25FlashEditImageNumImages, + QwenEditImageRequest, + QwenEditImageResponse, + QwenEditImageAcceleration, + QwenEditImageNumImages, + SeedEdit3EditImageRequest, + SeedEdit3EditImageResponse, + + // Image Inpaint types + FluxDevJuggernautInpaintImageRequest, + FluxDevJuggernautInpaintImageResponse, + FluxDevJuggernautInpaintImageNumImages, + FluxPro1InpaintImageRequest, + FluxPro1InpaintImageResponse, + FluxPro1InpaintImageNumImages, + + // Video types (missing handlers) + GenerateSeedance10ProImageToVideoRequest, + GenerateSeedance10ProImageToVideoResponse, + GenerateVeo3ImageToVideoRequest, + GenerateVeo3ImageToVideoResponse, + GenerateVeo3FastImageToVideoRequest, + GenerateVeo3FastImageToVideoResponse, + + // Video Multi-Function types + Kling2p5TurboProMultiFunctionVideoGenRequest, + Kling2p5TurboProMultiFunctionVideoGenResponse, + Kling2p6ProMultiFunctionVideoGenRequest, + Kling2p6ProMultiFunctionVideoGenResponse, + Seedance2p0MultiFunctionVideoGenRequest, + Seedance2p0MultiFunctionVideoGenResponse, + Sora2MultiFunctionVideoGenRequest, + Sora2MultiFunctionVideoGenResponse, + Sora2ProMultiFunctionVideoGenRequest, + Sora2ProMultiFunctionVideoGenResponse, + Veo3p1MultiFunctionVideoGenRequest, + Veo3p1MultiFunctionVideoGenResponse, + Veo3p1FastMultiFunctionVideoGenRequest, + Veo3p1FastMultiFunctionVideoGenResponse, + + // Object Multi-Function types + Hunyuan3dV3MultiFunctionObjectGenRequest, + Hunyuan3dV3MultiFunctionObjectGenResponse, + + // Other types + LogAppActiveUserRequest, + LogAppActiveUserResponse, + GetSessionCreditsPathInfo, + GetSessionCreditsResponse, + GetSessionSubscriptionPathInfo, + GetSessionSubscriptionResponse, + ListBatchGeneratedReduxMediaFilesPathInfo, + ListBatchGeneratedReduxMediaFilesSuccessResponse, )) )] pub struct ApiDoc;