Merge branch 'staging' into es-modules

90eef29982af6bededc929e225651eac6a3c8ffa

Cohee <18619528+Cohee1207@users.noreply.github.com>

3 files changed, +12 -14Ignore whitespace
public/scripts/extensions/stable-diffusion/index.js+2 -4
@@ -2208,10 +2208,9 @@ function processReply(str) {
22082208
22092209 str = str.replaceAll('"', '');
22102210 str = str.replaceAll('“', '');
2211- str = str.replaceAll('.', ',');
22122211 str = str.replaceAll('\n', ', ');
22132212 str = str.normalize('NFD');
22142213 str = str.replace(/[^a-zA-Z0-9\.,:_(){}<>[\]\-']+/g, ' ');
22152214 str = str.replace(/\s+/g, ' '); // Collapse multiple whitespaces into one
22162215 str = str.trim();
22172216
@@ -2675,8 +2674,7 @@ async function generateTogetherAIImage(prompt, negativePrompt, signal) {
26752674 });
26762675
26772676 if (result.ok) {
26782677 const data =return await result.json();
2679- return { format: 'jpg', data: data?.output?.choices?.[0]?.image_base64 };
26802678 } else {
26812679 const text = await result.text();
26822680 throw new Error(text);
src/endpoints/backends/chat-completions.js+1 -1
@@ -328,7 +328,7 @@ async function sendMakerSuiteRequest(request, response) {
328328 ? (stream ? 'streamGenerateContent' : 'generateContent')
329329 : (isText ? 'generateText' : 'generateMessage');
330330
331331 const generateResponse = await fetch(`${apiUrl.toString().replace(/\/$/, '')}/${apiVersion}/models/${model}:${responseType}?key=${apiKey}${stream ? '&alt=sse' : ''}`, {
332332 body: JSON.stringify(body),
333333 method: 'POST',
334334 headers: {
src/endpoints/stable-diffusion.js+9 -9
@@ -609,10 +609,9 @@ together.post('/generate', jsonParser, async (request, response) => {
609609
610610 console.log('TogetherAI request:', request.body);
611611
612612 const result = await fetch('https://api.together.xyz/apiv1/inferenceimages/generations', {
613613 method: 'POST',
614614 body: JSON.stringify({
615- request_type: 'image-model-inference',
616615 prompt: request.body.prompt,
617616 negative_prompt: request.body.negative_prompt,
618617 height: request.body.height,
@@ -622,8 +621,6 @@ together.post('/generate', jsonParser, async (request, response) => {
622621 n: 1,
623622 // Limited to 10000 on playground, works fine with more.
624623 seed: request.body.seed >= 0 ? request.body.seed : Math.floor(Math.random() * 10_000_000),
625- // Don't know if that's supposed to be random or not. It works either way.
626- sessionKey: getHexString(40),
627624 }),
628625 headers: {
629626 'Content-Type': 'application/json',
@@ -632,19 +629,22 @@ together.post('/generate', jsonParser, async (request, response) => {
632629 });
633630
634631 if (!result.ok) {
635632 console.log('TogetherAI returned an error.', { body: await result.text() });
636633 return response.sendStatus(500);
637634 }
638635
639636 const data = await result.json();
640637 console.log('TogetherAI response:', data);
641638
642- if (data.status !== 'finished') {
639+ const choice = data?.data?.[0];
643- console.log('TogetherAI job failed.');
640+ let b64_json = choice.b64_json;
644- return response.sendStatus(500);
641+
642+ if (!b64_json) {
643+ const buffer = await (await fetch(choice.url)).buffer();
644+ b64_json = buffer.toString('base64');
645645 }
646646
647647 return response.send({ format: 'jpg', data: b64_json });
648648 } catch (error) {
649649 console.log(error);
650650 return response.sendStatus(500);