From a2318fc0b4b3bc2326f6f6c8edec9e1038ec3842 Mon Sep 17 00:00:00 2001 From: admtracksteel Date: Fri, 5 Jun 2026 17:58:00 +0000 Subject: [PATCH] =?UTF-8?q?Fix:=20mostra=20o=20erro=20da=20API=20MiniMax?= =?UTF-8?q?=20na=20UI=20e=20no=20chat=20para=20facilitar=20o=20debug=20da?= =?UTF-8?q?=20gera=C3=A7=C3=A3o=20de=20imagens?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/app.js | 14 ++++++++++++++ server.js | 6 ++++-- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/public/app.js b/public/app.js index 0bb9b16..78f71f6 100644 --- a/public/app.js +++ b/public/app.js @@ -2069,6 +2069,20 @@ const initApp = () => { `; botContentDiv.innerHTML = assistantContent; scrollToBottom(); + } else if (parsed.type === 'error') { + isMediaResponse = true; + if (progressTimer) { + clearInterval(progressTimer); + progressTimer = null; + } + botContentDiv.innerHTML = ` +
+
+

⚠️ Erro na geração: ${escapeHtml(parsed.message)}

+
+
+ `; + scrollToBottom(); } else if (parsed.type === 'audio') { isMediaResponse = true; if (progressTimer) { diff --git a/server.js b/server.js index ba78d1e..c937b2f 100644 --- a/server.js +++ b/server.js @@ -461,7 +461,8 @@ app.post('/api/comics/generate-frame', requireAuth, async (req, res) => { const genData = await genResp.json(); const imageUrl = genData.data?.image_urls?.[0]; if (!imageUrl) { - throw new Error('Nenhuma URL de imagem retornada pela MiniMax.'); + const msg = genData.base_resp?.status_msg || 'desconhecido'; + throw new Error(`Nenhuma URL de imagem. Status MiniMax: ${msg}`); } // Baixar e salvar localmente @@ -3468,7 +3469,8 @@ app.post('/api/chat', requireAuth, async (req, res) => { const genData = await genResp.json(); const imageUrl = genData.data?.image_urls?.[0]; if (!imageUrl) { - throw new Error('Nenhuma URL de imagem retornada pela MiniMax'); + const msg = genData.base_resp?.status_msg || 'desconhecido'; + throw new Error(`Nenhuma URL de imagem. Status MiniMax: ${msg}`); } // 2) Baixar e salvar localmente no servidor (a URL expira em pouco tempo)