openfree commited on
Commit
e5da7c7
ยท
verified ยท
1 Parent(s): 7c5d7c3

Update app-english-backup.py

Browse files
Files changed (1) hide show
  1. app-english-backup.py +210 -226
app-english-backup.py CHANGED
@@ -282,246 +282,237 @@ def send_to_sandbox(code):
282
  theme = gr.themes.Soft()
283
 
284
  def load_json_data():
285
- # ํ•˜๋“œ์ฝ”๋”ฉ๋œ ๋ฐ์ดํ„ฐ ๋ฐ˜ํ™˜
286
  return [
287
  {
288
- "name": "[๊ฒŒ์ž„] ๋ณด์„ ํŒกํŒก ๊ฒŒ์ž„",
289
- "image_url": "data:image/gif;base64," + get_image_base64('jewel.gif'), # mouse.gif ์‚ฌ์šฉ
290
- "prompt": "์ด ๊ฒŒ์ž„ ๊ตฌ์„ฑ ํ”„๋กฌํ”„ํŠธ๋Š” https://huggingface.co/spaces/openfree/ifbhdc ์ฐธ์กฐ"
291
- },
292
  {
293
- "name": "[ํ™ˆํŽ˜์ด์ง€] AI ์Šคํƒ€ํŠธ์—…",
294
- "image_url": "data:image/png;base64," + get_image_base64('home.png'), # mouse.gif ์‚ฌ์šฉ
295
- "prompt": "๋žœ๋”ฉ ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค์–ด๋ผ. ์ „๋ฌธ๊ฐ€ ์ œ์ž‘ ํ˜•ํƒœ์˜ ๋ฉ‹์ง„ ๋น„์ฃผ์–ผ๋กœ ๊ตฌ์„ฑ,์ด๋ชจ์ง€๋ฅผ ์ ์ ˆํžˆ ํ™œ์šฉํ•˜๊ณ  ๋‹ค์Œ์˜ ๋‚ด์šฉ์„ ์ฐธ๊ณ ํ•˜์—ฌ ๋ฐ˜์˜ํ•˜๋„๋ก ํ•˜๋ผ.๋งˆ์šฐ์Šค-I๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ์›น ์„œ๋น„์Šค๋ฅผ ํ”„๋กฌํ”„ํŠธ๋กœ ์ž…๋ ฅํ•˜๋ฉด 60์ดˆ ์ด๋‚ด์— ์‹ค์ œ ์ž‘๋™ํ•˜๋Š” ์›น ์„œ๋น„์Šค๋ฅผ ์ž๋™ ์ƒ์„ฑํ•˜๋Š” ๋„๊ตฌ๋‹ค. ๋งˆ์šฐ์Šค-I์˜ ์ฃผ์š” ๊ธฐ๋Šฅ์€ โ–ฒ์›ํด๋ฆญ ์‹ค์‹œ๊ฐ„ ๋ฐฐํฌ โ–ฒ์‹ค์‹œ๊ฐ„ ๋ฏธ๋ฆฌ๋ณด๊ธฐ โ–ฒ40์—ฌ ๊ฐ€์ง€ ์ฆ‰์‹œ ์ ์šฉ ํ…œํ”Œ๋ฆฟ โ–ฒ์‹ค์‹œ๊ฐ„ ์ˆ˜์ • ๋“ฑ์ด๋‹ค. MBTI ํ…Œ์ŠคํŠธ, ํˆฌ์ž ๊ด€๋ฆฌ ๋„๊ตฌ, ํ…ŒํŠธ๋ฆฌ์Šค ๊ฒŒ์ž„ ๋“ฑ ๋‹ค์–‘ํ•œ ํ…œํ”Œ๋ฆฟ์„ ์ œ๊ณตํ•ด ๋น„๊ฐœ๋ฐœ์ž๋„ ์ฆ‰์‹œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค."
296
- },
297
  {
298
- "name": "[์‹ฌ๋ฆฌ] MBTI ์ง„๋‹จ ์„œ๋น„์Šค",
299
- "image_url": "data:image/png;base64," + get_image_base64('mbti.png'), # mbti.png ์‚ฌ์šฉ
300
- "prompt": "MBTI ์ง„๋‹จ์„ ์œ„ํ•ด 15๊ฐœ์˜ ์งˆ๋ฌธ๊ณผ ๊ฐ๊ด€์‹ ๋‹ต๋ณ€์„ ํ†ตํ•ด MBTI ์ง„๋‹จ ๊ฒฐ๊ณผ ๋ฐ ํ•ด๋‹น ์„ฑ๊ฒฉ์— ๋Œ€ํ•œ ์ƒ์„ธํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•˜๋ผ"
301
- },
302
  {
303
- "name": "[๋Œ€์‹œ ๋ณด๋“œ] ํˆฌ์ž ํฌํŠธํด๋ฆฌ์˜ค ๋Œ€์‹œ๋ณด๋“œ",
304
- "image_url": "data:image/png;base64," + get_image_base64('dash.png'), # mouse.gif ์‚ฌ์šฉ
305
- "prompt": "Create an interactive dashboard with Chart.js showing different types of charts (line, bar, pie) with smooth animations. Include buttons to switch between different data views.ํˆฌ์ž ํฌํŠธํด๋ฆฌ์˜ค๋ฅผ ๋ถ„์„ํ•˜์—ฌ ์œ„ํ—˜๋„, ์ˆ˜์ต๋ฅ , ์ž์‚ฐ ๋ฐฐ๋ถ„์„ ์‹œ๊ฐํ™”ํ•˜๋Š” ํˆฌ์ž ๊ด€๋ฆฌ ๋„๊ตฌ๋ฅผ ๋งŒ๋“œ์„ธ์š”."
306
  },
307
  {
308
- "name": "[๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ] ์˜ค๋””์˜ค ๋น„์ฃผ์–ผ๋ผ์ด์ €",
309
- "image_url": "data:image/png;base64," + get_image_base64('audio.png'), # mouse.gif ์‚ฌ์šฉ
310
- "prompt": "Web Audio API์™€ Canvas๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜ค๋””์˜ค ๋น„์ฃผ์–ผ๋ผ์ด์ €๋ฅผ ์ œ์ž‘ํ•ด ๋ณด์„ธ์š”. ์Œ์•… ์ฃผํŒŒ์ˆ˜ ๋ฐ์ดํ„ฐ์— ๋ฐ˜์‘ํ•˜๋Š” ๋™์ ์ธ ๋ง‰๋Œ€๋“ค์ด ๋ถ€๋“œ๋Ÿฌ์šด ์• ๋‹ˆ๋ฉ”์ด์…˜์œผ๋กœ ์›€์ง์ด๋„๋ก ๊ตฌํ˜„ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์žฌ์ƒ/์ผ์‹œ ์ •์ง€ ์ปจํŠธ๋กค๊ณผ ์ƒ‰์ƒ ํ…Œ๋งˆ ์„ ํƒ ๊ธฐ๋Šฅ๋„ ํฌํ•จํ•˜์„ธ์š”."
311
- },
312
  {
313
- "name": "[๊ฒŒ์ž„] ์ฒด์Šค ๊ฒŒ์ž„",
314
- "image_url": "data:image/png;base64," + get_image_base64('chess.png'), # mouse.gif ์‚ฌ์šฉ
315
- "prompt": "์ฒด์Šค ๊ฒŒ์ž„: ์ฒด์Šค ๊ฒŒ์ž„์˜ ๋ฃฐ์„ ์ •ํ™•ํ•˜๊ฒŒ ์‹๋ณ„ํ•˜๊ณ  ์ ์šฉํ•˜๋ผ, ์ƒ๋Œ€๋ฐฉ์€ auto๋กœ ๊ฒŒ์ž„์„ ์ง„ํ–‰ํ•˜๋ผ"
316
  },
317
  {
318
- "name": "[๊ฒŒ์ž„] ๋ฒฝ๋Œ๊นจ๊ธฐ ๊ฒŒ์ž„",
319
- "image_url": "data:image/png;base64," + get_image_base64('alcaroid.png'), # mouse.gif ์‚ฌ์šฉ
320
- "prompt": "๋ฒฝ๋Œ๊นจ๊ธฐ ๊ฒŒ์ž„"
321
- },
322
  {
323
- "name": "[Fun] ํƒ€๋กœ์นด๋“œ ์šด์„ธ",
324
- "image_url": "data:image/png;base64," + get_image_base64('tarot.png'), # mouse.gif ์‚ฌ์šฉ
325
- "prompt": "ํƒ€๋กœ์นด๋“œ ์šด์„ธ๋ฅผ ์ ์น˜๋Š”๊ฒƒ์„ ์ƒ์„ฑํ•˜๋ผ. ์•„์ฃผ ์ƒ์„ธํ•˜๊ณ  ์ „๋ฌธ์ ์ด๋ฉด์„œ ์‰ฝ๊ณ  ๊ธธ๊ฒŒ ๋‹ต๋ณ€ํ•˜๋ผ. ๋ชจ๋“  ๋‹ต๋ณ€๊ณผ ์„ค๋ช…์€ ํ•œ๊ธ€๋กœ ํ•˜๋ผ"
326
  },
327
  {
328
- "name": "[Fun] AI ์š”๋ฆฌ์‚ฌ",
329
- "image_url": "data:image/png;base64," + get_image_base64('cook.png'), # mouse.gif ์‚ฌ์šฉ
330
- "prompt": "๋‹ค์–‘ํ•œ ์Œ์‹ ์žฌ๋ฃŒ 10๊ฐœ๋ฅผ ์ œ์‹œํ•˜๊ณ , ๊ทธ์ค‘ ์„ ํƒํ•œ ์žฌ๋ฃŒ ์นด๋“œ๋ฅผ '์š”๋ฆฌ ๋ƒ„๋น„'์•ˆ์— ์ง‘์–ด๋„ฃ๊ณ  '์š”๋ฆฌ'๋ฅผ ํด๋ฆญํ•˜๋ฉด, ๋ฐ˜๋“œ์‹œ ์„ ํƒํ•œ ์žฌ๋ฃŒ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์š”๋ฆฌ์™€ ๋ ˆ์‹œํ”ผ๋ฅผ ์ถœ๋ ฅํ•˜์—ฌ์•ผ ํ•˜๋ฉฐ ์š”๋ฆฌ ๋ ˆ์‹œํ”ผ ํฌ๋กค๋ง ์ด๋‚˜ ๊ฒ€์ƒ‰์„ ํ†ตํ•ด ์ ์šฉํ•˜๋ผ"
331
- },
332
  {
333
- "name": "[๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ] ํ…์ŠคํŠธ๋กœ ์Œ์„ฑ ์ƒ์„ฑ ๋ฐ ์กฐ์ •",
334
- "image_url": "data:image/png;base64," + get_image_base64('tts.png'), # mouse.gif ์‚ฌ์šฉ
335
- "prompt": "ํ…์ŠคํŠธ๋ฅผ ์Œ์„ฑ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ณ , ์Œ์„ฑ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜์„ธ์š”."
336
  },
337
  {
338
- "name": "[ํ•™์Šต] 3D ๋ถ„์ž ์‹œ๋ฎฌ๋ ˆ์ด์…˜",
339
- "image_url": "data:image/png;base64," + get_image_base64('3ds.png'), # mouse.gif ์‚ฌ์šฉ
340
- "prompt": "Three.js๋กœ 3D ๋ถ„์ž ๊ตฌ์กฐ(์ฃผ์š” ๋ถ„์ž๋“ค์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ๊ฒŒ)๋ฅผ ์‹œ๊ฐํ™”ํ•˜์„ธ์š”. ํšŒ์ „, ์คŒ, ์›์ž ์ •๋ณด ํ‘œ์‹œ ๊ธฐ๋Šฅ๊ณผ ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ๋ฅผ ๊ตฌํ˜„ํ•˜์„ธ์š”."
341
- },
342
  {
343
- "name": "[์ปดํฌ๋„ŒํŠธ] ์ด๋ฉ”์ผ ํšŒ์›๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ",
344
- "image_url": "data:image/png;base64," + get_image_base64('login.png'), # mouse.gif ์‚ฌ์šฉ
345
- "prompt": "์ด๋ฉ”์ผ ํšŒ์›๊ฐ€์ž… & ๋กœ๊ทธ์ธ ์›นํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค์–ด์ฃผ์„ธ์š”. ๋‹ค์Œ ์š”๊ตฌ์‚ฌํ•ญ์„ ๋ฐ˜์˜ํ•ด์ฃผ์„ธ์š”: 1. ๋””์ž์ธ - ๋ชจ๋˜ํ•˜๊ณ  ๋ฏธ๋‹ˆ๋ฉ€ํ•œ UI/UX - ๋ฐ˜์‘ํ˜• ๋ ˆ์ด์•„์›ƒ - ๋ถ€๋“œ๋Ÿฌ์šด ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ - ์ ์ ˆํ•œ ํผ validation ํ”ผ๋“œ๋ฐฑ 2. ํšŒ์›๊ฐ€์ž… ๊ธฐ๋Šฅ 3. ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ - ์ด๋ฉ”์ผ/๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ - ์ž๋™๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ - ๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐพ๊ธฐ ๋งํฌ - ๋กœ๊ทธ์ธ ์‹คํŒจ์‹œ ์—๋Ÿฌ ๋ฉ”์‹œ์ง€ - ๋กœ๊ทธ์ธ ์„ฑ๊ณต์‹œ ํ™˜์˜ ๋ฉ”์‹œ์ง€ "
346
- },
347
  {
348
- "name": "[์‹ฌ๋ฆฌ] ๋‚˜์˜ ์‹ฌ๋ฆฌ์ƒํƒœ ํ€ด์ฆˆ ",
349
  "image_url": "data:image/png;base64," + get_image_base64('simri.png'),
350
- "prompt": "๋‹ค์–‘ํ•œ ์‹ฌ๋ฆฌ ์ƒํƒœ ํŒŒ์•…์„ ์œ„ํ•œ ๊ฐ๊ด€์‹ ๋ฌธ์ œ ์ถœ์ œํ•˜๊ณ , ์„ ํƒ ๊ฒฐ๊ณผ์— ๋Œ€ํ•œ ์‹ฌ๋ฆฌํ•™์  ํ•ด์„ค์„ ํ•ด์ค˜. ์˜ˆ) ๊ธธ์„ ๊ฐ€๋Š” ๋‹น์‹ ์ด ๋งŒ๋‚œ ๋™๋ฌผ์ž…๋‹ˆ๋‹ค. 1) ๊ฐœ 2) ์‚ฌ์ž 3) ๊ณฐ 4) ๊ณ ์–‘์ด "
351
- },
352
  {
353
- "name": "[Fun] ํ–‰์šด์˜ ๋ฃฐ๋ ›",
354
- "image_url": "data:image/png;base64," + get_image_base64('roolet.png'), # mouse.gif ์‚ฌ์šฉ
355
- "prompt": "ํ–‰์šด์˜ ์›ํ˜• ๋ฃฐ๋ ›์ด ๋น ๋ฅด๊ฒŒ ๋Œ์•„๊ฐ€๊ณ , ๋งˆ์šฐ์Šค๋กœ ํ™”์‚ด ๋ฐœ์‚ฌ ๋ฒ„ํŠผ ๋ˆ„๋ฅด๋ฉด ๋ฃฐ๋ ›์˜ ๋ฒˆํ˜ธ์— ๋žœ๋คํ•˜๊ฒŒ ๋งž๋Š”๋‹ค. ๊ฐ ๋ฒˆํ˜ธ์— ์ƒ๊ธˆ์ด '๊ฝ' ~ '100๋งŒ์›' ๊นŒ์ง€ ๋žœ๋คํ•˜๊ฒŒ ๋ฐฐ์น˜๋˜์–ด ์žˆ๋‹ค. shoot ์„ ํƒ๋œ ๋ฒˆํ˜ธ์— ๋”ฐ๋ผ ํ•ด๋‹น ๋ฒˆํ˜ธ์— ๋ฐฐ์น˜๋œ ์ƒ๊ธˆ ์•ก์ˆ˜๋„ ์ถœ๋ ฅํ•˜๋ผ"
356
- },
357
  {
358
- "name": "[๊ฒŒ์ž„] ํ…ŒํŠธ๋ฆฌ์Šค ๊ฒŒ์ž„",
359
  "image_url": "data:image/png;base64," + get_image_base64('127.png'),
360
- "prompt": "๊ณ ์ „ ํ…ŒํŠธ๋ฆฌ์Šค ๊ฒŒ์ž„์„ ๋งŒ๋“œ์„ธ์š”. ์Šคํƒ€ํŠธ์™€ ๋ฆฌ์Šคํƒ€ํŠธ ๋ฒ„ํŠผ์„ ํฌํ•จํ•˜์„ธ์š”. ํ…ŒํŠธ๋ฆฌ์Šค์˜ ๊ทœ์น™์„ ์ž˜ ๋”ฐ๋ผ์•ผํ•ฉ๋‹ˆ๋‹ค."
361
- },
362
-
363
  {
364
- "name": "[๊ฒŒ์ž„] ์นด๋“œ ๊ธฐ์–ต ๊ฒŒ์ž„",
365
  "image_url": "data:image/png;base64," + get_image_base64('112.png'),
366
- "prompt": "Create a classic memory matching card game with flip animations. Include a scoring system, timer, and difficulty levels. Add satisfying match/mismatch animations and sound effects using Web Audio API."
367
- }, #์—ฌ๊ธฐ๊นŒ์ง€ ๋ฒ ์ŠคํŠธ(12๊ฑด) ์ ์šฉ ๋Œ€์ƒ
368
  {
369
- "name": "[๋„๊ตฌ] ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ ์Šค์ผ€์ฅด๋Ÿฌ",
370
  "image_url": "data:image/png;base64," + get_image_base64('122.png'),
371
- "prompt": "๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ์œผ๋กœ ์ผ์ •์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ฌ๋ ฅ์„ ๋งŒ๋“œ์„ธ์š”. ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ์™€ ์ผ์ • ํ•„ํ„ฐ๋ง ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”."
372
  },
373
  {
374
- "name": "[๊ฒŒ์ž„] ํƒ€์ž ๊ฒŒ์ž„",
375
  "image_url": "data:image/png;base64," + get_image_base64('123.png'),
376
- "prompt": "๋–จ์–ด์ง€๋Š” ๋‹จ์–ด๋ฅผ ํƒ€์ดํ•‘ํ•˜์—ฌ ์ ์ˆ˜๋ฅผ ์–ป๋Š” ๊ฒŒ์ž„์„ ๋งŒ๋“œ์„ธ์š”. ๋‚œ์ด๋„ ์กฐ์ ˆ๊ณผ ํšจ๊ณผ์Œ์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”."
377
  },
378
  {
379
- "name": "[์• ๋‹ˆ๋ฉ”์ด์…˜] ์ธํ„ฐ๋ ‰ํ‹ฐ๋ธŒ STARs",
380
  "image_url": "data:image/png;base64," + get_image_base64('135.png'),
381
- "prompt": "Interactive Stars: Watch stars and constellations appear in the night sky as you move your mouse."
382
- },
383
  {
384
- "name": "[3D] ์ง€ํ˜• ์ƒ์„ฑ๊ธฐ",
385
  "image_url": "data:image/png;base64," + get_image_base64('131.png'),
386
- "prompt": "Three.js๋กœ ํ”„๋กœ์‹œ์ €๋Ÿด ์ง€ํ˜•์„ ์ƒ์„ฑํ•˜์„ธ์š”. ๊ณ ๋„, ํ…์Šค์ฒ˜, ๋ฌผ ํšจ๊ณผ๋ฅผ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“œ์„ธ์š”."
387
  },
388
  {
389
- "name": "[3D] ํ…์ŠคํŠธ ์• ๋‹ˆ๋ฉ”์ดํ„ฐ",
390
  "image_url": "data:image/png;base64," + get_image_base64('132.png'),
391
- "prompt": "Three.js๋กœ 3D ํ…์ŠคํŠธ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๋งŒ๋“œ์„ธ์š”. ๋‹ค์–‘ํ•œ ๋ณ€ํ™˜ ํšจ๊ณผ์™€ ๋ฌผ๋ฆฌ ๊ธฐ๋ฐ˜ ์ž…์ž ํšจ๊ณผ๋ฅผ ๊ตฌํ˜„ํ•˜์„ธ์š”."
392
- },
393
  {
394
- "name": "[์œ„์ ฏ] ๋‚ ์”จ ์• ๋‹ˆ๋ฉ”์ด์…˜",
395
  "image_url": "data:image/png;base64," + get_image_base64('114.png'),
396
- "prompt": "ํ˜„์žฌ ๋‚ ์”จ ์ƒํƒœ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜ ์œ„์ ฏ์„ ๋งŒ๋“œ์„ธ์š”. ๋น„, ๋ˆˆ, ๊ตฌ๋ฆ„, ๋ฒˆ๊ฐœ ๋“ฑ์˜ ๋‚ ์”จ ํšจ๊ณผ๋ฅผ Canvas๋กœ ๊ตฌํ˜„ํ•˜๊ณ  ๋ถ€๋“œ๋Ÿฌ์šด ์ „ํ™˜ ํšจ๊ณผ๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š”."
397
  },
398
- {
399
- "name": "[์‹œ๋ฎฌ๋ ˆ์ด์…˜] ๋ฌผ๋ฆฌ ์—”์ง„",
400
  "image_url": "data:image/png;base64," + get_image_base64('125.png'),
401
- "prompt": "Canvas๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ„๋‹จํ•œ ๋ฌผ๋ฆฌ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ๊ตฌํ˜„ํ•˜์„ธ์š”. ์ค‘๋ ฅ, ์ถฉ๋Œ, ํƒ„์„ฑ ํšจ๊ณผ๋ฅผ ์ ์šฉํ•œ ๊ณต ํŠ€๊ธฐ๊ธฐ ์‹œ๋ฎฌ๋ ˆ์ด์…˜์„ ๋งŒ๋“œ์„ธ์š”."
402
  },
403
  {
404
- "name": "[์˜ค๋””์˜ค] ์‚ฌ์šด๋“œ ๋ฏน์„œ",
405
  "image_url": "data:image/png;base64," + get_image_base64('126.png'),
406
- "prompt": "Web Audio API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ์Œ์›์„ ๋ฏน์‹ฑํ•  ์ˆ˜ ์žˆ๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“œ์„ธ์š”. ๋ณผ๋ฅจ, ํŒจ๋‹, ์ดํŽ™ํŠธ ์กฐ์ ˆ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜์„ธ์š”."
407
- },
408
  {
409
- "name": "[์ดํŽ™ํŠธ] ํŒŒํ‹ฐํด ํ…์ŠคํŠธ",
410
  "image_url": "data:image/png;base64," + get_image_base64('116.png'),
411
- "prompt": "ํ…์ŠคํŠธ๊ฐ€ ํŒŒํ‹ฐํด๋กœ ๋ณ€ํ™˜๋˜๋Š” ํšจ๊ณผ๋ฅผ ๊ตฌํ˜„ํ•˜์„ธ์š”. ๋งˆ์šฐ์Šค ํ˜ธ๋ฒ„์‹œ ๊ธ€์ž๊ฐ€ ํฉ์–ด์กŒ๋‹ค๊ฐ€ ๋‹ค์‹œ ๋ชจ์ด๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜์„ Canvas๋กœ ๋งŒ๋“œ์„ธ์š”."
412
  },
413
  {
414
- "name": "[3D] ์ฑ…์žฅ ๊ฐค๋Ÿฌ๋ฆฌ",
415
  "image_url": "data:image/png;base64," + get_image_base64('115.png'),
416
- "prompt": "CSS 3D ๋ณ€ํ™˜์„ ์‚ฌ์šฉํ•˜์—ฌ ํšŒ์ „ํ•˜๋Š” ์ฑ…์žฅ ํ˜•ํƒœ์˜ ๊ฐค๋Ÿฌ๋ฆฌ๋ฅผ ๋งŒ๋“œ์„ธ์š”. ๊ฐ ์ฑ…์„ ํด๋ฆญํ•˜๋ฉด ์ƒ์„ธ ์ •๋ณด๊ฐ€ ๋‚˜ํƒ€๋‚˜๋„๋ก ๊ตฌํ˜„ํ•˜์„ธ์š”."
417
- },
418
  {
419
- "name": "[๊ฒŒ์ž„] ๋ฆฌ๋“ฌ ๊ฒŒ์ž„",
420
  "image_url": "data:image/png;base64," + get_image_base64('117.png'),
421
- "prompt": "Web Audio API๋ฅผ ํ™œ์šฉํ•œ ๊ฐ„๋‹จํ•œ ๋ฆฌ๋“ฌ ๊ฒŒ์ž„์„ ๋งŒ๋“œ์„ธ์š”. ๋–จ์–ด์ง€๋Š” ๋…ธํŠธ์™€ ํƒ€์ด๋ฐ ํŒ์ •, ์ ์ˆ˜ ์‹œ์Šคํ…œ์„ ๊ตฌํ˜„ํ•˜์„ธ์š”."
422
  },
423
  {
424
- "name": "[์• ๋‹ˆ๋ฉ”์ด์…˜] SVG ํŒจ์Šค",
425
  "image_url": "data:image/png;base64," + get_image_base64('118.png'),
426
- "prompt": "SVG ํŒจ์Šค๋ฅผ ๋”ฐ๋ผ ์›€์ง์ด๋Š” ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๊ตฌํ˜„ํ•˜์„ธ์š”. ๋‹ค์–‘ํ•œ ๋„ํ˜•์ด ๊ทธ๋ ค์ง€๋Š” ๊ณผ์ •์„ ๋ณด์—ฌ์ฃผ๊ณ  ์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒํ•œ ์ปจํŠธ๋กค์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”."
427
- }, #์—ฌ๊ธฐ๊นŒ์ง€๊ฐ€ ํŠธ๋ Œ๋“œ 12๊ฐœ ํ•ญ๋ชฉ์ž„
428
  {
429
- "name": "[๋„๊ตฌ] ๋“œ๋กœ์ž‰ ๋ณด๋“œ",
430
  "image_url": "data:image/png;base64," + get_image_base64('119.png'),
431
- "prompt": "Canvas๋ฅผ ์‚ฌ์šฉํ•œ ๊ทธ๋ฆฌ๊ธฐ ๋„๊ตฌ๋ฅผ ๋งŒ๋“œ์„ธ์š”. ๋ธŒ๋Ÿฌ์‹œ ํฌ๊ธฐ, ์ƒ‰์ƒ ๋ณ€๊ฒฝ, ์ง€์šฐ๊ฐœ ๊ธฐ๋Šฅ๊ณผ ๊ทธ๋ฆฌ๊ธฐ ๊ธฐ๋ก ์ €์žฅ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜์„ธ์š”."
432
  },
433
  {
434
- "name": "[๊ฒŒ์ž„] ํผ์ฆ ์Šฌ๋ผ์ด๋“œ",
435
  "image_url": "data:image/png;base64," + get_image_base64('120.png'),
436
- "prompt": "์ˆซ์ž๋‚˜ ์ด๋ฏธ์ง€๋ฅผ ์‚ฌ์šฉํ•œ ์Šฌ๋ผ์ด๋“œ ํผ์ฆ ๊ฒŒ์ž„์„ ๋งŒ๋“œ์„ธ์š”. ์ด๋™ ์• ๋‹ˆ๋ฉ”์ด์…˜๊ณผ ์™„์„ฑ ํ™•์ธ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜์„ธ์š”."
437
  },
438
  {
439
- "name": "[์ปดํฌ๋„ŒํŠธ] ์ธํ„ฐ๋ ‰ํ‹ฐ๋ธŒ ํƒ€์ž„๋ผ์ธ",
440
  "image_url": "data:image/png;base64," + get_image_base64('111.png'),
441
  "prompt": "Create a vertical timeline with animated entry points. When clicking on timeline items, show detailed information with smooth transitions. Include filtering options and scroll animations."
442
  },
443
  {
444
- "name": "[๋„๊ตฌ] ์„ค๋ฌธ์กฐ์‚ฌ ์ž‘์„ฑ",
445
  "image_url": "data:image/png;base64," + get_image_base64('survay.png'),
446
- "prompt": "์„ค๋ฌธ์กฐ์‚ฌ ์ž‘์„ฑ: ๊ฒฐํ˜ผ์— ๋Œ€ํ•œ ์ธ์‹ ์กฐ์‚ฌ๋ฅผ ์œ„ํ•ด ์ด 10๊ฐœ์˜ ์„ค๋ฌธ(์ด๋ฉ”์ผ ์ฃผ์†Œ, ์ƒ๋…„ ์ž…๋ ฅ)๊ณผ ๋ถ„์„์„ ํ•˜๋ผ. ์ˆ˜์ง‘๋œ ์ •๋ณด๋Š” ๋กœ์ปฌ์Šคํ† ๋ฆฌ์ง€์— logํŒŒ์ผ๋กœ ์ €์žฅํ•˜๊ฒŒ ํ•˜๋ผ."
447
- },
448
  {
449
- "name": "[์‹œ๊ฐํ™”] ๋ฐ์ดํ„ฐ ์• ๋‹ˆ๋ฉ”์ด์…˜",
450
  "image_url": "data:image/png;base64," + get_image_base64('124.png'),
451
- "prompt": "D3.js๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๋ณ€ํ™”๋ฅผ ์• ๋‹ˆ๋ฉ”์ด์…˜์œผ๋กœ ๋ณด์—ฌ์ฃผ๋Š” ์ฐจํŠธ๋ฅผ ๋งŒ๋“œ์„ธ์š”. ๋‹ค์–‘ํ•œ ์ „ํ™˜ ํšจ๊ณผ๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š”."
452
  },
453
  {
454
- "name": "[๋„๊ตฌ] ์œ ํŠœ๋ธŒ ์˜์ƒ ์žฌ์ƒ/๋ถ„์„/์š”์•ฝ",
455
  "image_url": "data:image/png;base64," + get_image_base64('yout.png'),
456
- "prompt": "์œ ํŠœ๋ธŒ url์„ ์ž…๋ ฅํ•˜๋ฉด ์˜์ƒ์ด ์ถœ๋ ฅ๋˜๋ผ. ํ•ด๋‹น ์˜์ƒ์— ๋Œ€ํ•œ ์ถ”๊ฐ€์ ์ธ ๋ถ„์„์ด๋‚˜ ์š”์•ฝ๋„ ํ•„์š”ํ•˜๋‹ค"
457
- },
458
  {
459
- "name": "[๋„๊ตฌ] ์„ธ๊ณ„ ์ง€๋„/ ๊ตญ๊ฐ€ ์ง€๋„",
460
  "image_url": "data:image/png;base64," + get_image_base64('map.png'),
461
- "prompt": "์„ธ๊ณ„์ง€๋„ ๋งต์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตญ๊ฐ€๋ณ„ ์ง€๋„ ํ‘œ์‹œ ๋ฐ ์ธ๊ตฌ์ˆ˜๋ฅผ ์ฐจํŠธ๋กœ ์ถœ๋ ฅํ•˜๋Š” ๋Œ€์‹œ๋ณด๋“œ"
462
- },
463
  {
464
- "name": "[์ปดํฌ๋„ŒํŠธ] ๊ฒŒ์‹œํŒ",
465
  "image_url": "data:image/png;base64," + get_image_base64('128.png'),
466
- "prompt": "์ธํ„ฐ๋„ท ๊ฒŒ์‹œํŒ์„ ๋งŒ๋“œ์„ธ์š”. ํ…์ŠคํŠธ๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์ €์žฅ๋˜๊ณ  ์ฝ์„ ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค."
467
  },
468
  {
469
- "name": "[๋„๊ตฌ] ํฌํ†  ์—๋””ํ„ฐ",
470
  "image_url": "data:image/png;base64," + get_image_base64('129.png'),
471
- "prompt": "Canvas๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ธฐ๋ณธ์ ์ธ ์ด๋ฏธ์ง€ ํŽธ์ง‘ ๋„๊ตฌ๋ฅผ ๋งŒ๋“œ์„ธ์š”. ํ•„ํ„ฐ ์ ์šฉ, ์ž๋ฅด๊ธฐ, ํšŒ์ „ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜์„ธ์š”."
472
  },
473
  {
474
- "name": "[์‹œ๊ฐํ™”] ๋งˆ์ธ๋“œ๋งต",
475
  "image_url": "data:image/png;base64," + get_image_base64('130.png'),
476
- "prompt": "D3.js๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋™์  ๋งˆ์ธ๋“œ๋งต์„ ๋งŒ๋“œ์„ธ์š”. ๋…ธ๋“œ ์ถ”๊ฐ€/์‚ญ์ œ, ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ, ํ™•์žฅ/์ถ•์†Œ ์• ๋‹ˆ๋ฉ”์ด์…˜์„ ๊ตฌํ˜„ํ•˜์„ธ์š”."
477
  },
478
-
479
-
480
  {
481
- "name": "[๋„๊ตฌ] ํŒจํ„ด ๋””์ž์ด๋„ˆ",
482
  "image_url": "data:image/png;base64," + get_image_base64('133.png'),
483
- "prompt": "SVG๋กœ ๋ฐ˜๋ณต ํŒจํ„ด์„ ๋””์ž์ธํ•˜๋Š” ๋„๊ตฌ๋ฅผ ๋งŒ๋“œ์„ธ์š”. ๋Œ€์นญ ์˜ต์…˜, ์ƒ‰์ƒ ์Šคํ‚ค๋งˆ ๊ด€๋ฆฌ, ์‹ค์‹œ๊ฐ„ ํ”„๋ฆฌ๋ทฐ๋ฅผ ๊ตฌํ˜„ํ•˜์„ธ์š”."
484
  },
485
  {
486
- "name": "[๋ฉ€ํ‹ฐ๋ฏธ๋””์–ด] ์‹ค์‹œ๊ฐ„ ํ•„ํ„ฐ ์นด๋ฉ”๋ผ",
487
  "image_url": "data:image/png;base64," + get_image_base64('134.png'),
488
- "prompt": "WebRTC์™€ Canvas๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹ค์‹œ๊ฐ„ ๋น„๋””์˜ค ํ•„ํ„ฐ ์•ฑ์„ ๋งŒ๋“œ์„ธ์š”. ๋‹ค์–‘ํ•œ ์ด๋ฏธ์ง€ ์ฒ˜๋ฆฌ ํšจ๊ณผ๋ฅผ ๊ตฌํ˜„ํ•˜์„ธ์š”."
489
  },
490
-
491
  {
492
- "name": "[์‹œ๊ฐํ™”] ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ํ”Œ๋กœ์šฐ",
493
  "image_url": "data:image/png;base64," + get_image_base64('136.png'),
494
- "prompt": "D3.js๋กœ ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ํ๋ฆ„์„ ์‹œ๊ฐํ™”ํ•˜์„ธ์š”. ๋…ธ๋“œ ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์™€ ์• ๋‹ˆ๋ฉ”์ด์…˜ ํšจ๊ณผ๋ฅผ ๊ตฌํ˜„ํ•˜์„ธ์š”."
495
- },
496
  {
497
- "name": "[์ธํ„ฐ๋ž™ํ‹ฐ๋ธŒ] ์ปฌ๋Ÿฌ ํŒ”๋ ˆํŠธ",
498
  "image_url": "data:image/png;base64," + get_image_base64('113.png'),
499
- "prompt": "๋งˆ์šฐ์Šค ์›€์ง์ž„์— ๋”ฐ๋ผ ๋™์ ์œผ๋กœ ๋ณ€ํ•˜๋Š” ์ปฌ๋Ÿฌ ํŒ”๋ ˆํŠธ๋ฅผ ๋งŒ๋“œ์„ธ์š”. ์ƒ‰์ƒ ์„ ํƒ, ์ €์žฅ, ์กฐํ•ฉ ๊ธฐ๋Šฅ๊ณผ ํ•จ๊ป˜ ๋ถ€๋“œ๋Ÿฌ์šด ๊ทธ๋ผ๋ฐ์ด์…˜ ํšจ๊ณผ๋ฅผ ๊ตฌํ˜„ํ•˜์„ธ์š”."
500
- },
501
  {
502
- "name": "[์ดํŽ™ํŠธ] ํŒŒํ‹ฐํด ์ปค์„œ",
503
  "image_url": "data:image/png;base64," + get_image_base64('121.png'),
504
- "prompt": "๋งˆ์šฐ์Šค ์ปค์„œ๋ฅผ ๋”ฐ๋ผ๋‹ค๋‹ˆ๋Š” ํŒŒํ‹ฐํด ํšจ๊ณผ๋ฅผ ๋งŒ๋“œ์„ธ์š”. ๋‹ค์–‘ํ•œ ํŒŒํ‹ฐํด ํŒจํ„ด๊ณผ ์ƒ‰์ƒ ๋ณ€ํ™”๋ฅผ ๊ตฌํ˜„ํ•˜์„ธ์š”."
505
- },
506
-
507
- {
508
- "name": "[ํ™ˆํŽ˜์ด์ง€] AI ์Šคํƒ€ํŠธ์—…",
509
- "image_url": "data:image/gif;base64," + get_image_base64('mouse.gif'), # mouse.gif ์‚ฌ์šฉ
510
- "prompt": "๋žœ๋”ฉ ํŽ˜์ด์ง€๋ฅผ ๋งŒ๋“ค์–ด๋ผ. ์ „๋ฌธ๊ฐ€ ์ œ์ž‘ ํ˜•ํƒœ์˜ ๋ฉ‹์ง„ ๋น„์ฃผ์–ผ๋กœ ๊ตฌ์„ฑ,์ด๋ชจ์ง€๋ฅผ ์ ์ ˆํžˆ ํ™œ์šฉํ•˜๊ณ  ๋‹ค์Œ์˜ ๋‚ด์šฉ์„ ์ฐธ๊ณ ํ•˜์—ฌ ๋ฐ˜์˜ํ•˜๋„๋ก ํ•˜๋ผ.๋งˆ์šฐ์Šค-I๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ์›น ์„œ๋น„์Šค๋ฅผ ํ”„๋กฌํ”„ํŠธ๋กœ ์ž…๋ ฅํ•˜๋ฉด 60์ดˆ ์ด๋‚ด์— ์‹ค์ œ ์ž‘๋™ํ•˜๋Š” ์›น ์„œ๋น„์Šค๋ฅผ ์ž๋™ ์ƒ์„ฑํ•˜๋Š” ๋„๊ตฌ๋‹ค. ๋งˆ์šฐ์Šค-I์˜ ์ฃผ์š” ๊ธฐ๋Šฅ์€ โ–ฒ์›ํด๋ฆญ ์‹ค์‹œ๊ฐ„ ๋ฐฐํฌ โ–ฒ์‹ค์‹œ๊ฐ„ ๋ฏธ๋ฆฌ๋ณด๊ธฐ โ–ฒ40์—ฌ ๊ฐ€์ง€ ์ฆ‰์‹œ ์ ์šฉ ํ…œํ”Œ๋ฆฟ โ–ฒ์‹ค์‹œ๊ฐ„ ์ˆ˜์ • ๋“ฑ์ด๋‹ค. MBTI ํ…Œ์ŠคํŠธ, ํˆฌ์ž ๊ด€๋ฆฌ ๋„๊ตฌ, ํ…ŒํŠธ๋ฆฌ์Šค ๊ฒŒ์ž„ ๋“ฑ ๋‹ค์–‘ํ•œ ํ…œํ”Œ๋ฆฟ์„ ์ œ๊ณตํ•ด ๋น„๊ฐœ๋ฐœ์ž๋„ ์ฆ‰์‹œ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค."
511
  }
512
  ]
