jameswlepage commited on
Commit
dc47aa0
·
verified ·
1 Parent(s): 4f12343

Replace boilerplate index.html with TSFM.ai org card

Browse files
Files changed (1) hide show
  1. index.html +235 -10
index.html CHANGED
@@ -1,19 +1,244 @@
1
  <!doctype html>
2
- <html>
3
  <head>
4
  <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  </head>
9
  <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
  </p>
17
- </div>
18
  </body>
19
  </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" />
6
+ <title>TSFM.ai Time-series foundation models as a service</title>
7
+ <meta
8
+ name="description"
9
+ content="TSFM.ai hosts every major pretrained time-series foundation model behind one inference API: Chronos, TimesFM, Moirai, Granite TTM, TiRex, Toto, TimeMoE, MOMENT, and more."
10
+ />
11
+ <style>
12
+ :root {
13
+ color-scheme: light dark;
14
+ --bg: transparent;
15
+ --fg: #0f172a;
16
+ --muted: #475569;
17
+ --border: rgba(15, 23, 42, 0.12);
18
+ --accent: #4f46e5;
19
+ --chip-bg: rgba(79, 70, 229, 0.08);
20
+ --chip-fg: #3730a3;
21
+ --code-bg: rgba(15, 23, 42, 0.04);
22
+ --code-fg: #0f172a;
23
+ }
24
+ @media (prefers-color-scheme: dark) {
25
+ :root {
26
+ --fg: #e2e8f0;
27
+ --muted: #94a3b8;
28
+ --border: rgba(148, 163, 184, 0.18);
29
+ --accent: #a5b4fc;
30
+ --chip-bg: rgba(165, 180, 252, 0.12);
31
+ --chip-fg: #c7d2fe;
32
+ --code-bg: rgba(148, 163, 184, 0.12);
33
+ --code-fg: #e2e8f0;
34
+ }
35
+ }
36
+ * {
37
+ box-sizing: border-box;
38
+ }
39
+ body {
40
+ margin: 0;
41
+ padding: 2rem 1.25rem 3rem;
42
+ font-family:
43
+ ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
44
+ color: var(--fg);
45
+ background: var(--bg);
46
+ line-height: 1.55;
47
+ font-size: 15px;
48
+ }
49
+ .wrap {
50
+ max-width: 720px;
51
+ margin: 0 auto;
52
+ }
53
+ .eyebrow {
54
+ display: inline-block;
55
+ font-size: 0.75rem;
56
+ font-weight: 600;
57
+ letter-spacing: 0.08em;
58
+ text-transform: uppercase;
59
+ color: var(--accent);
60
+ margin-bottom: 0.5rem;
61
+ }
62
+ h1 {
63
+ font-size: 2rem;
64
+ font-weight: 700;
65
+ margin: 0 0 0.35rem;
66
+ letter-spacing: -0.015em;
67
+ }
68
+ .tagline {
69
+ font-size: 1.125rem;
70
+ color: var(--muted);
71
+ margin: 0 0 1.5rem;
72
+ }
73
+ .links {
74
+ display: flex;
75
+ flex-wrap: wrap;
76
+ gap: 0.4rem 0.85rem;
77
+ margin-bottom: 2rem;
78
+ font-size: 0.9rem;
79
+ }
80
+ .links a {
81
+ color: var(--accent);
82
+ text-decoration: none;
83
+ border-bottom: 1px solid transparent;
84
+ transition: border-color 120ms ease;
85
+ }
86
+ .links a:hover {
87
+ border-color: var(--accent);
88
+ }
89
+ .links span[aria-hidden="true"] {
90
+ color: var(--border);
91
+ }
92
+ h2 {
93
+ font-size: 1rem;
94
+ font-weight: 600;
95
+ margin: 2rem 0 0.75rem;
96
+ letter-spacing: -0.01em;
97
+ }
98
+ p {
99
+ margin: 0 0 0.9rem;
100
+ }
101
+ .chips {
102
+ display: flex;
103
+ flex-wrap: wrap;
104
+ gap: 0.4rem;
105
+ margin: 0 0 1rem;
106
+ }
107
+ .chip {
108
+ font-size: 0.78rem;
109
+ padding: 0.25rem 0.6rem;
110
+ border-radius: 999px;
111
+ background: var(--chip-bg);
112
+ color: var(--chip-fg);
113
+ font-weight: 500;
114
+ letter-spacing: 0.005em;
115
+ }
116
+ pre {
117
+ background: var(--code-bg);
118
+ color: var(--code-fg);
119
+ padding: 0.9rem 1rem;
120
+ border-radius: 8px;
121
+ overflow-x: auto;
122
+ font-size: 0.82rem;
123
+ line-height: 1.55;
124
+ margin: 0.5rem 0 1.25rem;
125
+ font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
126
+ }
127
+ code {
128
+ font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
129
+ font-size: 0.88em;
130
+ }
131
+ hr {
132
+ border: 0;
133
+ border-top: 1px solid var(--border);
134
+ margin: 2rem 0;
135
+ }
136
+ .footer {
137
+ color: var(--muted);
138
+ font-size: 0.85rem;
139
+ margin-top: 1.5rem;
140
+ }
141
+ .footer a {
142
+ color: var(--accent);
143
+ text-decoration: none;
144
+ }
145
+ .footer a:hover {
146
+ text-decoration: underline;
147
+ }
148
+ </style>
149
  </head>
