ParthSadaria commited on
Commit
ed90313
·
verified ·
1 Parent(s): 2c1c62a

Update index.html

Browse files
Files changed (1) hide show
  1. index.html +545 -545
index.html CHANGED
@@ -1,546 +1,546 @@
1
- <!DOCTYPE html>
2
- <html lang="en">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>API Documentation | Loki.AI</title>
7
- <link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;600&display=swap" rel="stylesheet">
8
- <link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.24.1/themes/prism-tomorrow.min.css" rel="stylesheet" />
9
- <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.24.1/prism.min.js"></script>
10
- <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.24.1/components/prism-json.min.js"></script>
11
- <style>
12
- :root {
13
- --bg-primary: #000000;
14
- --bg-secondary: #1c1c1e;
15
- --text-primary: #ffffff;
16
- --text-secondary: #86868b;
17
- --accent: #0071e3;
18
- --border: #333336;
19
- --card-bg: #1c1c1e;
20
- }
21
-
22
- * {
23
- margin: 0;
24
- padding: 0;
25
- box-sizing: border-box;
26
- cursor: none;
27
- }
28
-
29
- body {
30
- background-color: var(--bg-primary);
31
- color: var(--text-primary);
32
- font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;
33
- line-height: 1.5;
34
- }
35
- /* Customize scrollbar for WebKit browsers (Chrome, Safari, Edge) */
36
- body::-webkit-scrollbar {
37
- width: 12px; /* Set the width of the scrollbar */
38
- }
39
-
40
- body::-webkit-scrollbar-thumb {
41
- background-color: #1a1a1a; /* Scrollbar color */
42
- border-radius: 10px; /* Round edges */
43
- transition: background-color 200ms ease; /* Smooth transition for background color */
44
- }
45
-
46
- body::-webkit-scrollbar-track {
47
- background: none; /* Track color */
48
- border-radius: 10px; /* Match rounding */
49
- }
50
-
51
- body::-webkit-scrollbar-thumb:hover {
52
- width: 20px;
53
- background-color: #2a2a2a; /* Change color on hover */
54
- }
55
-
56
-
57
- .container {
58
- max-width: 800px;
59
- margin: 0 auto;
60
- padding: 2rem;
61
- }
62
-
63
- /* Header styles */
64
- header {
65
- padding: 8rem 0;
66
- text-align: center;
67
- background: var(--bg-secondary);
68
- border-radius: 12px;
69
- margin-bottom: 4rem;
70
- border: 1px solid var(--border);
71
- position: relative;
72
- overflow: hidden;
73
- }
74
-
75
- /* Before pseudo-element for hover effect */
76
- header::before {
77
- content: '';
78
- position: absolute;
79
- top: 0;
80
- left: 0;
81
- right: 0;
82
- bottom: 0;
83
- background: radial-gradient(circle at var(--x, 50%) var(--y, 50%),
84
- rgba(59, 130, 246, 0.1) 0%,
85
- transparent 50%);
86
- pointer-events: none;
87
- opacity: 0;
88
- transition: opacity 0.3s ease;
89
- }
90
-
91
- header:hover::before {
92
- opacity: 1;
93
- }
94
-
95
- /* Scroll Down indicator styles */
96
- .scroll-indicator {
97
- position: absolute;
98
- bottom: 20px; /* Place it just below the header padding */
99
- left: 50%;
100
- transform: translateX(-50%);
101
- opacity: 0;
102
- font-size: 12px;
103
- color: #8f8f8f;
104
- transition: opacity 0.3s ease, transform 0.3s ease;
105
- }
106
-
107
- /* Arrow styling */
108
- .arrow {
109
- font-size: 12px;
110
- transition: transform 0.3s ease;
111
- }
112
-
113
- /* On hover, make the text appear and move up */
114
- header:hover .scroll-indicator {
115
- opacity: 1;
116
- transform: translate(-50%, -10px); /* Move it up slightly */
117
- }
118
-
119
- header:hover .scroll-indicator .arrow {
120
- transform: translateY(10px); /* Bounce the arrow a little */
121
- }
122
-
123
-
124
- h1 {
125
- font-size: 5.5rem;
126
- font-weight: 700;
127
- letter-spacing: -0.03em;
128
- margin-bottom: 1rem;
129
- background: linear-gradient(135deg, #fff 0%, #888 100%);
130
- -webkit-background-clip: text;
131
- background-clip: text;
132
- -webkit-text-fill-color: transparent;
133
- }
134
-
135
- header p {
136
- color: var(--text-secondary);
137
- font-size: 1.2rem;
138
- }
139
-
140
- .section {
141
- background: var(--card-bg);
142
- border-radius: 20px;
143
- padding: 2rem;
144
- margin-bottom: 2rem;
145
- border: 1px solid var(--border);
146
- }
147
-
148
- h2 {
149
- font-size: 1.8rem;
150
- margin-bottom: 1.5rem;
151
- color: var(--text-primary);
152
- }
153
-
154
- h3 {
155
- font-size: 1.2rem;
156
- margin: 1.5rem 0 0.75rem;
157
- color: var(--text-primary);
158
- }
159
-
160
- .endpoint {
161
- background: var(--bg-primary);
162
- padding: 1rem;
163
- border-radius: 12px;
164
- font-family: 'JetBrains Mono', monospace;
165
- margin: 0.5rem 0;
166
- border: 1px solid var(--border);
167
- }
168
-
169
- .btn {
170
- display: inline-block;
171
- background: var(--accent);
172
- color: white;
173
- padding: 0.8rem 1.5rem;
174
- border-radius: 24px;
175
- text-decoration: none;
176
- font-weight: 500;
177
- transition: all 0.2s ease;
178
- border: none;
179
- cursor: pointer;
180
- margin: 0.5rem 0;
181
- }
182
-
183
- .btn:hover {
184
- background: #0077ED;
185
- transform: translateY(-1px);
186
- }
187
-
188
- .models-list {
189
- display: grid;
190
- grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
191
- gap: 1rem;
192
- margin-top: 1rem;
193
- }
194
-
195
- .model-item {
196
- background: var(--bg-primary);
197
- padding: 1rem;
198
- border-radius: 12px;
199
- text-align: center;
200
- border: 1px solid var(--border);
201
- transition: all 0.2s ease;
202
- }
203
-
204
- .model-item:hover {
205
- border-color: var(--accent);
206
- transform: translateY(-2px);
207
- }
208
- .model-item.glow {
209
- font-weight: 700;
210
- position: relative;
211
- border: 2px solid transparent; /* Initial border with no color */
212
- background-clip: padding-box; /* Ensure background doesn’t interfere with border */
213
- animation: slideBorder 3s ease-in-out infinite; /* Smooth transition with ease-in-out */
214
- border-radius: 5px; /* Optional: rounded corners */
215
- }
216
-
217
- @keyframes slideBorder {
218
- 0% {
219
- border-color: rgba(255, 215, 0, 0.2); /* Soft gold */
220
- }
221
- 50% {
222
- border-color: rgba(255, 215, 0, 0.8); /* Brighter gold */
223
- }
224
- 100% {
225
- border-color: rgba(255, 215, 0, 0.2); /* Soft gold */
226
- }
227
- }
228
-
229
-
230
- pre {
231
- border-radius: 12px;
232
- margin: 1rem 0;
233
- background: var(--bg-primary) !important;
234
- border: 1px solid var(--border);
235
- }
236
-
237
- code {
238
- font-family: 'JetBrains Mono', monospace;
239
- }
240
-
241
- .contact-section {
242
- text-align: center;
243
- padding: 3rem 2rem;
244
- background: var(--card-bg);
245
- border-radius: 20px;
246
- border: 1px solid var(--border);
247
- }
248
-
249
- footer {
250
- text-align: center;
251
- padding: 2rem;
252
- color: var(--text-secondary);
253
- }
254
-
255
- @media (max-width: 768px) {
256
- .container {
257
- padding: 1rem;
258
- }
259
-
260
- h1 {
261
- font-size: 2.5rem;
262
- }
263
-
264
- .section {
265
- padding: 1.5rem;
266
- }
267
- }
268
- .cursor {
269
- width: 20px;
270
- height: 20px;
271
- border: 2px solid var(--accent);
272
- border-radius: 50%;
273
- position: fixed;
274
- pointer-events: none;
275
- z-index: 999;
276
- transition: all 0.1s ease;
277
- transition-property: width, height, border;
278
- }
279
-
280
- .cursor-dot {
281
- width: 4px;
282
- height: 4px;
283
- background: var(--accent);
284
- border-radius: 50%;
285
- position: fixed;
286
- pointer-events: none;
287
- z-index: 999;
288
- }
289
-
290
- .cursor-trail {
291
- width: 10px;
292
- height: 10px;
293
- background: rgba(59, 130, 246, 0.2);
294
- border-radius: 50%;
295
- position: fixed;
296
- pointer-events: none;
297
- z-index: 998;
298
- transition: 0.1s;
299
- }
300
- </style>
301
- </head>
302
- <body>
303
- <div class="cursor"></div>
304
- <div class="cursor-dot"></div>
305
- <div class="cursor-trail"></div>
306
- <div class="container">
307
- <header>
308
-
309
- <h1>Loki.AI API</h1>
310
- <p>Powerful AI Integration at Your Fingertips</p>
311
- <p style="margin-top: 10px;">Made With ❤️ by
312
- <a href="https://github.com/ParthSadaria" style="text-decoration: none; color: inherit; font-weight: bold; transition: 500ms ease;"
313
- onmouseover="this.style.textShadow='0 0 15px #FFFFFF';"
314
- onmouseout="this.style.textShadow='none';">
315
- Parth Sadaria
316
- </a>
317
- </p>
318
- <div class="scroll-indicator">
319
- <span>Scroll Down For More Info<br><span class="arrow">v</span></span>
320
- </div>
321
- </header>
322
-
323
- <section class="section">
324
- <h2>Quick Start Guide</h2>
325
-
326
- <h3>Base URL</h3>
327
- <div class="endpoint">https://parthsadaria-lokiai.hf.space/chat/completions</div>
328
-
329
- <h3>Models Endpoint</h3>
330
- <div class="endpoint">https://parthsadaria-lokiai.hf.space/models</div>
331
-
332
- <h3>Authentication</h3>
333
- <a href="https://dsc.gg/chadgang" target="_blank" class="btn">
334
- Join Discord for Free API Key
335
- </a>
336
- </section>
337
-
338
- <section class="section">
339
- <h2>Request Format</h2>
340
- <pre><code class="language-json">{
341
- "model": "llama-3.1-405b",
342
- "messages": [
343
- {
344
- "role": "user",
345
- "content": "Hello, AI!"
346
- },
347
- "stream": true
348
- ]
349
- }</code></pre>
350
- </section>
351
-
352
- <section class="section">
353
- <h2>Available Models</h2>
354
- <p>More info at <span style="text-decoration: underline; cursor: pointer;" onclick="window.location.href='https://parthsadaria-lokiai.hf.space/models'">https://parthsadaria-lokiai.hf.space/models</span></p>
355
- <div class="models-list">
356
- <div class="model-item glow">o1-preview</div>
357
- <div class="model-item glow">o1-mini</div>
358
- <div class="model-item glow">gpt-4o</div>
359
- <div class="model-item glow">gpt-4o-mini</div>
360
- <div class="model-item glow">llama-3.1-405b</div>
361
- <div class="model-item glow">llama-3.1-7b</div>
362
- <div class="model-item glow">llama-3.1-80b</div>
363
- <div class="model-item glow">gemini-1.0-pro-001</div>
364
- <div class="model-item glow">gemini-1.5-pro</div>
365
- <div class="model-item glow">gemini-pro</div>
366
- <div class="model-item glow">gemini-pro-vision</div>
367
-
368
- <!-- Add the rest of the models below -->
369
- <div class="model-item">gpt-3.5-turbo</div>
370
- <div class="model-item">gpt-3.5-turbo-0125</div>
371
- <div class="model-item">gpt-3.5-turbo-0301</div>
372
- <div class="model-item">gpt-3.5-turbo-0613</div>
373
- <div class="model-item">gpt-3.5-turbo-1106</div>
374
- <div class="model-item">gpt-3.5-turbo-16k</div>
375
- <div class="model-item">gpt-3.5-turbo-16k-0613</div>
376
- <div class="model-item">gpt-3.5-turbo-instruct</div>
377
- <div class="model-item">gpt-35-turbo</div>
378
- <div class="model-item">gpt-35-turbo-16k</div>
379
- <div class="model-item">gpt-4</div>
380
- <div class="model-item">gpt-4-0125-preview</div>
381
- <div class="model-item">gpt-4-0314</div>
382
- <div class="model-item">gpt-4-0613</div>
383
- <div class="model-item">gpt-4-1106-preview</div>
384
- <div class="model-item">gpt-4-32k</div>
385
- <div class="model-item">gpt-4-32k-0314</div>
386
- <div class="model-item">gpt-4-32k-0613</div>
387
- <div class="model-item">gpt-4-turbo</div>
388
- <div class="model-item">gpt-4-turbo-2024-04-09</div>
389
- <div class="model-item">gpt-4-turbo-preview</div>
390
- <div class="model-item">gpt-4-vision-preview</div>
391
- <div class="model-item">gpt-4o-2024-05-13</div>
392
- <div class="model-item">gpt-4o-all</div>
393
- <div class="model-item">gpt-4o-mini-2024-07-18</div>
394
- <div class="model-item">hunyuan-lite</div>
395
- <div class="model-item">hunyuan-pro</div>
396
- <div class="model-item">hunyuan-standard</div>
397
- <div class="model-item">hunyuan-standard-256K</div>
398
- <div class="model-item">mistral-medium</div>
399
- <div class="model-item">mixtral-8x7b</div>
400
- <div class="model-item">net-gpt-4-all</div>
401
- <div class="model-item">o1-mini-2024-09-12</div>
402
- <div class="model-item">o1-mini-all</div>
403
- <div class="model-item">o1-preview-2024-09-12</div>
404
- <div class="model-item">o1-preview-all</div>
405
- <div class="model-item">qwen-72b</div>
406
- <div class="model-item">qwen-long</div>
407
- <div class="model-item">qwen-max</div>
408
- <div class="model-item">qwen-max-longcontext</div>
409
- <div class="model-item">qwen-plus</div>
410
- <div class="model-item">qwen-turbo</div>
411
- <div class="model-item">360GPT_S2_V9</div>
412
- <div class="model-item">abab5.5s-chat</div>
413
- <div class="model-item">abab6-chat</div>
414
- <div class="model-item">Baichuan2-Turbo</div>
415
- <div class="model-item">chatglm_lite</div>
416
- <div class="model-item">chatglm_pro</div>
417
- <div class="model-item">chatglm_std</div>
418
- <div class="model-item">chatglm_turbo</div>
419
- <div class="model-item">code-llama-13b</div>
420
- <div class="model-item">code-llama-34b</div>
421
- <div class="model-item">code-llama-7b</div>
422
- </div>
423
- </section>
424
-
425
- <section class="contact-section">
426
- <h2>Get Started Now</h2>
427
- <p style="color: var(--text-secondary); margin-bottom: 1.5rem;">Ready to integrate Loki.AI into your application?</p>
428
- <a href="https://dsc.gg/chadgang" target="_blank" class="btn">
429
- Join Our Discord Community
430
- </a>
431
- </section>
432
-
433
- <footer>
434
- <p>Built with ❤️ by Parth Sadaria</p>
435
- </footer>
436
- </div>
437
-
438
- <script>
439
- document.addEventListener('DOMContentLoaded', function() {
440
- const cursor = document.querySelector('.cursor');
441
- const cursorDot = document.querySelector('.cursor-dot');
442
- const cursorTrail = document.querySelector('.cursor-trail');
443
-
444
- let mouseX = 0;
445
- let mouseY = 0;
446
- let cursorX = 0;
447
- let cursorY = 0;
448
- let trailX = 0;
449
- let trailY = 0;
450
-
451
- // Function to update sizes dynamically
452
- function getSizes() {
453
- return {
454
- cursorSize: parseInt(getComputedStyle(cursor).width),
455
- dotSize: parseInt(getComputedStyle(cursorDot).width),
456
- trailSize: parseInt(getComputedStyle(cursorTrail).width)
457
- };
458
- }
459
-
460
- document.addEventListener('mousemove', (e) => {
461
- mouseX = e.clientX;
462
- mouseY = e.clientY;
463
-
464
- // Update header gradient
465
- const header = document.querySelector('header');
466
- if (header) {
467
- const rect = header.getBoundingClientRect();
468
- const x = ((e.clientX - rect.left) / rect.width) * 100;
469
- const y = ((e.clientY - rect.top) / rect.height) * 100;
470
- header.style.setProperty('--x', `${x}%`);
471
- header.style.setProperty('--y', `${y}%`);
472
- }
473
-
474
- // Update glow effects
475
- document.querySelectorAll('[data-glow]').forEach(element => {
476
- const rect = element.getBoundingClientRect();
477
- const x = ((e.clientX - rect.left) / rect.width) * 100;
478
- const y = ((e.clientY - rect.top) / rect.height) * 100;
479
- element.style.setProperty('--x', `${x}%`);
480
- element.style.setProperty('--y', `${y}%`);
481
- });
482
- });
483
-
484
- // Smooth cursor animation
485
- function animate() {
486
- const { cursorSize, dotSize, trailSize } = getSizes(); // Get sizes each frame
487
-
488
- // Calculate movement for cursor and trail
489
- const dxCursor = mouseX - cursorX;
490
- const dyCursor = mouseY - cursorY;
491
-
492
- cursorX += dxCursor * 0.15; // Faster follow
493
- cursorY += dyCursor * 0.15;
494
-
495
- // Trail follows cursor with a slight delay
496
- const dxTrail = cursorX - trailX;
497
- const dyTrail = cursorY - trailY;
498
-
499
- trailX += dxTrail * 0.1;
500
- trailY += dyTrail * 0.1;
501
-
502
- // Apply transformations based on dynamic sizes
503
- cursor.style.transform = `translate(${cursorX - cursorSize / 2}px, ${cursorY - cursorSize / 2}px)`;
504
- cursorDot.style.transform = `translate(${mouseX - dotSize / 2}px, ${mouseY - dotSize / 2}px)`;
505
- cursorTrail.style.transform = `translate(${trailX - trailSize / 2}px, ${trailY - trailSize / 2}px)`;
506
-
507
- requestAnimationFrame(animate);
508
- }
509
- animate();
510
-
511
- // Cursor interactions with smooth transitions
512
- document.querySelectorAll('a, button, .section').forEach(element => {
513
- element.addEventListener('mouseenter', () => {
514
- cursor.style.transition = 'width 0.2s ease, height 0.2s ease';
515
- cursor.style.width = '30px';
516
- cursor.style.height = '30px';
517
- cursor.style.backgroundColor = 'rgba(59, 130, 246, 1)';
518
- });
519
-
520
- element.addEventListener('mouseleave', () => {
521
- cursor.style.transition = 'width 0.2s ease, height 0.2s ease';
522
- cursor.style.width = '20px';
523
- cursor.style.height = '20px';
524
- cursor.style.backgroundColor = 'transparent';
525
- });
526
- });
527
-
528
- // Prevent cursor from disappearing
529
- document.addEventListener('mouseout', () => {
530
- cursor.style.opacity = '0';
531
- cursorDot.style.opacity = '0';
532
- cursorTrail.style.opacity = '0';
533
- });
534
-
535
- document.addEventListener('mouseover', () => {
536
- cursor.style.opacity = '1';
537
- cursorDot.style.opacity = '1';
538
- cursorTrail.style.opacity = '1';
539
- });
540
-
541
- // Initialize Prism
542
- Prism.highlightAll();
543
- });
544
- </script>
545
- </body>
546
  </html>
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>API Documentation | Loki.AI</title>
7
+ <link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;600&display=swap" rel="stylesheet">
8
+ <link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.24.1/themes/prism-tomorrow.min.css" rel="stylesheet" />
9
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.24.1/prism.min.js"></script>
10
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.24.1/components/prism-json.min.js"></script>
11
+ <style>
12
+ :root {
13
+ --bg-primary: #000000;
14
+ --bg-secondary: #1c1c1e;
15
+ --text-primary: #ffffff;
16
+ --text-secondary: #86868b;
17
+ --accent: #0071e3;
18
+ --border: #333336;
19
+ --card-bg: #1c1c1e;
20
+ }
21
+
22
+ * {
23
+ margin: 0;
24
+ padding: 0;
25
+ box-sizing: border-box;
26
+ cursor: none;
27
+ }
28
+
29
+ body {
30
+ background-color: var(--bg-primary);
31
+ color: var(--text-primary);
32
+ font-family: 'Space Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;
33
+ line-height: 1.5;
34
+ }
35
+ /* Customize scrollbar for WebKit browsers (Chrome, Safari, Edge) */
36
+ body::-webkit-scrollbar {
37
+ width: 12px; /* Set the width of the scrollbar */
38
+ }
39
+
40
+ body::-webkit-scrollbar-thumb {
41
+ background-color: #1a1a1a; /* Scrollbar color */
42
+ border-radius: 10px; /* Round edges */
43
+ transition: background-color 200ms ease; /* Smooth transition for background color */
44
+ }
45
+
46
+ body::-webkit-scrollbar-track {
47
+ background: none; /* Track color */
48
+ border-radius: 10px; /* Match rounding */
49
+ }
50
+
51
+ body::-webkit-scrollbar-thumb:hover {
52
+ width: 20px;
53
+ background-color: #2a2a2a; /* Change color on hover */
54
+ }
55
+
56
+
57
+ .container {
58
+ max-width: 800px;
59
+ margin: 0 auto;
60
+ padding: 2rem;
61
+ }
62
+
63
+ /* Header styles */
64
+ header {
65
+ padding: 8rem 0;
66
+ text-align: center;
67
+ background: var(--bg-secondary);
68
+ border-radius: 12px;
69
+ margin-bottom: 4rem;
70
+ border: 1px solid var(--border);
71
+ position: relative;
72
+ overflow: hidden;
73
+ }
74
+
75
+ /* Before pseudo-element for hover effect */
76
+ header::before {
77
+ content: '';
78
+ position: absolute;
79
+ top: 0;
80
+ left: 0;
81
+ right: 0;
82
+ bottom: 0;
83
+ background: radial-gradient(circle at var(--x, 50%) var(--y, 50%),
84
+ rgba(59, 130, 246, 0.1) 0%,
85
+ transparent 50%);
86
+ pointer-events: none;
87
+ opacity: 0;
88
+ transition: opacity 0.3s ease;
89
+ }
90
+
91
+ header:hover::before {
92
+ opacity: 1;
93
+ }
94
+
95
+ /* Scroll Down indicator styles */
96
+ .scroll-indicator {
97
+ position: absolute;
98
+ bottom: 20px; /* Place it just below the header padding */
99
+ left: 50%;
100
+ transform: translateX(-50%);
101
+ opacity: 0;
102
+ font-size: 12px;
103
+ color: #8f8f8f;
104
+ transition: opacity 0.3s ease, transform 0.3s ease;
105
+ }
106
+
107
+ /* Arrow styling */
108
+ .arrow {
109
+ font-size: 12px;
110
+ transition: transform 0.3s ease;
111
+ }
112
+
113
+ /* On hover, make the text appear and move up */
114
+ header:hover .scroll-indicator {
115
+ opacity: 1;
116
+ transform: translate(-50%, -10px); /* Move it up slightly */
117
+ }
118
+
119
+ header:hover .scroll-indicator .arrow {
120
+ transform: translateY(10px); /* Bounce the arrow a little */
121
+ }
122
+
123
+
124
+ h1 {
125
+ font-size: 5.5rem;
126
+ font-weight: 700;
127
+ letter-spacing: -0.03em;
128
+ margin-bottom: 1rem;
129
+ background: linear-gradient(135deg, #fff 0%, #888 100%);
130
+ -webkit-background-clip: text;
131
+ background-clip: text;
132
+ -webkit-text-fill-color: transparent;
133
+ }
134
+
135
+ header p {
136
+ color: var(--text-secondary);
137
+ font-size: 1.2rem;
138
+ }
139
+
140
+ .section {
141
+ background: var(--card-bg);
142
+ border-radius: 20px;
143
+ padding: 2rem;
144
+ margin-bottom: 2rem;
145
+ border: 1px solid var(--border);
146
+ }
147
+
148
+ h2 {
149
+ font-size: 1.8rem;
150
+ margin-bottom: 1.5rem;
151
+ color: var(--text-primary);
152
+ }
153
+
154
+ h3 {
155
+ font-size: 1.2rem;
156
+ margin: 1.5rem 0 0.75rem;
157
+ color: var(--text-primary);
158
+ }
159
+
160
+ .endpoint {
161
+ background: var(--bg-primary);
162
+ padding: 1rem;
163
+ border-radius: 12px;
164
+ font-family: 'JetBrains Mono', monospace;
165
+ margin: 0.5rem 0;
166
+ border: 1px solid var(--border);
167
+ }
168
+
169
+ .btn {
170
+ display: inline-block;
171
+ background: var(--accent);
172
+ color: white;
173
+ padding: 0.8rem 1.5rem;
174
+ border-radius: 24px;
175
+ text-decoration: none;
176
+ font-weight: 500;
177
+ transition: all 0.2s ease;
178
+ border: none;
179
+ cursor: pointer;
180
+ margin: 0.5rem 0;
181
+ }
182
+
183
+ .btn:hover {
184
+ background: #0077ED;
185
+ transform: translateY(-1px);
186
+ }
187
+
188
+ .models-list {
189
+ display: grid;
190
+ grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
191
+ gap: 1rem;
192
+ margin-top: 1rem;
193
+ }
194
+
195
+ .model-item {
196
+ background: var(--bg-primary);
197
+ padding: 1rem;
198
+ border-radius: 12px;
199
+ text-align: center;
200
+ border: 1px solid var(--border);
201
+ transition: all 0.2s ease;
202
+ }
203
+
204
+ .model-item:hover {
205
+ border-color: var(--accent);
206
+ transform: translateY(-2px);
207
+ }
208
+ .model-item.glow {
209
+ font-weight: 700;
210
+ position: relative;
211
+ border: 2px solid transparent; /* Initial border with no color */
212
+ background-clip: padding-box; /* Ensure background doesn’t interfere with border */
213
+ animation: slideBorder 3s ease-in-out infinite; /* Smooth transition with ease-in-out */
214
+ border-radius: 5px; /* Optional: rounded corners */
215
+ }
216
+
217
+ @keyframes slideBorder {
218
+ 0% {
219
+ border-color: rgba(255, 215, 0, 0.2); /* Soft gold */
220
+ }
221
+ 50% {
222
+ border-color: rgba(255, 215, 0, 0.8); /* Brighter gold */
223
+ }
224
+ 100% {
225
+ border-color: rgba(255, 215, 0, 0.2); /* Soft gold */
226
+ }
227
+ }
228
+
229
+
230
+ pre {
231
+ border-radius: 12px;
232
+ margin: 1rem 0;
233
+ background: var(--bg-primary) !important;
234
+ border: 1px solid var(--border);
235
+ }
236
+
237
+ code {
238
+ font-family: 'JetBrains Mono', monospace;
239
+ }
240
+
241
+ .contact-section {
242
+ text-align: center;
243
+ padding: 3rem 2rem;
244
+ background: var(--card-bg);
245
+ border-radius: 20px;
246
+ border: 1px solid var(--border);
247
+ }
248
+
249
+ footer {
250
+ text-align: center;
251
+ padding: 2rem;
252
+ color: var(--text-secondary);
253
+ }
254
+
255
+ @media (max-width: 768px) {
256
+ .container {
257
+ padding: 1rem;
258
+ }
259
+
260
+ h1 {
261
+ font-size: 2.5rem;
262
+ }
263
+
264
+ .section {
265
+ padding: 1.5rem;
266
+ }
267
+ }
268
+ .cursor {
269
+ width: 20px;
270
+ height: 20px;
271
+ border: 2px solid var(--accent);
272
+ border-radius: 50%;
273
+ position: fixed;
274
+ pointer-events: none;
275
+ z-index: 999;
276
+ transition: all 0.1s ease;
277
+ transition-property: width, height, border;
278
+ }
279
+
280
+ .cursor-dot {
281
+ width: 4px;
282
+ height: 4px;
283
+ background: var(--accent);
284
+ border-radius: 50%;
285
+ position: fixed;
286
+ pointer-events: none;
287
+ z-index: 999;
288
+ }
289
+
290
+ .cursor-trail {
291
+ width: 10px;
292
+ height: 10px;
293
+ background: rgba(59, 130, 246, 0.2);
294
+ border-radius: 50%;
295
+ position: fixed;
296
+ pointer-events: none;
297
+ z-index: 998;
298
+ transition: 0.1s;
299
+ }
300
+ </style>
301
+ </head>
302
+ <body>
303
+ <div class="cursor"></div>
304
+ <div class="cursor-dot"></div>
305
+ <div class="cursor-trail"></div>
306
+ <div class="container">
307
+ <header>
308
+
309
+ <h1>Loki.AI API</h1>
310
+ <p>Powerful AI Integration at Your Fingertips</p>
311
+ <p style="margin-top: 10px;">Made With ❤️ by
312
+ <a href="https://github.com/ParthSadaria" style="text-decoration: none; color: inherit; font-weight: bold; transition: 500ms ease;"
313
+ onmouseover="this.style.textShadow='0 0 15px #FFFFFF';"
314
+ onmouseout="this.style.textShadow='none';">
315
+ Parth Sadaria
316
+ </a>
317
+ </p>
318
+ <div class="scroll-indicator">
319
+ <span>Scroll Down For More Info<br><span class="arrow">v</span></span>
320
+ </div>
321
+ </header>
322
+
323
+ <section class="section">
324
+ <h2>Quick Start Guide</h2>
325
+
326
+ <h3>Base URL</h3>
327
+ <div class="endpoint">https://parthsadaria-lokiai.hf.space/chat/completions</div>
328
+
329
+ <h3>Models Endpoint</h3>
330
+ <div class="endpoint">https://parthsadaria-lokiai.hf.space/models</div>
331
+
332
+ <h3>Authentication</h3>
333
+ <a href="https://dsc.gg/chadgang" target="_blank" class="btn">
334
+ Join Discord & Dm @mr_leaderyt for Free API Key
335
+ </a>
336
+ </section>
337
+
338
+ <section class="section">
339
+ <h2>Request Format</h2>
340
+ <pre><code class="language-json">{
341
+ "model": "llama-3.1-405b",
342
+ "messages": [
343
+ {
344
+ "role": "user",
345
+ "content": "Hello, AI!"
346
+ },
347
+ "stream": true
348
+ ]
349
+ }</code></pre>
350
+ </section>
351
+
352
+ <section class="section">
353
+ <h2>Available Models</h2>
354
+ <p>More info at <span style="text-decoration: underline; cursor: pointer;" onclick="window.location.href='https://parthsadaria-lokiai.hf.space/models'">https://parthsadaria-lokiai.hf.space/models</span></p>
355
+ <div class="models-list">
356
+ <div class="model-item glow">o1-preview</div>
357
+ <div class="model-item glow">o1-mini</div>
358
+ <div class="model-item glow">gpt-4o</div>
359
+ <div class="model-item glow">gpt-4o-mini</div>
360
+ <div class="model-item glow">llama-3.1-405b</div>
361
+ <div class="model-item glow">llama-3.1-7b</div>
362
+ <div class="model-item glow">llama-3.1-80b</div>
363
+ <div class="model-item glow">gemini-1.0-pro-001</div>
364
+ <div class="model-item glow">gemini-1.5-pro</div>
365
+ <div class="model-item glow">gemini-pro</div>
366
+ <div class="model-item glow">gemini-pro-vision</div>
367
+
368
+ <!-- Add the rest of the models below -->
369
+ <div class="model-item">gpt-3.5-turbo</div>
370
+ <div class="model-item">gpt-3.5-turbo-0125</div>
371
+ <div class="model-item">gpt-3.5-turbo-0301</div>
372
+ <div class="model-item">gpt-3.5-turbo-0613</div>
373
+ <div class="model-item">gpt-3.5-turbo-1106</div>
374
+ <div class="model-item">gpt-3.5-turbo-16k</div>
375
+ <div class="model-item">gpt-3.5-turbo-16k-0613</div>
376
+ <div class="model-item">gpt-3.5-turbo-instruct</div>
377
+ <div class="model-item">gpt-35-turbo</div>
378
+ <div class="model-item">gpt-35-turbo-16k</div>
379
+ <div class="model-item">gpt-4</div>
380
+ <div class="model-item">gpt-4-0125-preview</div>
381
+ <div class="model-item">gpt-4-0314</div>
382
+ <div class="model-item">gpt-4-0613</div>
383
+ <div class="model-item">gpt-4-1106-preview</div>
384
+ <div class="model-item">gpt-4-32k</div>
385
+ <div class="model-item">gpt-4-32k-0314</div>
386
+ <div class="model-item">gpt-4-32k-0613</div>
387
+ <div class="model-item">gpt-4-turbo</div>
388
+ <div class="model-item">gpt-4-turbo-2024-04-09</div>
389
+ <div class="model-item">gpt-4-turbo-preview</div>
390
+ <div class="model-item">gpt-4-vision-preview</div>
391
+ <div class="model-item">gpt-4o-2024-05-13</div>
392
+ <div class="model-item">gpt-4o-all</div>
393
+ <div class="model-item">gpt-4o-mini-2024-07-18</div>
394
+ <div class="model-item">hunyuan-lite</div>
395
+ <div class="model-item">hunyuan-pro</div>
396
+ <div class="model-item">hunyuan-standard</div>
397
+ <div class="model-item">hunyuan-standard-256K</div>
398
+ <div class="model-item">mistral-medium</div>
399
+ <div class="model-item">mixtral-8x7b</div>
400
+ <div class="model-item">net-gpt-4-all</div>
401
+ <div class="model-item">o1-mini-2024-09-12</div>
402
+ <div class="model-item">o1-mini-all</div>
403
+ <div class="model-item">o1-preview-2024-09-12</div>
404
+ <div class="model-item">o1-preview-all</div>
405
+ <div class="model-item">qwen-72b</div>
406
+ <div class="model-item">qwen-long</div>
407
+ <div class="model-item">qwen-max</div>
408
+ <div class="model-item">qwen-max-longcontext</div>
409
+ <div class="model-item">qwen-plus</div>
410
+ <div class="model-item">qwen-turbo</div>
411
+ <div class="model-item">360GPT_S2_V9</div>
412
+ <div class="model-item">abab5.5s-chat</div>
413
+ <div class="model-item">abab6-chat</div>
414
+ <div class="model-item">Baichuan2-Turbo</div>
415
+ <div class="model-item">chatglm_lite</div>
416
+ <div class="model-item">chatglm_pro</div>
417
+ <div class="model-item">chatglm_std</div>
418
+ <div class="model-item">chatglm_turbo</div>
419
+ <div class="model-item">code-llama-13b</div>
420
+ <div class="model-item">code-llama-34b</div>
421
+ <div class="model-item">code-llama-7b</div>
422
+ </div>
423
+ </section>
424
+
425
+ <section class="contact-section">
426
+ <h2>Get Started Now</h2>
427
+ <p style="color: var(--text-secondary); margin-bottom: 1.5rem;">Ready to integrate Loki.AI into your application?</p>
428
+ <a href="https://dsc.gg/chadgang" target="_blank" class="btn">
429
+ Join Our Discord Community
430
+ </a>
431
+ </section>
432
+
433
+ <footer>
434
+ <p>Built with ❤️ by Parth Sadaria</p>
435
+ </footer>
436
+ </div>
437
+
438
+ <script>
439
+ document.addEventListener('DOMContentLoaded', function() {
440
+ const cursor = document.querySelector('.cursor');
441
+ const cursorDot = document.querySelector('.cursor-dot');
442
+ const cursorTrail = document.querySelector('.cursor-trail');
443
+
444
+ let mouseX = 0;
445
+ let mouseY = 0;
446
+ let cursorX = 0;
447
+ let cursorY = 0;
448
+ let trailX = 0;
449
+ let trailY = 0;
450
+
451
+ // Function to update sizes dynamically
452
+ function getSizes() {
453
+ return {
454
+ cursorSize: parseInt(getComputedStyle(cursor).width),
455
+ dotSize: parseInt(getComputedStyle(cursorDot).width),
456
+ trailSize: parseInt(getComputedStyle(cursorTrail).width)
457
+ };
458
+ }
459
+
460
+ document.addEventListener('mousemove', (e) => {
461
+ mouseX = e.clientX;
462
+ mouseY = e.clientY;
463
+
464
+ // Update header gradient
465
+ const header = document.querySelector('header');
466
+ if (header) {
467
+ const rect = header.getBoundingClientRect();
468
+ const x = ((e.clientX - rect.left) / rect.width) * 100;
469
+ const y = ((e.clientY - rect.top) / rect.height) * 100;
470
+ header.style.setProperty('--x', `${x}%`);
471
+ header.style.setProperty('--y', `${y}%`);
472
+ }
473
+
474
+ // Update glow effects
475
+ document.querySelectorAll('[data-glow]').forEach(element => {
476
+ const rect = element.getBoundingClientRect();
477
+ const x = ((e.clientX - rect.left) / rect.width) * 100;
478
+ const y = ((e.clientY - rect.top) / rect.height) * 100;
479
+ element.style.setProperty('--x', `${x}%`);
480
+ element.style.setProperty('--y', `${y}%`);
481
+ });
482
+ });
483
+
484
+ // Smooth cursor animation
485
+ function animate() {
486
+ const { cursorSize, dotSize, trailSize } = getSizes(); // Get sizes each frame
487
+
488
+ // Calculate movement for cursor and trail
489
+ const dxCursor = mouseX - cursorX;
490
+ const dyCursor = mouseY - cursorY;
491
+
492
+ cursorX += dxCursor * 0.15; // Faster follow
493
+ cursorY += dyCursor * 0.15;
494
+
495
+ // Trail follows cursor with a slight delay
496
+ const dxTrail = cursorX - trailX;
497
+ const dyTrail = cursorY - trailY;
498
+
499
+ trailX += dxTrail * 0.1;
500
+ trailY += dyTrail * 0.1;
501
+
502
+ // Apply transformations based on dynamic sizes
503
+ cursor.style.transform = `translate(${cursorX - cursorSize / 2}px, ${cursorY - cursorSize / 2}px)`;
504
+ cursorDot.style.transform = `translate(${mouseX - dotSize / 2}px, ${mouseY - dotSize / 2}px)`;
505
+ cursorTrail.style.transform = `translate(${trailX - trailSize / 2}px, ${trailY - trailSize / 2}px)`;
506
+
507
+ requestAnimationFrame(animate);
508
+ }
509
+ animate();
510
+
511
+ // Cursor interactions with smooth transitions
512
+ document.querySelectorAll('a, button, .section').forEach(element => {
513
+ element.addEventListener('mouseenter', () => {
514
+ cursor.style.transition = 'width 0.2s ease, height 0.2s ease';
515
+ cursor.style.width = '30px';
516
+ cursor.style.height = '30px';
517
+ cursor.style.backgroundColor = 'rgba(59, 130, 246, 1)';
518
+ });
519
+
520
+ element.addEventListener('mouseleave', () => {
521
+ cursor.style.transition = 'width 0.2s ease, height 0.2s ease';
522
+ cursor.style.width = '20px';
523
+ cursor.style.height = '20px';
524
+ cursor.style.backgroundColor = 'transparent';
525
+ });
526
+ });
527
+
528
+ // Prevent cursor from disappearing
529
+ document.addEventListener('mouseout', () => {
530
+ cursor.style.opacity = '0';
531
+ cursorDot.style.opacity = '0';
532
+ cursorTrail.style.opacity = '0';
533
+ });
534
+
535
+ document.addEventListener('mouseover', () => {
536
+ cursor.style.opacity = '1';
537
+ cursorDot.style.opacity = '1';
538
+ cursorTrail.style.opacity = '1';
539
+ });
540
+
541
+ // Initialize Prism
542
+ Prism.highlightAll();
543
+ });
544
+ </script>
545
+ </body>
546
  </html>