@ai-sdk/fal 3.0.0-beta.5 → 3.0.0-beta.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +393 -8
- package/README.md +2 -0
- package/dist/index.js +316 -241
- package/dist/index.js.map +1 -1
- package/docs/10-fal.mdx +2 -3
- package/package.json +14 -14
- package/src/fal-config.ts +2 -2
- package/src/{fal-image-options.ts → fal-image-model-options.ts} +5 -1
- package/src/fal-image-model.ts +23 -6
- package/src/fal-provider.ts +10 -10
- package/src/fal-speech-model-options.ts +21 -0
- package/src/fal-speech-model.ts +22 -24
- package/src/fal-transcription-model-options.ts +43 -0
- package/src/fal-transcription-model.ts +25 -49
- package/src/fal-video-model-options.ts +39 -0
- package/src/fal-video-model.ts +21 -49
- package/src/index.ts +4 -4
- package/dist/index.d.mts +0 -156
- package/dist/index.mjs +0 -1126
- package/dist/index.mjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,390 @@
|
|
|
1
1
|
# @ai-sdk/fal
|
|
2
2
|
|
|
3
|
+
## 3.0.0-beta.51
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [0416e3e]
|
|
8
|
+
- @ai-sdk/provider@4.0.0-beta.20
|
|
9
|
+
- @ai-sdk/provider-utils@5.0.0-beta.50
|
|
10
|
+
|
|
11
|
+
## 3.0.0-beta.50
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- b8396f0: trigger initial beta release
|
|
16
|
+
- Updated dependencies [b8396f0]
|
|
17
|
+
- @ai-sdk/provider-utils@5.0.0-beta.49
|
|
18
|
+
- @ai-sdk/provider@4.0.0-beta.19
|
|
19
|
+
|
|
20
|
+
## 3.0.0-canary.49
|
|
21
|
+
|
|
22
|
+
### Patch Changes
|
|
23
|
+
|
|
24
|
+
- aeda373: fix: only send provider credentials to same-origin response-supplied URLs
|
|
25
|
+
|
|
26
|
+
Several provider clients followed a URL taken from the provider's API response (a polling/status URL or a final media URL such as `polling_url`, `urls.get`, `result_url`, `result.sample`, or `video.uri`) and reused the authenticated headers — or appended `?key=<API_KEY>` — on that request. Because the host of the response-supplied URL was never validated, the long-lived API key was sent to whatever host the response named (a CDN in the benign case, or an attacker-chosen host if the provider response was tampered with), allowing credential exfiltration.
|
|
27
|
+
|
|
28
|
+
A new `isSameOrigin` helper is added to `@ai-sdk/provider-utils`, and the affected fetches in `@ai-sdk/black-forest-labs`, `@ai-sdk/fireworks`, `@ai-sdk/replicate`, `@ai-sdk/gladia`, `@ai-sdk/fal`, and `@ai-sdk/google` now attach credentials only when the followed URL is same-origin with the provider's configured API origin. Requests to a foreign origin are made without the credential.
|
|
29
|
+
|
|
30
|
+
- Updated dependencies [aeda373]
|
|
31
|
+
- Updated dependencies [375fdd7]
|
|
32
|
+
- Updated dependencies [b4507d5]
|
|
33
|
+
- @ai-sdk/provider-utils@5.0.0-canary.48
|
|
34
|
+
|
|
35
|
+
## 3.0.0-canary.48
|
|
36
|
+
|
|
37
|
+
### Patch Changes
|
|
38
|
+
|
|
39
|
+
- Updated dependencies [bae5e2b]
|
|
40
|
+
- @ai-sdk/provider-utils@5.0.0-canary.47
|
|
41
|
+
|
|
42
|
+
## 3.0.0-canary.47
|
|
43
|
+
|
|
44
|
+
### Patch Changes
|
|
45
|
+
|
|
46
|
+
- Updated dependencies [ce769dd]
|
|
47
|
+
- @ai-sdk/provider@4.0.0-canary.18
|
|
48
|
+
- @ai-sdk/provider-utils@5.0.0-canary.46
|
|
49
|
+
|
|
50
|
+
## 3.0.0-canary.46
|
|
51
|
+
|
|
52
|
+
### Patch Changes
|
|
53
|
+
|
|
54
|
+
- Updated dependencies [ee798eb]
|
|
55
|
+
- Updated dependencies [daf6637]
|
|
56
|
+
- @ai-sdk/provider-utils@5.0.0-canary.45
|
|
57
|
+
|
|
58
|
+
## 3.0.0-canary.45
|
|
59
|
+
|
|
60
|
+
### Patch Changes
|
|
61
|
+
|
|
62
|
+
- Updated dependencies [6c93e36]
|
|
63
|
+
- Updated dependencies [f617ac2]
|
|
64
|
+
- @ai-sdk/provider-utils@5.0.0-canary.44
|
|
65
|
+
|
|
66
|
+
## 3.0.0-canary.44
|
|
67
|
+
|
|
68
|
+
### Patch Changes
|
|
69
|
+
|
|
70
|
+
- 7fc6bd6: Raise minimum supported Node.js version to 22. Supported versions: 22, 24, and 26.
|
|
71
|
+
- Updated dependencies [7fc6bd6]
|
|
72
|
+
- @ai-sdk/provider-utils@5.0.0-canary.43
|
|
73
|
+
- @ai-sdk/provider@4.0.0-canary.17
|
|
74
|
+
|
|
75
|
+
## 3.0.0-canary.43
|
|
76
|
+
|
|
77
|
+
### Patch Changes
|
|
78
|
+
|
|
79
|
+
- Updated dependencies [a6617c5]
|
|
80
|
+
- @ai-sdk/provider-utils@5.0.0-canary.42
|
|
81
|
+
|
|
82
|
+
## 3.0.0-canary.42
|
|
83
|
+
|
|
84
|
+
### Patch Changes
|
|
85
|
+
|
|
86
|
+
- Updated dependencies [28dfa06]
|
|
87
|
+
- Updated dependencies [e93fa91]
|
|
88
|
+
- @ai-sdk/provider-utils@5.0.0-canary.41
|
|
89
|
+
|
|
90
|
+
## 3.0.0-canary.41
|
|
91
|
+
|
|
92
|
+
### Patch Changes
|
|
93
|
+
|
|
94
|
+
- Updated dependencies [a7de9c9]
|
|
95
|
+
- @ai-sdk/provider-utils@5.0.0-canary.40
|
|
96
|
+
|
|
97
|
+
## 3.0.0-canary.40
|
|
98
|
+
|
|
99
|
+
### Patch Changes
|
|
100
|
+
|
|
101
|
+
- Updated dependencies [105f95b]
|
|
102
|
+
- @ai-sdk/provider-utils@5.0.0-canary.39
|
|
103
|
+
|
|
104
|
+
## 3.0.0-canary.39
|
|
105
|
+
|
|
106
|
+
### Patch Changes
|
|
107
|
+
|
|
108
|
+
- Updated dependencies [ca446f8]
|
|
109
|
+
- @ai-sdk/provider-utils@5.0.0-canary.38
|
|
110
|
+
|
|
111
|
+
## 3.0.0-canary.38
|
|
112
|
+
|
|
113
|
+
### Patch Changes
|
|
114
|
+
|
|
115
|
+
- Updated dependencies [d848405]
|
|
116
|
+
- @ai-sdk/provider-utils@5.0.0-canary.37
|
|
117
|
+
|
|
118
|
+
## 3.0.0-canary.37
|
|
119
|
+
|
|
120
|
+
### Patch Changes
|
|
121
|
+
|
|
122
|
+
- Updated dependencies [ca39020]
|
|
123
|
+
- @ai-sdk/provider-utils@5.0.0-canary.36
|
|
124
|
+
|
|
125
|
+
## 3.0.0-canary.36
|
|
126
|
+
|
|
127
|
+
### Patch Changes
|
|
128
|
+
|
|
129
|
+
- Updated dependencies [f634bac]
|
|
130
|
+
- @ai-sdk/provider-utils@5.0.0-canary.35
|
|
131
|
+
|
|
132
|
+
## 3.0.0-canary.35
|
|
133
|
+
|
|
134
|
+
### Patch Changes
|
|
135
|
+
|
|
136
|
+
- Updated dependencies [69254e0]
|
|
137
|
+
- Updated dependencies [3015fc3]
|
|
138
|
+
- @ai-sdk/provider-utils@5.0.0-canary.34
|
|
139
|
+
|
|
140
|
+
## 3.0.0-canary.34
|
|
141
|
+
|
|
142
|
+
### Patch Changes
|
|
143
|
+
|
|
144
|
+
- Updated dependencies [2427d88]
|
|
145
|
+
- @ai-sdk/provider-utils@5.0.0-canary.33
|
|
146
|
+
|
|
147
|
+
## 3.0.0-canary.33
|
|
148
|
+
|
|
149
|
+
### Patch Changes
|
|
150
|
+
|
|
151
|
+
- Updated dependencies [5463d0d]
|
|
152
|
+
- @ai-sdk/provider-utils@5.0.0-canary.32
|
|
153
|
+
- @ai-sdk/provider@4.0.0-canary.16
|
|
154
|
+
|
|
155
|
+
## 3.0.0-canary.32
|
|
156
|
+
|
|
157
|
+
### Patch Changes
|
|
158
|
+
|
|
159
|
+
- 0c4c275: trigger initial canary release
|
|
160
|
+
- Updated dependencies [0c4c275]
|
|
161
|
+
- @ai-sdk/provider-utils@5.0.0-canary.31
|
|
162
|
+
- @ai-sdk/provider@4.0.0-canary.15
|
|
163
|
+
|
|
164
|
+
## 3.0.0-beta.31
|
|
165
|
+
|
|
166
|
+
### Major Changes
|
|
167
|
+
|
|
168
|
+
- 04e9009: chore: make provider implementations code patterns more consistent, including renaming certain exported symbols
|
|
169
|
+
|
|
170
|
+
For all externally exported symbols that were renamed, the old names continue to work via deprecated aliases.
|
|
171
|
+
|
|
172
|
+
### Patch Changes
|
|
173
|
+
|
|
174
|
+
- Updated dependencies [08d2129]
|
|
175
|
+
- @ai-sdk/provider-utils@5.0.0-beta.30
|
|
176
|
+
|
|
177
|
+
## 3.0.0-beta.30
|
|
178
|
+
|
|
179
|
+
### Patch Changes
|
|
180
|
+
|
|
181
|
+
- 258c093: chore: ensure consistent import handling and avoid import duplicates or cycles
|
|
182
|
+
- Updated dependencies [9bd6512]
|
|
183
|
+
- Updated dependencies [258c093]
|
|
184
|
+
- Updated dependencies [b6783da]
|
|
185
|
+
- @ai-sdk/provider-utils@5.0.0-beta.29
|
|
186
|
+
- @ai-sdk/provider@4.0.0-beta.14
|
|
187
|
+
|
|
188
|
+
## 3.0.0-beta.29
|
|
189
|
+
|
|
190
|
+
### Patch Changes
|
|
191
|
+
|
|
192
|
+
- 9f0e36c: trigger release for all packages after provenance setup
|
|
193
|
+
- Updated dependencies [9f0e36c]
|
|
194
|
+
- @ai-sdk/provider@4.0.0-beta.13
|
|
195
|
+
- @ai-sdk/provider-utils@5.0.0-beta.28
|
|
196
|
+
|
|
197
|
+
## 3.0.0-beta.28
|
|
198
|
+
|
|
199
|
+
### Patch Changes
|
|
200
|
+
|
|
201
|
+
- Updated dependencies [785fe16]
|
|
202
|
+
- Updated dependencies [67df0a0]
|
|
203
|
+
- Updated dependencies [befb78c]
|
|
204
|
+
- Updated dependencies [0458559]
|
|
205
|
+
- Updated dependencies [5852c0a]
|
|
206
|
+
- Updated dependencies [fc92055]
|
|
207
|
+
- @ai-sdk/provider-utils@5.0.0-beta.27
|
|
208
|
+
|
|
209
|
+
## 3.0.0-beta.27
|
|
210
|
+
|
|
211
|
+
### Patch Changes
|
|
212
|
+
|
|
213
|
+
- Updated dependencies [2e98477]
|
|
214
|
+
- @ai-sdk/provider-utils@5.0.0-beta.26
|
|
215
|
+
|
|
216
|
+
## 3.0.0-beta.26
|
|
217
|
+
|
|
218
|
+
### Patch Changes
|
|
219
|
+
|
|
220
|
+
- Updated dependencies [eea8d98]
|
|
221
|
+
- @ai-sdk/provider-utils@5.0.0-beta.25
|
|
222
|
+
|
|
223
|
+
## 3.0.0-beta.25
|
|
224
|
+
|
|
225
|
+
### Patch Changes
|
|
226
|
+
|
|
227
|
+
- Updated dependencies [f807e45]
|
|
228
|
+
- @ai-sdk/provider-utils@5.0.0-beta.24
|
|
229
|
+
|
|
230
|
+
## 3.0.0-beta.24
|
|
231
|
+
|
|
232
|
+
### Patch Changes
|
|
233
|
+
|
|
234
|
+
- Updated dependencies [350ea38]
|
|
235
|
+
- @ai-sdk/provider-utils@5.0.0-beta.23
|
|
236
|
+
|
|
237
|
+
## 3.0.0-beta.23
|
|
238
|
+
|
|
239
|
+
### Patch Changes
|
|
240
|
+
|
|
241
|
+
- Updated dependencies [083947b]
|
|
242
|
+
- @ai-sdk/provider-utils@5.0.0-beta.22
|
|
243
|
+
|
|
244
|
+
## 3.0.0-beta.22
|
|
245
|
+
|
|
246
|
+
### Patch Changes
|
|
247
|
+
|
|
248
|
+
- Updated dependencies [add1126]
|
|
249
|
+
- @ai-sdk/provider-utils@5.0.0-beta.21
|
|
250
|
+
|
|
251
|
+
## 3.0.0-beta.21
|
|
252
|
+
|
|
253
|
+
### Patch Changes
|
|
254
|
+
|
|
255
|
+
- b3976a2: Add workflow serialization support to all provider models.
|
|
256
|
+
|
|
257
|
+
**`@ai-sdk/provider-utils`:** New `serializeModel()` helper that extracts only serializable properties from a model instance, filtering out functions and objects containing functions. Third-party provider authors can use this to add workflow support to their own models.
|
|
258
|
+
|
|
259
|
+
**All providers:** `headers` is now optional in provider config types. This is non-breaking — existing code that passes `headers` continues to work. Custom provider implementations that construct model configs manually can now omit `headers`, which is useful when models are deserialized from a workflow step boundary where auth is provided separately.
|
|
260
|
+
|
|
261
|
+
All provider model classes now include `WORKFLOW_SERIALIZE` and `WORKFLOW_DESERIALIZE` static methods, enabling them to cross workflow step boundaries without serialization errors.
|
|
262
|
+
|
|
263
|
+
- Updated dependencies [b3976a2]
|
|
264
|
+
- Updated dependencies [ff5eba1]
|
|
265
|
+
- @ai-sdk/provider-utils@5.0.0-beta.20
|
|
266
|
+
- @ai-sdk/provider@4.0.0-beta.12
|
|
267
|
+
|
|
268
|
+
## 3.0.0-beta.20
|
|
269
|
+
|
|
270
|
+
### Major Changes
|
|
271
|
+
|
|
272
|
+
- ef992f8: Remove CommonJS exports from all packages. All packages are now ESM-only (`"type": "module"`). Consumers using `require()` must switch to ESM `import` syntax.
|
|
273
|
+
|
|
274
|
+
### Patch Changes
|
|
275
|
+
|
|
276
|
+
- Updated dependencies [ef992f8]
|
|
277
|
+
- @ai-sdk/provider@4.0.0-beta.11
|
|
278
|
+
- @ai-sdk/provider-utils@5.0.0-beta.19
|
|
279
|
+
|
|
280
|
+
## 3.0.0-beta.19
|
|
281
|
+
|
|
282
|
+
### Patch Changes
|
|
283
|
+
|
|
284
|
+
- 90e2d8a: chore: fix unused vars not being flagged by our lint tooling
|
|
285
|
+
- Updated dependencies [90e2d8a]
|
|
286
|
+
- @ai-sdk/provider-utils@5.0.0-beta.18
|
|
287
|
+
|
|
288
|
+
## 3.0.0-beta.18
|
|
289
|
+
|
|
290
|
+
### Patch Changes
|
|
291
|
+
|
|
292
|
+
- Updated dependencies [3ae1786]
|
|
293
|
+
- @ai-sdk/provider-utils@5.0.0-beta.17
|
|
294
|
+
|
|
295
|
+
## 3.0.0-beta.17
|
|
296
|
+
|
|
297
|
+
### Patch Changes
|
|
298
|
+
|
|
299
|
+
- Updated dependencies [176466a]
|
|
300
|
+
- @ai-sdk/provider@4.0.0-beta.10
|
|
301
|
+
- @ai-sdk/provider-utils@5.0.0-beta.16
|
|
302
|
+
|
|
303
|
+
## 3.0.0-beta.16
|
|
304
|
+
|
|
305
|
+
### Patch Changes
|
|
306
|
+
|
|
307
|
+
- Updated dependencies [e311194]
|
|
308
|
+
- @ai-sdk/provider@4.0.0-beta.9
|
|
309
|
+
- @ai-sdk/provider-utils@5.0.0-beta.15
|
|
310
|
+
|
|
311
|
+
## 3.0.0-beta.15
|
|
312
|
+
|
|
313
|
+
### Patch Changes
|
|
314
|
+
|
|
315
|
+
- Updated dependencies [34bd95d]
|
|
316
|
+
- Updated dependencies [008271d]
|
|
317
|
+
- @ai-sdk/provider@4.0.0-beta.8
|
|
318
|
+
- @ai-sdk/provider-utils@5.0.0-beta.14
|
|
319
|
+
|
|
320
|
+
## 3.0.0-beta.14
|
|
321
|
+
|
|
322
|
+
### Patch Changes
|
|
323
|
+
|
|
324
|
+
- Updated dependencies [b0c2869]
|
|
325
|
+
- Updated dependencies [7e26e81]
|
|
326
|
+
- @ai-sdk/provider-utils@5.0.0-beta.13
|
|
327
|
+
|
|
328
|
+
## 3.0.0-beta.13
|
|
329
|
+
|
|
330
|
+
### Patch Changes
|
|
331
|
+
|
|
332
|
+
- Updated dependencies [46d1149]
|
|
333
|
+
- @ai-sdk/provider-utils@5.0.0-beta.12
|
|
334
|
+
|
|
335
|
+
## 3.0.0-beta.12
|
|
336
|
+
|
|
337
|
+
### Patch Changes
|
|
338
|
+
|
|
339
|
+
- Updated dependencies [6fd51c0]
|
|
340
|
+
- @ai-sdk/provider-utils@5.0.0-beta.11
|
|
341
|
+
- @ai-sdk/provider@4.0.0-beta.7
|
|
342
|
+
|
|
343
|
+
## 3.0.0-beta.11
|
|
344
|
+
|
|
345
|
+
### Patch Changes
|
|
346
|
+
|
|
347
|
+
- Updated dependencies [c29a26f]
|
|
348
|
+
- @ai-sdk/provider-utils@5.0.0-beta.10
|
|
349
|
+
- @ai-sdk/provider@4.0.0-beta.6
|
|
350
|
+
|
|
351
|
+
## 3.0.0-beta.10
|
|
352
|
+
|
|
353
|
+
### Patch Changes
|
|
354
|
+
|
|
355
|
+
- 38fc777: Add AI Gateway hint to provider READMEs
|
|
356
|
+
|
|
357
|
+
## 3.0.0-beta.9
|
|
358
|
+
|
|
359
|
+
### Patch Changes
|
|
360
|
+
|
|
361
|
+
- Updated dependencies [2e17091]
|
|
362
|
+
- @ai-sdk/provider-utils@5.0.0-beta.9
|
|
363
|
+
|
|
364
|
+
## 3.0.0-beta.8
|
|
365
|
+
|
|
366
|
+
### Patch Changes
|
|
367
|
+
|
|
368
|
+
- Updated dependencies [986c6fd]
|
|
369
|
+
- Updated dependencies [493295c]
|
|
370
|
+
- @ai-sdk/provider-utils@5.0.0-beta.8
|
|
371
|
+
|
|
372
|
+
## 3.0.0-beta.7
|
|
373
|
+
|
|
374
|
+
### Patch Changes
|
|
375
|
+
|
|
376
|
+
- Updated dependencies [1f509d4]
|
|
377
|
+
- @ai-sdk/provider-utils@5.0.0-beta.7
|
|
378
|
+
- @ai-sdk/provider@4.0.0-beta.5
|
|
379
|
+
|
|
380
|
+
## 3.0.0-beta.6
|
|
381
|
+
|
|
382
|
+
### Patch Changes
|
|
383
|
+
|
|
384
|
+
- Updated dependencies [3887c70]
|
|
385
|
+
- @ai-sdk/provider-utils@5.0.0-beta.6
|
|
386
|
+
- @ai-sdk/provider@4.0.0-beta.4
|
|
387
|
+
|
|
3
388
|
## 3.0.0-beta.5
|
|
4
389
|
|
|
5
390
|
### Patch Changes
|
|
@@ -250,13 +635,13 @@
|
|
|
250
635
|
Before
|
|
251
636
|
|
|
252
637
|
```ts
|
|
253
|
-
model.textEmbeddingModel(
|
|
638
|
+
model.textEmbeddingModel("my-model-id");
|
|
254
639
|
```
|
|
255
640
|
|
|
256
641
|
After
|
|
257
642
|
|
|
258
643
|
```ts
|
|
259
|
-
model.embeddingModel(
|
|
644
|
+
model.embeddingModel("my-model-id");
|
|
260
645
|
```
|
|
261
646
|
|
|
262
647
|
- 95f65c2: chore: use import \* from zod/v4
|
|
@@ -460,13 +845,13 @@
|
|
|
460
845
|
Before
|
|
461
846
|
|
|
462
847
|
```ts
|
|
463
|
-
model.textEmbeddingModel(
|
|
848
|
+
model.textEmbeddingModel("my-model-id");
|
|
464
849
|
```
|
|
465
850
|
|
|
466
851
|
After
|
|
467
852
|
|
|
468
853
|
```ts
|
|
469
|
-
model.embeddingModel(
|
|
854
|
+
model.embeddingModel("my-model-id");
|
|
470
855
|
```
|
|
471
856
|
|
|
472
857
|
- Updated dependencies [8d9e8ad]
|
|
@@ -868,7 +1253,7 @@
|
|
|
868
1253
|
|
|
869
1254
|
```js
|
|
870
1255
|
await generateImage({
|
|
871
|
-
model: luma.image(
|
|
1256
|
+
model: luma.image("photon-flash-1", {
|
|
872
1257
|
maxImagesPerCall: 5,
|
|
873
1258
|
pollIntervalMillis: 500,
|
|
874
1259
|
}),
|
|
@@ -881,7 +1266,7 @@
|
|
|
881
1266
|
|
|
882
1267
|
```js
|
|
883
1268
|
await generateImage({
|
|
884
|
-
model: luma.image(
|
|
1269
|
+
model: luma.image("photon-flash-1"),
|
|
885
1270
|
prompt,
|
|
886
1271
|
n: 10,
|
|
887
1272
|
maxImagesPerCall: 5,
|
|
@@ -1123,7 +1508,7 @@
|
|
|
1123
1508
|
|
|
1124
1509
|
```js
|
|
1125
1510
|
await generateImage({
|
|
1126
|
-
model: luma.image(
|
|
1511
|
+
model: luma.image("photon-flash-1", {
|
|
1127
1512
|
maxImagesPerCall: 5,
|
|
1128
1513
|
pollIntervalMillis: 500,
|
|
1129
1514
|
}),
|
|
@@ -1136,7 +1521,7 @@
|
|
|
1136
1521
|
|
|
1137
1522
|
```js
|
|
1138
1523
|
await generateImage({
|
|
1139
|
-
model: luma.image(
|
|
1524
|
+
model: luma.image("photon-flash-1"),
|
|
1140
1525
|
prompt,
|
|
1141
1526
|
n: 10,
|
|
1142
1527
|
maxImagesPerCall: 5,
|
package/README.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
The **[fal provider](https://ai-sdk.dev/providers/ai-sdk-providers/fal)** for the [AI SDK](https://ai-sdk.dev/docs) contains image model support for the [fal.ai API](https://fal.ai/).
|
|
4
4
|
|
|
5
|
+
> **Deploying to Vercel?** With Vercel's AI Gateway you can access fal (and hundreds of models from other providers) — no additional packages, API keys, or extra cost. [Get started with AI Gateway](https://vercel.com/ai-gateway).
|
|
6
|
+
|
|
5
7
|
## Setup
|
|
6
8
|
|
|
7
9
|
The fal provider is available in the `@ai-sdk/fal` module. You can install it with
|