diff --git a/ui/studio.html b/ui/studio.html index 4188aedb..ffd9b213 100644 --- a/ui/studio.html +++ b/ui/studio.html @@ -1,224 +1,822 @@ - - - ACE-Step Studio (Experimental) - + + + ACE-Step Studio (Pro) + + + + + -

ACE-Step Studio Experimental

-

Optional frontend for the ACE-Step REST API. Start the API server, then open this file in a browser.

- -
-

Connection

- - -
- -
-

Prompt

- - - - -
- - -
- -
- -
-

Options

-
-
- - -
-
- - -
-
- - -
-
-
- - + +
+

ACE-Step Studio PRO

+
+
-
- -
- -
-
-
- - + }, pollInterval); + } + + function handleSuccess(task) { + try { + let result = task.result; + if (typeof result === 'string') result = JSON.parse(result); + if (Array.isArray(result)) result = result[0]; + + const baseUrl = getBaseUrl(); + const fileUrl = result.url || result.file; + const fullUrl = fileUrl.startsWith('http') ? fileUrl : `${baseUrl}/${fileUrl.replace(/^\//, '')}`; + + const card = document.createElement('div'); + card.className = 'result-card'; + + const metas = result.metas || {}; + const metaHtml = ` +
+ ${(result.prompt || elements.prompt.value).substring(0, 50)}...
+ BPM: ${metas.bpm || '-'} | Key: ${metas.keyscale || '-'} | Dur: ${metas.duration || '-'}s +
+ `; + + card.innerHTML = ` + ${metaHtml} + +
+ Download +
+ `; + + elements.resultsGrid.prepend(card); + } catch (e) { + log("Parsing error: " + e.message, "log-error"); + } + } + + - + \ No newline at end of file