150
  <body>
151
+ <main class="wrap">
152
+ <div class="eyebrow">TSFM.ai</div>
153
+ <h1>Time-series foundation models as a service</h1>
154
+ <p class="tagline">
155
+ One API. 49+ pretrained forecasters. No fine-tuning required.
156
+ </p>
157
+
158
+ <div class="links">
159
+ <a href="https://tsfm.ai">tsfm.ai</a>
160
+ <span aria-hidden="true">·</span>
161
+ <a href="https://tsfm.ai/docs">docs</a>
162
+ <span aria-hidden="true">·</span>
163
+ <a href="https://tsfm.ai/docs/api">API reference</a>
164
+ <span aria-hidden="true">·</span>
165
+ <a href="https://tsfm.ai/pricing">pricing</a>
166
+ <span aria-hidden="true">·</span>
167
+ <a href="https://tsfm.ai/benchmarks/gift-eval">GIFT-Eval</a>
168
+ <span aria-hidden="true">·</span>
169
+ <a href="https://tsfm.ai/blog">blog</a>
170
+ </div>
171
+
172
+ <h2>What we host</h2>
173
+ <p>
174
+ Every major open-weights time-series foundation model, served behind one consistent inference
175
+ API. See the
176
+ <a href="https://huggingface.co/collections/TSFM-ai/time-series-foundation-models-served-by-tsfmai-69e2baca51579e4b126dbf20"
177
+ >full catalog collection</a
178
+ >
179
+ for the exact 49 models you can call today.
180
+ </p>
181
+ <div class="chips">
182
+ <span class="chip">Chronos / Chronos-Bolt / Chronos-2</span>
183
+ <span class="chip">TimesFM 2.0 / 2.5</span>
184
+ <span class="chip">Moirai 1.x / 2.0 / MoE</span>
185
+ <span class="chip">Granite TTM / PatchTST / FlowState</span>
186
+ <span class="chip">TiRex</span>
187
+ <span class="chip">Toto</span>
188
+ <span class="chip">TimeMoE</span>
189
+ <span class="chip">MOMENT</span>
190
+ <span class="chip">Sundial / Timer</span>
191
+ <span class="chip">Lag-Llama</span>
192
+ <span class="chip">TEMPO</span>
193
+ <span class="chip">Kairos</span>
194
+ <span class="chip">YingLong</span>
195
+ <span class="chip">Kronos</span>
196
+ <span class="chip">TSPulse</span>
197
+ </div>
198
+
199
+ <h2>Why a dedicated provider</h2>
200
  <p>
201
+ General-purpose LLM inference stacks are a bad fit for forecasting. Time-series models have
202
+ narrow context windows, variable history lengths, quantile outputs, exogenous covariates, and
203
+ probabilistic sampling — none of which map cleanly onto OpenAI-style APIs. We built TSFM.ai for
204
+ this surface: <code>past_values</code>, <code>past_timestamps</code>,
205
+ <code>past_covariates</code>, <code>future_covariates</code>, <code>static_covariates</code>,
206
+ <code>quantiles</code>, and <code>num_samples</code> are first-class.
207
+ </p>
208
+
209
+ <h2>Get started</h2>
210
+ <pre><code>curl -X POST https://api.tsfm.ai/v1/forecast \
211
+ -H "Authorization: Bearer $TSFM_API_KEY" \
212
+ -H "Content-Type: application/json" \
213
+ -d '{
214
+ "model": "amazon/chronos-2",
215
+ "inputs": [{"target": [10, 12, 11, 13, 14, 15, 14, 16, 18, 17]}],
216
+ "parameters": {"prediction_length": 24, "quantiles": [0.1, 0.5, 0.9]}
217
+ }'</code></pre>
218
+
219
+ <pre><code>from tsfm import Tsfm
220
+
221
+ client = Tsfm()
222
+ forecast = client.forecast(
223
+ model="amazon/chronos-2",
224
+ inputs=[{"target": [10, 12, 11, 13, 14, 15, 14, 16, 18, 17]}],
225
+ parameters={"prediction_length": 24, "quantiles": [0.1, 0.5, 0.9]},
226
+ )
227
+ print(forecast.predictions[0].mean)</code></pre>
228
+
229
+ <h2>Benchmarks</h2>
230
+ <p>
231
+ We publish continuously-updated scores for every hosted model on
232
+ <a href="https://tsfm.ai/benchmarks/gift-eval">GIFT-Eval</a> and
233
+ <a href="https://tsfm.ai/benchmarks/impermanent">Impermanent</a>.
234
+ </p>
235
+
236
+ <h2>Contact</h2>
237
+ <p class="footer">
238
+ General: <a href="mailto:hello@tsfm.ai">hello@tsfm.ai</a> · Enterprise:
239
+ <a href="mailto:sales@tsfm.ai">sales@tsfm.ai</a> · Website:
240
+ <a href="https://tsfm.ai">tsfm.ai</a>
241
  </p>
242
+ </main>
243
  </body>
244
  </html>