513
 
 
514
  def load_best_templates():
515
  json_data = load_json_data()[:12] # ๋ฒ ์ŠคํŠธ ํ…œํ”Œ๋ฆฟ
516
- return create_template_html("๐Ÿ† ๋ฒ ์ŠคํŠธ ํ…œํ”Œ๋ฆฟ", json_data)
517
 
518
  def load_trending_templates():
519
  json_data = load_json_data()[12:24] # ํŠธ๋ Œ๋”ฉ ํ…œํ”Œ๋ฆฟ
520
- return create_template_html("๐Ÿ”ฅ ํŠธ๋ Œ๋”ฉ ํ…œํ”Œ๋ฆฟ", json_data)
521
 
522
  def load_new_templates():
523
  json_data = load_json_data()[24:44] # NEW ํ…œํ”Œ๋ฆฟ
524
- return create_template_html("โœจ NEW ํ…œํ”Œ๋ฆฟ", json_data)
525
 
526
  def create_template_html(title, items):
527
  html_content = """
@@ -614,12 +605,12 @@ def load_session_history(template_type="best"):
614
  "best": json_data[:12], # ๋ฒ ์ŠคํŠธ ํ…œํ”Œ๋ฆฟ
615
  "trending": json_data[12:24], # ํŠธ๋ Œ๋”ฉ ํ…œํ”Œ๋ฆฟ
616
  "new": json_data[24:44] # NEW ํ…œํ”Œ๋ฆฟ
617
- }
618
 
619
  titles = {
620
- "best": "๐Ÿ† ๋ฒ ์ŠคํŠธ ํ…œํ”Œ๋ฆฟ",
621
- "trending": "๐Ÿ”ฅ ํŠธ๋ Œ๋”ฉ ํ…œํ”Œ๋ฆฟ",
622
- "new": "โœจ NEW ํ…œํ”Œ๋ฆฟ"
623
  }
624
 
625
  html_content = """
