diff --git a/crates/desktop/artcraft/src/services/grok/threads/grok_image_websocket_thread/grok_image_websocket_thread.rs b/crates/desktop/artcraft/src/services/grok/threads/grok_image_websocket_thread/grok_image_websocket_thread.rs index e8913a5157..4212c1e82c 100644 --- a/crates/desktop/artcraft/src/services/grok/threads/grok_image_websocket_thread/grok_image_websocket_thread.rs +++ b/crates/desktop/artcraft/src/services/grok/threads/grok_image_websocket_thread/grok_image_websocket_thread.rs @@ -200,11 +200,13 @@ async fn upload_images_to_storyteller( // The first upload should produce a batch token that we can reuse. let batch_token = BatchGenerationToken::generate(); - for image in images.images.iter() { + for (i, image) in images.images.iter().enumerate() { loop { let url = image.url.to_string(); let file = download_url_to_temp_dir(&url, app_data_root).await?; + info!("Uploading image {} of {} ...", i, images.images.len()); + let result = upload_image_media_file_from_file(UploadImageFromFileArgs { api_host: &app_env_configs.storyteller_host, maybe_creds: Some(&storyteller_creds), diff --git a/frontend/libs/model-list/src/lib/lists/ImageModels.ts b/frontend/libs/model-list/src/lib/lists/ImageModels.ts index 8880321296..ce5a0a91d3 100644 --- a/frontend/libs/model-list/src/lib/lists/ImageModels.ts +++ b/frontend/libs/model-list/src/lib/lists/ImageModels.ts @@ -3,6 +3,21 @@ import { ModelCreator } from "../classes/metadata/ModelCreator.js"; import { ModelTag } from "../classes/metadata/ModelTag.js"; export const IMAGE_MODELS: ImageModel[] = [ + new ImageModel({ + id: "grok_image", + tauriId: "grok_image", + fullName: "Grok", + category: "image", + creator: ModelCreator.Grok, + selectorName: "Grok", + selectorDescription: "Fast af", + selectorBadges: ["10 sec."], + maxGenerationCount: 4, + defaultGenerationCount: 4, + canUseImagePrompt: false, + maxImagePromptCount: 6, + progressBarTime: 10000, + }), new ImageModel({ id: "midjourney", tauriId: "midjourney",