From 8bf2b6d240e4b833e6b83cc36744988c9b6ed035 Mon Sep 17 00:00:00 2001 From: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Date: Mon, 27 Oct 2025 07:31:49 +0000 Subject: [PATCH] fix: add UI validation for models requiring inputAsset - Disable Generate button when model requires image/video/audio but none selected - Add helper text showing 'This model requires an asset' - Add improved error logging for FAL API errors - Add translations for asset requirement message (EN/RU) - Fixes FLUX.1 Kontext [pro] generation failure Resolves issue where FLUX.1 Kontext [pro] and other image-to-image models could be triggered without required image assets, causing API errors. Co-Authored-By: Ilya Timonin --- messages/en.json | 3 ++- messages/ru.json | 3 ++- src/components/right-panel.tsx | 21 +++++++++++++++++++-- src/data/mutations.ts | 16 +++++++++++++--- 4 files changed, 36 insertions(+), 7 deletions(-) diff --git a/messages/en.json b/messages/en.json index b40e4c7a..1b0ad2f3 100644 --- a/messages/en.json +++ b/messages/en.json @@ -92,7 +92,8 @@ "imaginePlaceholder": "Imagine...", "enhancePrompt": "Enhance Prompt", "duration": "Duration", - "generate": "Generate" + "generate": "Generate", + "thisModelRequiresAsset": "This model requires an asset to be selected" }, "videoPreview": { "export": "Export" diff --git a/messages/ru.json b/messages/ru.json index 7ae0331f..a38ed36a 100644 --- a/messages/ru.json +++ b/messages/ru.json @@ -92,7 +92,8 @@ "imaginePlaceholder": "Представьте...", "enhancePrompt": "Улучшить запрос", "duration": "Длительность", - "generate": "Сгенерировать" + "generate": "Сгенерировать", + "thisModelRequiresAsset": "Эта модель требует выбора ресурса" }, "videoPreview": { "export": "Экспорт" diff --git a/src/components/right-panel.tsx b/src/components/right-panel.tsx index 38fc1f77..f2f4889e 100644 --- a/src/components/right-panel.tsx +++ b/src/components/right-panel.tsx @@ -999,10 +999,27 @@ export default function RightPanel({ -
+
+ {endpoint?.inputAsset?.some((asset) => { + const assetType = getAssetType(asset); + const assetKey = getAssetKey(asset); + return !generateData[assetKey]; + }) && ( +
+ {t("thisModelRequiresAsset")} +
+ )}