@@ -705,12 +696,13 @@ def load_session_history(template_type="best"):
705
  }
706
  </style>
707
  <div class="template-nav">
708
- <button class="template-btn" onclick="showTemplate('best')">๐Ÿ† ๋ฒ ์ŠคํŠธ</button>
709
- <button class="template-btn" onclick="showTemplate('trending')">๐Ÿ”ฅ ํŠธ๋ Œ๋”ฉ</button>
710
- <button class="template-btn" onclick="showTemplate('new')">โœจ NEW</button>
711
  </div>
712
  """
713
 
 
714
  # ๊ฐ ์„น์…˜์˜ ํ…œํ”Œ๋ฆฟ ์ƒ์„ฑ
715
  for section, items in templates.items():
716
  html_content += f"""
@@ -865,16 +857,15 @@ def boost_prompt(prompt: str) -> str:
865
 
866
  # ์ฆ๊ฐ•์„ ์œ„ํ•œ ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ
867
  boost_system_prompt = """
868
- ๋‹น์‹ ์€ ์›น ๊ฐœ๋ฐœ ํ”„๋กฌํ”„๏ฟฝ๏ฟฝ ์ „๋ฌธ๊ฐ€์ž…๋‹ˆ๋‹ค.
869
- ์ฃผ์–ด์ง„ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ๋” ์ƒ์„ธํ•˜๊ณ  ์ „๋ฌธ์ ์ธ ์š”๊ตฌ์‚ฌํ•ญ์œผ๋กœ ํ™•์žฅํ•˜๋˜,
870
- ์›๋ž˜ ์˜๋„์™€ ๋ชฉ์ ์€ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๋ฉด์„œ ๋‹ค์Œ ๊ด€์ ๋“ค์„ ๊ณ ๋ คํ•˜์—ฌ ์ฆ๊ฐ•ํ•˜์‹ญ์‹œ์˜ค:
871
- 1. ๊ธฐ์ˆ ์  ๊ตฌํ˜„ ์ƒ์„ธ
872
- 2. UI/UX ๋””์ž์ธ ์š”์†Œ
873
- 3. ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ์ตœ์ ํ™”
874
- 4. ์„ฑ๋Šฅ๊ณผ ๋ณด์•ˆ
875
- 5. ์ ‘๊ทผ์„ฑ๊ณผ ํ˜ธํ™˜์„ฑ
876
-
877
- ๊ธฐ์กด SystemPrompt์˜ ๋ชจ๋“  ๊ทœ์น™์„ ์ค€์ˆ˜ํ•˜๋ฉด์„œ ์ฆ๊ฐ•๋œ ํ”„๋กฌํ”„ํŠธ๋ฅผ ์ƒ์„ฑํ•˜์‹ญ์‹œ์˜ค.
878
  """
