SeaWolf-AI commited on
Commit
5a4d3cf
ยท
verified ยท
1 Parent(s): 2f85585

429 auto-retry: wait in queue instead of erroring

Browse files
Files changed (1) hide show
  1. index.html +12 -1
index.html CHANGED
@@ -149,6 +149,7 @@ const T={
149
  n2:"Korean prompts lose count: โ€œa red appleโ€ gives one in English, five or six in Korean.",
150
  n3:"This Space runs on shared CPU hardware, so it is slower than the numbers above.",
151
  ft:"We did not train this model. Ours is the CPU packaging, the 3-step setting, the re-quantization, and the measurements.",
 
152
  ex:["a red apple on a wooden table, photorealistic","a misty pine forest at sunrise, cinematic","a calico cat asleep on a windowsill, soft light","a ceramic coffee cup, studio product shot"]},
153
  ko:{tag:"CPU๋งŒ์œผ๋กœ ์ด๋ฏธ์ง€ ์ƒ์„ฑ. GPU๋„ CUDA๋„ ํŒŒ์ด์ฌ๋„ ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค.",
154
  h1:"<b>๊ทธ๋ž˜ํ”ฝ์นด๋“œ ์—†์ด</b> ์‚ฌ์ง„๊ธ‰ ์ด๋ฏธ์ง€๋ฅผ <b>46์ดˆ</b>์—.",
@@ -161,6 +162,7 @@ const T={
161
  n2:"ํ•œ๊ตญ์–ด์—์„œ ๊ฐœ์ˆ˜๋ฅผ ํ˜๋ฆฝ๋‹ˆ๋‹ค. โ€œ๋นจ๊ฐ„ ์‚ฌ๊ณผโ€๊ฐ€ ์˜์–ด๋กœ๋Š” 1๊ฐœ, ํ•œ๊ตญ์–ด๋กœ๋Š” ๋Œ€์—ฌ์„ฏ ๊ฐœ๊ฐ€ ๋‚˜์˜ต๋‹ˆ๋‹ค.",
162
  n3:"์ด ๋ฐ๋ชจ๋Š” ๊ณต์šฉ CPU์—์„œ ๋Œ์•„ ์œ„ ์ˆ˜์น˜๋ณด๋‹ค ๋А๋ฆฝ๋‹ˆ๋‹ค.",
163
  ft:"์ €ํฌ๊ฐ€ ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚จ ๊ฒŒ ์•„๋‹™๋‹ˆ๋‹ค. ์ €ํฌ ๊ฒƒ์€ CPU ํŒจํ‚ค์ง•, 3์Šคํ… ์„ค์ •, ์žฌ์–‘์žํ™”, ๊ทธ๋ฆฌ๊ณ  ์ธก์ •๊ฐ’์ž…๋‹ˆ๋‹ค.",
 
164
  ex:["๋‚˜๋ฌด ํƒ์ž ์œ„์˜ ๋นจ๊ฐ„ ์‚ฌ๊ณผ, ์‚ฌ์‹ค์ ์ธ ์‚ฌ์ง„","ํ•ด ๋œฐ ๋ฌด๋ ต ์•ˆ๊ฐœ ๋‚€ ์†Œ๋‚˜๋ฌด ์ˆฒ, ์˜ํ™”์ ์ธ","์ฐฝ๊ฐ€์—์„œ ์ž๋Š” ์‚ผ์ƒ‰ ๊ณ ์–‘์ด, ๋ถ€๋“œ๋Ÿฌ์šด ๋น›","๋„์ž๊ธฐ ์ปคํ”ผ์ž”, ์ŠคํŠœ๋””์˜ค ์ œํ’ˆ ์‚ฌ์ง„"]},
165
  zh:{tag:"ไป…็”จ CPU ็”Ÿๆˆๅ›พๅƒใ€‚ๆ— ้œ€ GPUใ€CUDA ๆˆ– Pythonใ€‚",
166
  h1:"<b>ๆ— ้œ€ๆ˜พๅก</b>๏ผŒ<b>46 ็ง’</b>็”Ÿๆˆ็…ง็‰‡็บงๅ›พๅƒใ€‚",
@@ -173,6 +175,7 @@ const T={
173
  n2:"ไธญๆ–‡/้Ÿฉๆ–‡ๆ็คบ่ฏไผšไธขๅคฑๆ•ฐ้‡ไฟกๆฏใ€‚",
174
  n3:"ๆœฌๆผ”็คบ่ฟ่กŒๅœจๅ…ฑไบซ CPU ไธŠ๏ผŒๆฏ”ไธŠ่ฟฐๆ•ฐๆฎๆ…ขใ€‚",
175
  ft:"ๆˆ‘ไปฌๆฒกๆœ‰่ฎญ็ปƒ่ฏฅๆจกๅž‹ใ€‚ๆˆ‘ไปฌๅš็š„ๆ˜ฏ CPU ๅฐ่ฃ…ใ€3 ๆญฅ่ฎพ็ฝฎใ€้‡ๆ–ฐ้‡ๅŒ–ไปฅๅŠ่ฟ™ไบ›ๅฎžๆต‹ๆ•ฐๆฎใ€‚",
 
176
  ex:["ๆœจๆกŒไธŠ็š„็บข่‹นๆžœ๏ผŒ็…ง็‰‡็บง็œŸๅฎž","ๆ—ฅๅ‡บๆ—ถๅˆ†้›พๆฐ”ๅผฅๆผซ็š„ๆพๆž—๏ผŒ็”ตๅฝฑๆ„Ÿ","็ช—ๅฐไธŠ็†Ÿ็ก็š„ไธ‰่Šฑ็Œซ๏ผŒๆŸ”ๅ’Œๅ…‰็บฟ","้™ถ็“ทๅ’–ๅ•กๆฏ๏ผŒๆฃšๆ‹ไบงๅ“ๅ›พ"]}
177
  };
178
  let L="en";
@@ -214,7 +217,15 @@ document.getElementById("go").onclick=async()=>{
214
  let w=2; bar.style.width="2%";
215
  const tk=setInterval(()=>{w=Math.min(93,w+1.6);bar.style.width=w+"%";},900);
216
  try{
217
- const r=await fetch("/api/generate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(body)});
 
 
 
 
 
 
 
 
218
  if(!r.ok){throw new Error((await r.text()).slice(0,180));}
219
  const d=await r.json();
220
  img.src=d.image; img.style.display="block"; ph.style.display="none";
 
149
  n2:"Korean prompts lose count: โ€œa red appleโ€ gives one in English, five or six in Korean.",
150
  n3:"This Space runs on shared CPU hardware, so it is slower than the numbers above.",
151
  ft:"We did not train this model. Ours is the CPU packaging, the 3-step setting, the re-quantization, and the measurements.",
152
+ wait:"Someone else is generating. Waiting for your turnโ€ฆ",
153
  ex:["a red apple on a wooden table, photorealistic","a misty pine forest at sunrise, cinematic","a calico cat asleep on a windowsill, soft light","a ceramic coffee cup, studio product shot"]},
154
  ko:{tag:"CPU๋งŒ์œผ๋กœ ์ด๋ฏธ์ง€ ์ƒ์„ฑ. GPU๋„ CUDA๋„ ํŒŒ์ด์ฌ๋„ ํ•„์š” ์—†์Šต๋‹ˆ๋‹ค.",
155
  h1:"<b>๊ทธ๋ž˜ํ”ฝ์นด๋“œ ์—†์ด</b> ์‚ฌ์ง„๊ธ‰ ์ด๋ฏธ์ง€๋ฅผ <b>46์ดˆ</b>์—.",
 
162
  n2:"ํ•œ๊ตญ์–ด์—์„œ ๊ฐœ์ˆ˜๋ฅผ ํ˜๋ฆฝ๋‹ˆ๋‹ค. โ€œ๋นจ๊ฐ„ ์‚ฌ๊ณผโ€๊ฐ€ ์˜์–ด๋กœ๋Š” 1๊ฐœ, ํ•œ๊ตญ์–ด๋กœ๋Š” ๋Œ€์—ฌ์„ฏ ๊ฐœ๊ฐ€ ๋‚˜์˜ต๋‹ˆ๋‹ค.",
163
  n3:"์ด ๋ฐ๋ชจ๋Š” ๊ณต์šฉ CPU์—์„œ ๋Œ์•„ ์œ„ ์ˆ˜์น˜๋ณด๋‹ค ๋А๋ฆฝ๋‹ˆ๋‹ค.",
164
  ft:"์ €ํฌ๊ฐ€ ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚จ ๊ฒŒ ์•„๋‹™๋‹ˆ๋‹ค. ์ €ํฌ ๊ฒƒ์€ CPU ํŒจํ‚ค์ง•, 3์Šคํ… ์„ค์ •, ์žฌ์–‘์žํ™”, ๊ทธ๋ฆฌ๊ณ  ์ธก์ •๊ฐ’์ž…๋‹ˆ๋‹ค.",
165
+ wait:"๋‹ค๋ฅธ ๋ถ„์ด ์ƒ์„ฑ ์ค‘์ž…๋‹ˆ๋‹ค. ์ฐจ๋ก€๋ฅผ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹คโ€ฆ",
166
  ex:["๋‚˜๋ฌด ํƒ์ž ์œ„์˜ ๋นจ๊ฐ„ ์‚ฌ๊ณผ, ์‚ฌ์‹ค์ ์ธ ์‚ฌ์ง„","ํ•ด ๋œฐ ๋ฌด๋ ต ์•ˆ๊ฐœ ๋‚€ ์†Œ๋‚˜๋ฌด ์ˆฒ, ์˜ํ™”์ ์ธ","์ฐฝ๊ฐ€์—์„œ ์ž๋Š” ์‚ผ์ƒ‰ ๊ณ ์–‘์ด, ๋ถ€๋“œ๋Ÿฌ์šด ๋น›","๋„์ž๊ธฐ ์ปคํ”ผ์ž”, ์ŠคํŠœ๋””์˜ค ์ œํ’ˆ ์‚ฌ์ง„"]},
167
  zh:{tag:"ไป…็”จ CPU ็”Ÿๆˆๅ›พๅƒใ€‚ๆ— ้œ€ GPUใ€CUDA ๆˆ– Pythonใ€‚",
168
  h1:"<b>ๆ— ้œ€ๆ˜พๅก</b>๏ผŒ<b>46 ็ง’</b>็”Ÿๆˆ็…ง็‰‡็บงๅ›พๅƒใ€‚",
 
175
  n2:"ไธญๆ–‡/้Ÿฉๆ–‡ๆ็คบ่ฏไผšไธขๅคฑๆ•ฐ้‡ไฟกๆฏใ€‚",
176
  n3:"ๆœฌๆผ”็คบ่ฟ่กŒๅœจๅ…ฑไบซ CPU ไธŠ๏ผŒๆฏ”ไธŠ่ฟฐๆ•ฐๆฎๆ…ขใ€‚",
177
  ft:"ๆˆ‘ไปฌๆฒกๆœ‰่ฎญ็ปƒ่ฏฅๆจกๅž‹ใ€‚ๆˆ‘ไปฌๅš็š„ๆ˜ฏ CPU ๅฐ่ฃ…ใ€3 ๆญฅ่ฎพ็ฝฎใ€้‡ๆ–ฐ้‡ๅŒ–ไปฅๅŠ่ฟ™ไบ›ๅฎžๆต‹ๆ•ฐๆฎใ€‚",
178
+ wait:"ๅ…ถไป–ไบบๆญฃๅœจ็”Ÿๆˆใ€‚ๆญฃๅœจ็ญ‰ๅพ…ๆ‚จ็š„ๅ›žๅˆโ€ฆ",
179
  ex:["ๆœจๆกŒไธŠ็š„็บข่‹นๆžœ๏ผŒ็…ง็‰‡็บง็œŸๅฎž","ๆ—ฅๅ‡บๆ—ถๅˆ†้›พๆฐ”ๅผฅๆผซ็š„ๆพๆž—๏ผŒ็”ตๅฝฑๆ„Ÿ","็ช—ๅฐไธŠ็†Ÿ็ก็š„ไธ‰่Šฑ็Œซ๏ผŒๆŸ”ๅ’Œๅ…‰็บฟ","้™ถ็“ทๅ’–ๅ•กๆฏ๏ผŒๆฃšๆ‹ไบงๅ“ๅ›พ"]}
180
  };
181
  let L="en";
 
217
  let w=2; bar.style.width="2%";
218
  const tk=setInterval(()=>{w=Math.min(93,w+1.6);bar.style.width=w+"%";},900);
219
  try{
220
+ let r,tries=0;
221
+ while(true){
222
+ r=await fetch("/api/generate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(body)});
223
+ if(r.status!==429) break;
224
+ tries++;
225
+ if(tries>40) throw new Error("timeout waiting for a free slot");
226
+ mt.innerHTML=`<span>โณ ${T[L].wait} (${tries})</span>`;
227
+ await new Promise(s=>setTimeout(s,8000));
228
+ }
229
  if(!r.ok){throw new Error((await r.text()).slice(0,180));}
230
  const d=await r.json();
231
  img.src=d.image; img.style.display="block"; ph.style.display="none";