From 300366114ab407c03d7d888d7d7d9c8a2b0d4bd8 Mon Sep 17 00:00:00 2001 From: Brandon Thomas Date: Mon, 11 May 2026 23:42:06 -0400 Subject: [PATCH] upload dimensional --- .../handlers/fal/handle_fal_complete.rs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/crates/desktop/artcraft/src/core/threads/third_party_task_polling_thread/handlers/fal/handle_fal_complete.rs b/crates/desktop/artcraft/src/core/threads/third_party_task_polling_thread/handlers/fal/handle_fal_complete.rs index 3a40f0747d..b98209a874 100644 --- a/crates/desktop/artcraft/src/core/threads/third_party_task_polling_thread/handlers/fal/handle_fal_complete.rs +++ b/crates/desktop/artcraft/src/core/threads/third_party_task_polling_thread/handlers/fal/handle_fal_complete.rs @@ -10,6 +10,9 @@ use artcraft_api_defs::prompts::create_prompt::CreatePromptRequest; use artcraft_api_defs::utils::media_links_to_thumbnail_template::media_links_to_thumbnail_template; use artcraft_client::credentials::storyteller_credential_set::StorytellerCredentialSet; use artcraft_client::endpoints::media_files::get_media_file::get_media_file; +use artcraft_client::endpoints::media_files::legacy_upload_media_file_from_file::{ + legacy_upload_media_file_from_file, LegacyUploadMediaFileFromFileArgs, +}; use artcraft_client::endpoints::media_files::upload_image_media_file_from_file::{ upload_image_media_file_from_file, UploadImageFromFileArgs, }; @@ -219,8 +222,7 @@ fn collect_media_urls( // 3D model (GLB) if let Some(glb) = &extracted.model_glb { if let Some(url) = &glb.url { - // TODO: We may want a TaskMediaFileClass::Mesh variant - return Ok((vec![url.clone()], TaskMediaFileClass::Image, GenerationAction::ImageTo3d)); + return Ok((vec![url.clone()], TaskMediaFileClass::Dimensional, GenerationAction::ImageTo3d)); } } @@ -267,6 +269,14 @@ async fn upload_to_backend( }).await?; result.media_file_token } + TaskMediaFileClass::Dimensional => { + let result = legacy_upload_media_file_from_file(LegacyUploadMediaFileFromFileArgs { + api_host: &app_env_configs.storyteller_host, + maybe_creds: Some(creds), + path: download_path, + }).await?; + result.media_file_token + } _ => { let result = upload_image_media_file_from_file(UploadImageFromFileArgs { api_host: &app_env_configs.storyteller_host,