879
 
880
  try:
@@ -1349,197 +1340,190 @@ def get_vercel_card(deployment, index, is_top_best=False):
1349
 
1350
  # Top Best URLs ์ •์˜
1351
  TOP_BEST_URLS = [
1352
-
1353
  {
1354
  "url": "dekvxz.vercel.app",
1355
- "name": "[๊ฒŒ์ž„]๋‹ค์ด์–ดํŠธ ํ—Œํ„ฐ",
1356
  "created": "2024-11-20 00:00",
1357
  "state": "READY"
1358
  },
1359
  {
1360
  "url": "czbipi.vercel.app",
1361
- "name": "์—ฌํ–‰ ์ผ์ •๊ด€๋ฆฌ",
1362
  "created": "2024-11-20 00:00",
1363
  "state": "READY"
1364
- },
1365
  {
1366
  "url": "https://huggingface.co/spaces/openfree/ggumim",
1367
- "name": "[MOUSE-II]์ด๋ฏธ์ง€์— ํ•œ๊ธ€ ์ถœ๋ ฅ",
1368
  "created": "2024-11-18 00:00",
1369
  "state": "READY"
1370
- },
1371
  {
1372
  "url": "xabtnc.vercel.app",
1373
- "name": "[์ฑ„ํŒ…๋ด‡]๋‚˜๋งŒ์˜ LLM",
1374
  "created": "2024-11-18 00:00",
1375
  "state": "READY"
1376
- },
1377
  {
1378
  "url": "https://huggingface.co/spaces/openfree/ifbhdc",
1379
- "name": "[๊ฒŒ์ž„]๋ณด์„ ํŒกํŒก",
1380
  "created": "2024-11-18 00:00",
1381
  "state": "READY"
1382
  },
1383
  {
1384
  "url": "nxhquk.vercel.app",
1385
- "name": "[๊ฒŒ์ž„]ํ…ŒํŠธ๋ฆฌ์Šค",
1386
  "created": "2024-11-18 00:00",
1387
  "state": "READY"
1388
- },
1389
  {
1390
  "url": "bydcnd.vercel.app",
1391
- "name": "[๋ชจ๋ธ]3D ๋ถ„์ž ๋ชจํ˜•",
1392
  "created": "2024-11-18 00:00",
1393
  "state": "READY"
1394
- },
1395
  {
1396
  "url": "ijhama.vercel.app",
1397
- "name": "ํˆฌ์ž ํฌํŠธํด๋ฆฌ์˜ค ๋ถ„์„",
1398
  "created": "2024-11-18 00:00",
1399
  "state": "READY"
1400
- },
1401
  {
1402
  "url": "oschnl.vercel.app",
1403
- "name": "๋กœ๋˜ ๋ฒˆํ˜ธ ๋ถ„์„/์ถ”์ฒœ",
1404
  "created": "2024-11-18 00:00",
1405
  "state": "READY"
1406
- },
1407
  {
1408
  "url": "rzwzrq.vercel.app",
1409
- "name": "์—‘์…€/CSV ๋ฐ์ดํ„ฐ ๋ถ„์„",
1410
  "created": "2024-11-18 00:00",
1411
  "state": "READY"
1412
- },
1413
  {
1414
  "url": "twkqre.vercel.app",
1415
- "name": "[์šด์„ธ]ํƒ€๋กœ์นด๋“œ",
1416
  "created": "2024-11-18 00:00",
1417
  "state": "READY"
1418
- },
1419
  {
1420
  "url": "htwymz.vercel.app",
1421
- "name": "[๊ฒŒ์ž„]์†Œ๋ฐฉํ—ฌ๊ธฐ",
1422
  "created": "2024-11-20 00:00",
1423
  "state": "READY"
1424
- },
1425
  {
1426
  "url": "mktmbn.vercel.app",
1427
- "name": "[๊ฒŒ์ž„]์šฐ์ฃผ์ „์Ÿ",
1428
  "created": "2024-11-19 00:00",
1429
  "state": "READY"
1430
- },
1431
  {
1432
  "url": "euguwt.vercel.app",
1433
- "name": "[๊ฒŒ์ž„]ํฌ์„ธ์ด๋ˆ",
1434
  "created": "2024-11-19 00:00",
1435
  "state": "READY"
1436
- },
1437
- {
1438
  "url": "qmdzoh.vercel.app",
1439
- "name": "[๊ฒŒ์ž„]ํ•˜๋Š˜์„ ์ง€์ผœ๋ผ",
1440
  "created": "2024-11-19 00:00",
1441
  "state": "READY"
1442
- },
1443
  {
1444
  "url": "kofaqo.vercel.app",
1445
- "name": "[๊ฒŒ์ž„]์šด์„ ์ถฉ๋Œ!",
1446
  "created": "2024-11-19 00:00",
1447
  "state": "READY"
1448
- },
1449
  {
1450
  "url": "qoqqkq.vercel.app",
1451
- "name": "[๊ฒŒ์ž„]๋‘๋”์ฅ ์žก๊ธฐ",
1452
  "created": "2024-11-19 00:00",
1453
  "state": "READY"
1454
- },
1455
  {
1456
  "url": "nmznel.vercel.app",
1457
- "name": "[๊ฒŒ์ž„]์ฅ๋ฅผ ์žก์•„๋ผ",
1458
  "created": "2024-11-19 00:00",
1459
  "state": "READY"
1460
- },
1461
-
1462
-
1463
  {
1464
  "url": "psrrtp.vercel.app",
1465
- "name": "[๋Œ€์‹œ๋ณด๋“œ]์„ธ๊ณ„ ์ธ๊ตฌ",
1466
  "created": "2024-11-18 00:00",
1467
  "state": "READY"
1468
  },
1469
  {
1470
  "url": "xxloav.vercel.app",
1471
- "name": "[๊ฒŒ์ž„]๋ฒฝ๋Œ ๊นจ๊ธฐ",
1472
  "created": "2024-11-18 00:00",
1473
  "state": "READY"
1474
  },
1475
  {
1476
  "url": "https://huggingface.co/spaces/openfree/edpaje",
1477
- "name": "[๊ฒŒ์ž„]๊ธฐ์–ต๋ ฅ ์นด๋“œ",
1478
  "created": "2024-11-18 00:00",
1479
  "state": "READY"
1480
  },
1481
  {
1482
  "url": "https://huggingface.co/spaces/openfree/ixtidb",
1483
- "name": "AI ์š”๋ฆฌ์‚ฌ",
1484
  "created": "2024-11-18 00:00",
1485
  "state": "READY"
1486
- },
1487
-
1488
  {
1489
  "url": "cnlzji.vercel.app",
1490
- "name": "๊ตญ๊ฐ€ ์ •๋ณด ๋น„๊ต",
1491
  "created": "2024-11-18 00:00",
1492
  "state": "READY"
1493
  },
1494
  {
1495
  "url": "fazely.vercel.app",
1496
- "name": "์œ„ํ‚คํ”ผ๋””์•„ ์ง€์‹ ๋ถ„์„",
1497
  "created": "2024-11-18 00:00",
1498
  "state": "READY"
1499
  },
1500
  {
1501
  "url": "pkzhbo.vercel.app",
1502
- "name": "์„ธ๊ณ„ ๊ตญ๊ฐ€๋ณ„ ์‹œ๊ฐ„๋Œ€",
1503
  "created": "2024-11-18 00:00",
1504
  "state": "READY"
1505
- },
1506
  {
1507
  "url": "pammgl.vercel.app",
1508
- "name": "๋ณด๋„์ž๋ฃŒ ๋ฐฐํฌ ์„œ๋น„์Šค",
1509
  "created": "2024-11-18 00:00",
1510
  "state": "READY"
1511
- },
1512
-
1513
-
1514
  {
1515
  "url": "https://ktduhm.vercel.app/",
1516
- "name": "์ˆ˜ํ•™์„ ๊ทธ๋ž˜ํ”„๋กœ ์ดํ•ด",
1517
  "created": "2024-11-18 00:00",
1518
  "state": "READY"
1519
- },
1520
-
1521
-
1522
  {
1523
  "url": "vjmfoy.vercel.app",
1524
- "name": "[๊ฒŒ์ž„]3D ๋ฒฝ๋Œ์Œ“๊ธฐ",
1525
  "created": "2024-11-18 00:00",
1526
  "state": "READY"
1527
- },
1528
  {
1529
  "url": "aodakf.vercel.app",
1530
- "name": "[๋ฒ„์ถ”์–ผ]3D ๊ฐ€์ƒํ˜„์‹ค",
1531
  "created": "2024-11-18 00:00",
1532
  "state": "READY"
1533
- },
1534
  {
1535
  "url": "mxoeue.vercel.app",
1536
- "name": "์Œ์„ฑ ์ƒ์„ฑ(TTS),์กฐ์ •",
1537
  "created": "2024-11-18 00:00",
1538
  "state": "READY"
1539
  }
1540
  ]
1541
 
1542
 
 
1543
  def get_user_spaces():
1544
  # ๊ธฐ์กด Hugging Face ์ŠคํŽ˜์ด์Šค ๊ฐ€์ ธ์˜ค๊ธฐ
1545
  url = f"https://huggingface.co/api/spaces?author={USERNAME}&limit=500"
@@ -1785,7 +1769,7 @@ def create_main_interface():
1785
  with demo:
1786
  with gr.Tabs(elem_classes="main-tabs") as tabs:
1787
  # ๊ฐค๋Ÿฌ๋ฆฌ ํƒญ
1788
- with gr.Tab("๊ฐค๋Ÿฌ๋ฆฌ >", elem_id="gallery-tab"):
1789
  gr.HTML(value=get_user_spaces())
1790
 
1791
  # MOUSE ํƒญ
@@ -1832,11 +1816,11 @@ def create_main_interface():
1832
  header = gr.HTML(f"""
1833
  <div class="left_header">
1834
  <img src="data:image/gif;base64,{get_image_base64('mouse.gif')}" width="360px" />
1835
- <h1 style="font-size: 18px;">๊ณ ์–‘์ด๋„ ๋ฐœ๋กœ ์ฝ”๋”ฉํ•˜๋Š” 'MOUSE-I'</h2>
1836
- <h1 style="font-size: 10px;">ํ…œํ”Œ๋ฆฟ์˜ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ ๋ถ™์—ฌ๋„ฃ๊ณ  Send ํด๋ฆญ์‹œ ์ž๋™์œผ๋กœ ์ฝ”๋“œ๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ƒ์„ฑ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธ ๋ฐฐํฌํ•˜๊ธฐ ํด๋ฆญ์‹œ ๊ธ€๋กœ๋ฒŒ ํฌ๋ผ์šฐ๋“œ Vercel์„ ํ†ตํ•ด ์›น์„œ๋น„์Šค๊ฐ€ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ์ƒ์„ฑ๋œ ์ฝ”๋“œ๋งŒ ํ”„๋กฌํ”„ํŠธ์— ๋ถ™์—ฌ๋„ฃ๊ณ  'Code ์‹คํ–‰' ๋ฒ„ํŠผ ํด๋ฆญ์‹œ ํ™”๋ฉด์— ์ฆ‰์‹œ ์„œ๋น„์Šค๊ฐ€ ์‹คํ–‰. ๋ฌธ์˜: [email protected]</h1>
1837
  <h1 style="font-size: 12px; margin-top: 10px;">
1838
  <a href="https://openfree-mouse.hf.space" target="_blank" style="color: #0084ff; text-decoration: none; transition: color 0.3s;">
1839
- ๐ŸŽจ [HOME] MOUSE๋กœ ์ƒ์„ฑํ•œ ์›น์•ฑ ๊ณต๊ฐœ ๏ฟฝ๏ฟฝ๋Ÿฌ๋ฆฌ ๋ฐ”๋กœ๊ฐ€๊ธฐ ํด๋ฆญ
1840
  </a>
1841
  </h1>
1842
  </div>
@@ -1853,22 +1837,22 @@ def create_main_interface():
1853
  with antd.Flex(gap="small", justify="space-between"):
1854
  btn = antd.Button("Send", type="primary", size="large")
1855
  boost_btn = antd.Button("Boost", type="default", size="large")
1856
- execute_btn = antd.Button("Code์‹คํ–‰", type="default", size="large")
1857
- deploy_btn = antd.Button("๋ฐฐํฌ", type="default", size="large")
1858
- clear_btn = antd.Button("ํด๋ฆฌ์–ด", type="default", size="large")
1859
 
1860
- deploy_result = gr.HTML(label="๋ฐฐํฌ ๊ฒฐ๊ณผ")
1861
 
1862
  # ์šฐ์ธก ํŒจ๋„
1863
  with antd.Col(span=24, md=16):
1864
  with ms.Div(elem_classes="right_panel"):
1865
  # ์ƒ๋‹จ ๋ฒ„ํŠผ๋“ค
1866
  with antd.Flex(gap="small", elem_classes="setting-buttons"):
1867
- codeBtn = antd.Button("๐Ÿง‘โ€๐Ÿ’ป ์ฝ”๋“œ ๋ณด๊ธฐ", type="default")
1868
- historyBtn = antd.Button("๐Ÿ“œ ํžˆ์Šคํ† ๋ฆฌ", type="default")
1869
- best_btn = antd.Button("๐Ÿ† ๋ฒ ์ŠคํŠธ ํ…œํ”Œ๋ฆฟ", type="default")
1870
- trending_btn = antd.Button("๐Ÿ”ฅ ํŠธ๋ Œ๋”ฉ ํ…œํ”Œ๋ฆฟ", type="default")
1871
- new_btn = antd.Button("โœจ NEW ํ…œํ”Œ๋ฆฟ", type="default")
1872
 
1873
  gr.HTML('<div class="render_header"><span class="header_btn"></span><span class="header_btn"></span><span class="header_btn"></span></div>')
1874
 
 
282
  theme = gr.themes.Soft()
283
 
284
  def load_json_data():
285
+ # Return hardcoded data
286
  return [
287
  {
288
+ "name": "[Game] Jewel Pop Game",
289
+ "image_url": "data:image/gif;base64," + get_image_base64('jewel.gif'),
290
+ "prompt": "Refer to the prompt composition for this game at https://huggingface.co/spaces/openfree/ifbhdc"
291
+ },
292
  {
293
+ "name": "[Homepage] AI Startup",
294
+ "image_url": "data:image/png;base64," + get_image_base64('home.png'),
295
+ "prompt": "Create a landing page with a professional and visually stunning design. Use appropriate emojis and reflect the following information: Mouse-I is a tool that automatically generates fully functional web services within 60 seconds based on user prompts. Mouse-I's main features include โ–ฒOne-click real-time deployment โ–ฒReal-time preview โ–ฒOver 40 instant templates โ–ฒReal-time editing. It offers various templates such as MBTI tests, investment management tools, and Tetris games, making it immediately accessible even for non-developers."
296
+ },
297
  {
298
+ "name": "[Psychology] MBTI Diagnostic Service",
299
+ "image_url": "data:image/png;base64," + get_image_base64('mbti.png'),
300
+ "prompt": "Create 15 questions with multiple-choice answers to diagnose MBTI and display detailed results about the respective personality type."
301
+ },
302
  {
303
+ "name": "[Dashboard] Investment Portfolio Dashboard",
304
+ "image_url": "data:image/png;base64," + get_image_base64('dash.png'),
305
+ "prompt": "Create an interactive dashboard with Chart.js showing different types of charts (line, bar, pie) with smooth animations. Include buttons to switch between different data views. Build an investment management tool to analyze portfolios, visualizing risk, return, and asset allocation."
306
  },
307
  {
308
+ "name": "[Multimodal] Audio Visualizer",
309
+ "image_url": "data:image/png;base64," + get_image_base64('audio.png'),
310
+ "prompt": "Use the Web Audio API and Canvas to create an audio visualizer. Implement dynamic bars that react to music frequency data with smooth animations. Include play/pause controls and a color theme selection feature."
311
+ },
312
  {
313
+ "name": "[Game] Chess Game",
314
+ "image_url": "data:image/png;base64," + get_image_base64('chess.png'),
315
+ "prompt": "Chess Game: Identify and apply the rules of chess correctly. The opponent should play automatically."
316
  },
317
  {
318
+ "name": "[Game] Brick Breaker Game",
319
+ "image_url": "data:image/png;base64," + get_image_base64('alcaroid.png'),
320
+ "prompt": "Create a brick-breaking game."
321
+ },
322
  {
323
+ "name": "[Fun] Tarot Card Fortune",
324
+ "image_url": "data:image/png;base64," + get_image_base64('tarot.png'),
325
+ "prompt": "Generate a tarot card fortune-telling experience. Make it detailed, professional, and easy to understand, with long responses. Provide all explanations in Korean."
326
  },
327
  {
328
+ "name": "[Fun] AI Chef",
329
+ "image_url": "data:image/png;base64," + get_image_base64('cook.png'),
330
+ "prompt": "Present 10 diverse ingredients, and when selected and placed in the 'cooking pot,' output a dish and recipe that can be made with the chosen ingredients. Use web crawling or search to enhance recipes."
331
+ },
332
  {
333
+ "name": "[Multimodal] Text-to-Speech Generator with Adjustments",
334
+ "image_url": "data:image/png;base64," + get_image_base64('tts.png'),
335
+ "prompt": "Create an interface to convert text into speech and adjust voice parameters in real time."
336
  },
337
  {
338
+ "name": "[Learning] 3D Molecular Simulation",
339
+ "image_url": "data:image/png;base64," + get_image_base64('3ds.png'),
340
+ "prompt": "Visualize 3D molecular structures with Three.js. Allow rotation, zoom, display of atomic information, and animation effects."
341
+ },
342
  {
343
+ "name": "[Component] Email Sign-Up and Login",
344
+ "image_url": "data:image/png;base64," + get_image_base64('login.png'),
345
+ "prompt": "Create an email sign-up and login webpage. Include the following: 1. Design - Modern and minimalist UI/UX - Responsive layout - Smooth animation effects - Proper form validation feedback 2. Sign-Up functionality 3. Login functionality - Email/password input - Auto-login option - Password recovery link - Error message on failed login - Welcome message on successful login."
346
+ },
347
  {
348
+ "name": "[Psychology] My Psychological State Quiz",
349
  "image_url": "data:image/png;base64," + get_image_base64('simri.png'),
350
+ "prompt": "Create multiple-choice questions to assess various psychological states. Provide psychological interpretations for selected answers. Example: You encounter an animal on your walk. 1) Dog 2) Lion 3) Bear 4) Cat."
351
+ },
352
  {
353
+ "name": "[Fun] Lucky Roulette",
354
+ "image_url": "data:image/png;base64," + get_image_base64('roolet.png'),
355
+ "prompt": "Create a spinning lucky roulette where clicking a button launches an arrow. The arrow lands randomly on a number, each associated with a prize ranging from 'None' to '1 Million Won.' Display the prize amount for the selected number."
356
+ },
357
  {
358
+ "name": "[Game] Tetris Game",
359
  "image_url": "data:image/png;base64," + get_image_base64('127.png'),
360
+ "prompt": "Build a classic Tetris game. Include start and restart buttons and follow Tetris rules accurately."
361
+ },
 
362
  {
363
+ "name": "[Game] Memory Matching Card Game",
364
  "image_url": "data:image/png;base64," + get_image_base64('112.png'),
365
+ "prompt": "Create a classic memory-matching card game with flip animations. Include a scoring system, timer, and difficulty levels. Add satisfying match/mismatch animations and sound effects using the Web Audio API."
366
+ },
367
  {
368
+ "name": "[Tool] Interactive Scheduler",
369
  "image_url": "data:image/png;base64," + get_image_base64('122.png'),
370
+ "prompt": "Build a calendar for managing schedules with drag-and-drop functionality. Add animations and schedule filtering features."
371
  },
372
  {
373
+ "name": "[Game] Typing Game",
374
  "image_url": "data:image/png;base64," + get_image_base64('123.png'),
375
+ "prompt": "Create a game where players type falling words to score points. Include difficulty adjustments and sound effects."
376
  },
377
  {
378
+ "name": "[Animation] Interactive Stars",
379
  "image_url": "data:image/png;base64," + get_image_base64('135.png'),
380
+ "prompt": "Create an interactive starry sky. As the user moves their mouse, stars and constellations appear."
381
+ },
382
  {
383
+ "name": "[3D] Terrain Generator",
384
  "image_url": "data:image/png;base64," + get_image_base64('131.png'),
385
+ "prompt": "Use Three.js to generate procedural terrain. Allow real-time adjustments for height, texture, and water effects."
386
  },
387
  {
388
+ "name": "[3D] Text Animator",
389
  "image_url": "data:image/png;base64," + get_image_base64('132.png'),
390
+ "prompt": "Create 3D text animations with Three.js. Implement various transformation effects and physics-based particle effects."
391
+ },
392
  {
393
+ "name": "[Widget] Weather Animation",
394
  "image_url": "data:image/png;base64," + get_image_base64('114.png'),
395
+ "prompt": "Develop a weather animation widget that displays current weather conditions. Use Canvas to implement effects for rain, snow, clouds, and lightning with smooth transitions."
396
  },
397
+ {
398
+ "name": "[Simulation] Physics Engine",
399
  "image_url": "data:image/png;base64," + get_image_base64('125.png'),
400
+ "prompt": "Create a basic physics simulation using Canvas. Include gravity, collision, and elasticity effects for a ball-bouncing simulation."
401
  },
402
  {
403
+ "name": "[Audio] Sound Mixer",
404
  "image_url": "data:image/png;base64," + get_image_base64('126.png'),
405
+ "prompt": "Develop an interface using the Web Audio API for mixing multiple sound sources. Include controls for volume, panning, and effects."
406
+ },
407
  {
408
+ "name": "[Effect] Particle Text",
409
  "image_url": "data:image/png;base64," + get_image_base64('116.png'),
410
+ "prompt": "Create a particle text effect where the text scatters into particles and reassembles on mouse hover using Canvas."
411
  },
412
  {
413
+ "name": "[3D] Bookshelf Gallery",
414
  "image_url": "data:image/png;base64," + get_image_base64('115.png'),
415
+ "prompt": "Use CSS 3D transforms to create a rotating bookshelf gallery. Display detailed information when a book is clicked."
416
+ },
417
  {
418
+ "name": "[Game] Rhythm Game",
419
  "image_url": "data:image/png;base64," + get_image_base64('117.png'),
420
+ "prompt": "Create a simple rhythm game using the Web Audio API. Implement falling notes, timing judgments, and a scoring system."
421
  },
422
  {
423
+ "name": "[Animation] SVG Path",
424
  "image_url": "data:image/png;base64," + get_image_base64('118.png'),
425
+ "prompt": "Create animations that follow SVG paths. Show the process of drawing various shapes and add interactive controls."
426
+ },
427
  {
428
+ "name": "[Tool] Drawing Board",
429
  "image_url": "data:image/png;base64," + get_image_base64('119.png'),
430
+ "prompt": "Develop a drawing tool using Canvas. Include brush size, color changes, eraser functionality, and the ability to save drawing history."
431
  },
432
  {
433
+ "name": "[Game] Puzzle Slide",
434
  "image_url": "data:image/png;base64," + get_image_base64('120.png'),
435
+ "prompt": "Create a slide puzzle game using numbers or images. Add move animations and a completion check feature."
436
  },
437
  {
438
+ "name": "[Component] Interactive Timeline",
439
  "image_url": "data:image/png;base64," + get_image_base64('111.png'),
440
  "prompt": "Create a vertical timeline with animated entry points. When clicking on timeline items, show detailed information with smooth transitions. Include filtering options and scroll animations."
441
  },
442
  {
443
+ "name": "[Tool] Survey Creator",
444
  "image_url": "data:image/png;base64," + get_image_base64('survay.png'),
445
+ "prompt": "Develop a survey tool to collect data about perceptions of marriage. Include 10 survey questions (e.g., email address, birth year). Save collected information as a log file in local storage."
446
+ },
447
  {
448
+ "name": "[Visualization] Data Animation",
449
  "image_url": "data:image/png;base64," + get_image_base64('124.png'),
450
+ "prompt": "Use D3.js to create animated charts showing data changes. Add various transition effects."
451
  },
452
  {
453
+ "name": "[Tool] YouTube Video Playback/Analysis/Summary",
454
  "image_url": "data:image/png;base64," + get_image_base64('yout.png'),
455
+ "prompt": "Allow users to input a YouTube URL to play the video. Include additional features for video analysis or summary."
456
+ },
457
  {
458
+ "name": "[Tool] World/ Country Map",
459
  "image_url": "data:image/png;base64," + get_image_base64('map.png'),
460
+ "prompt": "Create a dashboard displaying country maps based on a world map. Show population data in charts."
461
+ },
462
  {
463
+ "name": "[Component] Bulletin Board",
464
  "image_url": "data:image/png;base64," + get_image_base64('128.png'),
465
+ "prompt": "Create an internet bulletin board. Users should be able to save and read text."
466
  },
467
  {
468
+ "name": "[Tool] Photo Editor",
469
  "image_url": "data:image/png;base64," + get_image_base64('129.png'),
470
+ "prompt": "Develop a basic image editing tool using Canvas. Include features for applying filters, cropping, and rotation."
471
  },
472
  {
473
+ "name": "[Visualization] Mind Map",
474
  "image_url": "data:image/png;base64," + get_image_base64('130.png'),
475
+ "prompt": "Use D3.js to create a dynamic mind map. Implement features for adding/removing nodes, drag-and-drop, and expand/collapse animations."
476
  },
 
 
477
  {
478
+ "name": "[Tool] Pattern Designer",
479
  "image_url": "data:image/png;base64," + get_image_base64('133.png'),
480
+ "prompt": "Develop a tool to design repeating patterns using SVG. Include symmetry options, color scheme management, and real-time preview."
481
  },
482
  {
483
+ "name": "[Multimedia] Real-Time Filter Camera",
484
  "image_url": "data:image/png;base64," + get_image_base64('134.png'),
485
+ "prompt": "Use WebRTC and Canvas to create a real-time video filter app. Implement various image processing effects."
486
  },
 
487
  {
488
+ "name": "[Visualization] Real-Time Data Flow",
489
  "image_url": "data:image/png;base64," + get_image_base64('136.png'),
490
+ "prompt": "Visualize real-time data flow using D3.js. Implement node-based data processing and animation effects."
491
+ },
492
  {
493
+ "name": "[Interactive] Color Palette",
494
  "image_url": "data:image/png;base64," + get_image_base64('113.png'),
495
+ "prompt": "Create a dynamic color palette that changes based on mouse movement. Include color selection, saving, and blending features with smooth gradient effects."
496
+ },
497
  {
498
+ "name": "[Effect] Particle Cursor",
499
  "image_url": "data:image/png;base64," + get_image_base64('121.png'),
500
+ "prompt": "Create a particle effect that follows the mouse cursor. Include various particle patterns and color transitions."
 
 
 
 
 
 
501
  }
502
  ]
503
 
504
+
505
  def load_best_templates():
506
  json_data = load_json_data()[:12] # ๋ฒ ์ŠคํŠธ ํ…œํ”Œ๋ฆฟ
507
+ return create_template_html("๐Ÿ†Best Template", json_data)
508
 
509
  def load_trending_templates():
510
  json_data = load_json_data()[12:24] # ํŠธ๋ Œ๋”ฉ ํ…œํ”Œ๋ฆฟ
511
+ return create_template_html("๐Ÿ”ฅTrend Template", json_data)
512
 
513
  def load_new_templates():
514
  json_data = load_json_data()[24:44] # NEW ํ…œํ”Œ๋ฆฟ
515
+ return create_template_html("โœจNEW Template", json_data)
516
 
517
  def create_template_html(title, items):
518
  html_content = """
 
605
  "best": json_data[:12], # ๋ฒ ์ŠคํŠธ ํ…œํ”Œ๋ฆฟ
606
  "trending": json_data[12:24], # ํŠธ๋ Œ๋”ฉ ํ…œํ”Œ๋ฆฟ
607
  "new": json_data[24:44] # NEW ํ…œํ”Œ๋ฆฟ
608
+
609
 
610
  titles = {
611
+ "best": "๐Ÿ†Best Template",
612
+ "trending": "๐Ÿ”ฅTrend Template",
613
+ "new": "โœจNEW Template"
614
  }
615
 
616
  html_content = """
 
696
  }
697
  </style>
698
  <div class="template-nav">
699
+ <button class="template-btn" onclick="showTemplate('best')">๐Ÿ†Best Template</button>
700
+ <button class="template-btn" onclick="showTemplate('trending')">๐Ÿ”ฅTrend Template</button>
701
+ <button class="template-btn" onclick="showTemplate('new')">โœจNEW Template</button>
702
  </div>
703
  """
704
 
705
+
706
  # ๊ฐ ์„น์…˜์˜ ํ…œํ”Œ๋ฆฟ ์ƒ์„ฑ
707
  for section, items in templates.items():
708
  html_content += f"""
 
857
 
858
  # ์ฆ๊ฐ•์„ ์œ„ํ•œ ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ
859
  boost_system_prompt = """
860
+ You are a web development prompt expert.
861
+ Analyze the given prompts and expand them into more detailed and professional requirements while maintaining their original intent and purpose. Enhance them based on the following aspects:
862
+ 1. Technical implementation details
863
+ 2. UI/UX design elements
864
+ 3. Optimization for user experience
865
+ 4. Performance and security
866
+ 5. Accessibility and compatibility
867
+
868
+ Generate enhanced prompts that adhere to all the rules of the existing SystemPrompt.
 
869
  """
870
 
871
  try:
 
1340
 
1341
  # Top Best URLs ์ •์˜
1342
  TOP_BEST_URLS = [
 
1343
  {
1344
  "url": "dekvxz.vercel.app",
1345
+ "name": "[Game] Diet Hunter",
1346
  "created": "2024-11-20 00:00",
1347
  "state": "READY"
1348
  },
1349
  {
1350
  "url": "czbipi.vercel.app",
1351
+ "name": "Travel Itinerary Management",
1352
  "created": "2024-11-20 00:00",
1353
  "state": "READY"
1354
+ },
1355
  {
1356
  "url": "https://huggingface.co/spaces/openfree/ggumim",
1357
+ "name": "[MOUSE-II] Output Korean on Images",
1358
  "created": "2024-11-18 00:00",
1359
  "state": "READY"
1360
+ },
1361
  {
1362
  "url": "xabtnc.vercel.app",
1363
+ "name": "[Chatbot] My Own LLM",
1364
  "created": "2024-11-18 00:00",
1365
  "state": "READY"
1366
+ },
1367
  {
1368
  "url": "https://huggingface.co/spaces/openfree/ifbhdc",
1369
+ "name": "[Game] Jewel Pang Pang",
1370
  "created": "2024-11-18 00:00",
1371
  "state": "READY"
1372
  },
1373
  {
1374
  "url": "nxhquk.vercel.app",
1375
+ "name": "[Game] Tetris",
1376
  "created": "2024-11-18 00:00",
1377
  "state": "READY"
1378
+ },
1379
  {
1380
  "url": "bydcnd.vercel.app",
1381
+ "name": "[Model] 3D Molecule Model",
1382
  "created": "2024-11-18 00:00",
1383
  "state": "READY"
1384
+ },
1385
  {
1386
  "url": "ijhama.vercel.app",
1387
+ "name": "Investment Portfolio Analysis",
1388
  "created": "2024-11-18 00:00",
1389
  "state": "READY"
1390
+ },
1391
  {
1392
  "url": "oschnl.vercel.app",
1393
+ "name": "Lotto Number Analysis/Recommendation",
1394
  "created": "2024-11-18 00:00",
1395
  "state": "READY"
1396
+ },
1397
  {
1398
  "url": "rzwzrq.vercel.app",
1399
+ "name": "Excel/CSV Data Analysis",
1400
  "created": "2024-11-18 00:00",
1401
  "state": "READY"
1402
+ },
1403
  {
1404
  "url": "twkqre.vercel.app",
1405
+ "name": "[Fortune] Tarot Cards",
1406
  "created": "2024-11-18 00:00",
1407
  "state": "READY"
1408
+ },
1409
  {
1410
  "url": "htwymz.vercel.app",
1411
+ "name": "[Game] Firefighting Helicopter",
1412
  "created": "2024-11-20 00:00",
1413
  "state": "READY"
1414
+ },
1415
  {
1416
  "url": "mktmbn.vercel.app",
1417
+ "name": "[Game] Space War",
1418
  "created": "2024-11-19 00:00",
1419
  "state": "READY"
1420
+ },
1421
  {
1422
  "url": "euguwt.vercel.app",
1423
+ "name": "[Game] Poseidon",
1424
  "created": "2024-11-19 00:00",
1425
  "state": "READY"
1426
+ },
1427
+ {
1428
  "url": "qmdzoh.vercel.app",
1429
+ "name": "[Game] Protect the Sky",
1430
  "created": "2024-11-19 00:00",
1431
  "state": "READY"
1432
+ },
1433
  {
1434
  "url": "kofaqo.vercel.app",
1435
+ "name": "[Game] Meteor Collision!",
1436
  "created": "2024-11-19 00:00",
1437
  "state": "READY"
1438
+ },
1439
  {
1440
  "url": "qoqqkq.vercel.app",
1441
+ "name": "[Game] Mole Catching",
1442
  "created": "2024-11-19 00:00",
1443
  "state": "READY"
1444
+ },
1445
  {
1446
  "url": "nmznel.vercel.app",
1447
+ "name": "[Game] Catch the Mouse",
1448
  "created": "2024-11-19 00:00",
1449
  "state": "READY"
1450
+ },
 
 
1451
  {
1452
  "url": "psrrtp.vercel.app",
1453
+ "name": "[Dashboard] World Population",
1454
  "created": "2024-11-18 00:00",
1455
  "state": "READY"
1456
  },
1457
  {
1458
  "url": "xxloav.vercel.app",
1459
+ "name": "[Game] Brick Breaker",
1460
  "created": "2024-11-18 00:00",
1461
  "state": "READY"
1462
  },
1463
  {
1464
  "url": "https://huggingface.co/spaces/openfree/edpaje",
1465
+ "name": "[Game] Memory Card",
1466
  "created": "2024-11-18 00:00",
1467
  "state": "READY"
1468
  },
1469
  {
1470
  "url": "https://huggingface.co/spaces/openfree/ixtidb",
1471
+ "name": "AI Chef",
1472
  "created": "2024-11-18 00:00",
1473
  "state": "READY"
1474
+ },
 
1475
  {
1476
  "url": "cnlzji.vercel.app",
1477
+ "name": "Country Information Comparison",
1478
  "created": "2024-11-18 00:00",
1479
  "state": "READY"
1480
  },
1481
  {
1482
  "url": "fazely.vercel.app",
1483
+ "name": "Wikipedia Knowledge Analysis",
1484
  "created": "2024-11-18 00:00",
1485
  "state": "READY"
1486
  },
1487
  {
1488
  "url": "pkzhbo.vercel.app",
1489
+ "name": "World Time Zones by Country",
1490
  "created": "2024-11-18 00:00",
1491
  "state": "READY"
1492
+ },
1493
  {
1494
  "url": "pammgl.vercel.app",
1495
+ "name": "Press Release Distribution Service",
1496
  "created": "2024-11-18 00:00",
1497
  "state": "READY"
1498
+ },
 
 
1499
  {
1500
  "url": "https://ktduhm.vercel.app/",
1501
+ "name": "Understand Mathematics through Graphs",
1502
  "created": "2024-11-18 00:00",
1503
  "state": "READY"
1504
+ },
 
 
1505
  {
1506
  "url": "vjmfoy.vercel.app",
1507
+ "name": "[Game] 3D Brick Stacking",
1508
  "created": "2024-11-18 00:00",
1509
  "state": "READY"
1510
+ },
1511
  {
1512
  "url": "aodakf.vercel.app",
1513
+ "name": "[Virtual] 3D Virtual Reality",
1514
  "created": "2024-11-18 00:00",
1515
  "state": "READY"
1516
+ },
1517
  {
1518
  "url": "mxoeue.vercel.app",
1519
+ "name": "Voice Generation (TTS), Adjustment",
1520
  "created": "2024-11-18 00:00",
1521
  "state": "READY"
1522
  }
1523
  ]
1524
 
1525
 
1526
+
1527
  def get_user_spaces():
1528
  # ๊ธฐ์กด Hugging Face ์ŠคํŽ˜์ด์Šค ๊ฐ€์ ธ์˜ค๊ธฐ
1529
  url = f"https://huggingface.co/api/spaces?author={USERNAME}&limit=500"
 
1769
  with demo:
1770
  with gr.Tabs(elem_classes="main-tabs") as tabs:
1771
  # ๊ฐค๋Ÿฌ๋ฆฌ ํƒญ
1772
+ with gr.Tab("Gallery >", elem_id="gallery-tab"):
1773
  gr.HTML(value=get_user_spaces())
1774
 
1775
  # MOUSE ํƒญ
 
1816
  header = gr.HTML(f"""
1817
  <div class="left_header">
1818
  <img src="data:image/gif;base64,{get_image_base64('mouse.gif')}" width="360px" />
1819
+ <h1 style="font-size: 18px;">'MOUSE-I' > cursor</h2>
1820
+ <h1 style="font-size: 10px;">Copy and paste the prompt from the template, and when you click Send, the code will be automatically generated. When you click Check Result and Deploy, the web service will be deployed globally through Vercel's crowd platform. Paste only the generated code into the prompt and click the 'Run Code' button to instantly run the service on the screen. Inquiries: [email protected]</h1>
1821
  <h1 style="font-size: 12px; margin-top: 10px;">
1822
  <a href="https://openfree-mouse.hf.space" target="_blank" style="color: #0084ff; text-decoration: none; transition: color 0.3s;">
1823
+ ๐ŸŽจ [HOME] MOUSE
1824
  </a>
1825
  </h1>
1826
  </div>
 
1837
  with antd.Flex(gap="small", justify="space-between"):
1838
  btn = antd.Button("Send", type="primary", size="large")
1839
  boost_btn = antd.Button("Boost", type="default", size="large")
1840
+ execute_btn = antd.Button("CodeRun", type="default", size="large")
1841
+ deploy_btn = antd.Button("Deploy", type="default", size="large")
1842
+ clear_btn = antd.Button("Clear", type="default", size="large")
1843
 
1844
+ deploy_result = gr.HTML(label="Deployment")
1845
 
1846
  # ์šฐ์ธก ํŒจ๋„
1847
  with antd.Col(span=24, md=16):
1848
  with ms.Div(elem_classes="right_panel"):
1849
  # ์ƒ๋‹จ ๋ฒ„ํŠผ๋“ค
1850
  with antd.Flex(gap="small", elem_classes="setting-buttons"):
1851
+ codeBtn = antd.Button("๐Ÿง‘โ€๐Ÿ’ปCode View", type="default")
1852
+ historyBtn = antd.Button("๐Ÿ“œHistory", type="default")
1853
+ best_btn = antd.Button("๐Ÿ†Best Template", type="default")
1854
+ trending_btn = antd.Button("๐Ÿ”ฅTrend Template", type="default")
1855
+ new_btn = antd.Button("โœจNEW Template", type="default")
1856
 
1857
  gr.HTML('<div class="render_header"><span class="header_btn"></span><span class="header_btn"></span><span class="header_btn"></span></div>')
1858