@ai-sdk/fal 3.0.0-beta.5 → 3.0.0-beta.50

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 CHANGED
@@ -1,5 +1,382 @@
1
1
  # @ai-sdk/fal
2
2
 
3
+ ## 3.0.0-beta.50
4
+
5
+ ### Patch Changes
6
+
7
+ - b8396f0: trigger initial beta release
8
+ - Updated dependencies [b8396f0]
9
+ - @ai-sdk/provider-utils@5.0.0-beta.49
10
+ - @ai-sdk/provider@4.0.0-beta.19
11
+
12
+ ## 3.0.0-canary.49
13
+
14
+ ### Patch Changes
15
+
16
+ - aeda373: fix: only send provider credentials to same-origin response-supplied URLs
17
+
18
+ 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.
19
+
20
+ 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.
21
+
22
+ - Updated dependencies [aeda373]
23
+ - Updated dependencies [375fdd7]
24
+ - Updated dependencies [b4507d5]
25
+ - @ai-sdk/provider-utils@5.0.0-canary.48
26
+
27
+ ## 3.0.0-canary.48
28
+
29
+ ### Patch Changes
30
+
31
+ - Updated dependencies [bae5e2b]
32
+ - @ai-sdk/provider-utils@5.0.0-canary.47
33
+
34
+ ## 3.0.0-canary.47
35
+
36
+ ### Patch Changes
37
+
38
+ - Updated dependencies [ce769dd]
39
+ - @ai-sdk/provider@4.0.0-canary.18
40
+ - @ai-sdk/provider-utils@5.0.0-canary.46
41
+
42
+ ## 3.0.0-canary.46
43
+
44
+ ### Patch Changes
45
+
46
+ - Updated dependencies [ee798eb]
47
+ - Updated dependencies [daf6637]
48
+ - @ai-sdk/provider-utils@5.0.0-canary.45
49
+
50
+ ## 3.0.0-canary.45
51
+
52
+ ### Patch Changes
53
+
54
+ - Updated dependencies [6c93e36]
55
+ - Updated dependencies [f617ac2]
56
+ - @ai-sdk/provider-utils@5.0.0-canary.44
57
+
58
+ ## 3.0.0-canary.44
59
+
60
+ ### Patch Changes
61
+
62
+ - 7fc6bd6: Raise minimum supported Node.js version to 22. Supported versions: 22, 24, and 26.
63
+ - Updated dependencies [7fc6bd6]
64
+ - @ai-sdk/provider-utils@5.0.0-canary.43
65
+ - @ai-sdk/provider@4.0.0-canary.17
66
+
67
+ ## 3.0.0-canary.43
68
+
69
+ ### Patch Changes
70
+
71
+ - Updated dependencies [a6617c5]
72
+ - @ai-sdk/provider-utils@5.0.0-canary.42
73
+
74
+ ## 3.0.0-canary.42
75
+
76
+ ### Patch Changes
77
+
78
+ - Updated dependencies [28dfa06]
79
+ - Updated dependencies [e93fa91]
80
+ - @ai-sdk/provider-utils@5.0.0-canary.41
81
+
82
+ ## 3.0.0-canary.41
83
+
84
+ ### Patch Changes
85
+
86
+ - Updated dependencies [a7de9c9]
87
+ - @ai-sdk/provider-utils@5.0.0-canary.40
88
+
89
+ ## 3.0.0-canary.40
90
+
91
+ ### Patch Changes
92
+
93
+ - Updated dependencies [105f95b]
94
+ - @ai-sdk/provider-utils@5.0.0-canary.39
95
+
96
+ ## 3.0.0-canary.39
97
+
98
+ ### Patch Changes
99
+
100
+ - Updated dependencies [ca446f8]
101
+ - @ai-sdk/provider-utils@5.0.0-canary.38
102
+
103
+ ## 3.0.0-canary.38
104
+
105
+ ### Patch Changes
106
+
107
+ - Updated dependencies [d848405]
108
+ - @ai-sdk/provider-utils@5.0.0-canary.37
109
+
110
+ ## 3.0.0-canary.37
111
+
112
+ ### Patch Changes
113
+
114
+ - Updated dependencies [ca39020]
115
+ - @ai-sdk/provider-utils@5.0.0-canary.36
116
+
117
+ ## 3.0.0-canary.36
118
+
119
+ ### Patch Changes
120
+
121
+ - Updated dependencies [f634bac]
122
+ - @ai-sdk/provider-utils@5.0.0-canary.35
123
+
124
+ ## 3.0.0-canary.35
125
+
126
+ ### Patch Changes
127
+
128
+ - Updated dependencies [69254e0]
129
+ - Updated dependencies [3015fc3]
130
+ - @ai-sdk/provider-utils@5.0.0-canary.34
131
+
132
+ ## 3.0.0-canary.34
133
+
134
+ ### Patch Changes
135
+
136
+ - Updated dependencies [2427d88]
137
+ - @ai-sdk/provider-utils@5.0.0-canary.33
138
+
139
+ ## 3.0.0-canary.33
140
+
141
+ ### Patch Changes
142
+
143
+ - Updated dependencies [5463d0d]
144
+ - @ai-sdk/provider-utils@5.0.0-canary.32
145
+ - @ai-sdk/provider@4.0.0-canary.16
146
+
147
+ ## 3.0.0-canary.32
148
+
149
+ ### Patch Changes
150
+
151
+ - 0c4c275: trigger initial canary release
152
+ - Updated dependencies [0c4c275]
153
+ - @ai-sdk/provider-utils@5.0.0-canary.31
154
+ - @ai-sdk/provider@4.0.0-canary.15
155
+
156
+ ## 3.0.0-beta.31
157
+
158
+ ### Major Changes
159
+
160
+ - 04e9009: chore: make provider implementations code patterns more consistent, including renaming certain exported symbols
161
+
162
+ For all externally exported symbols that were renamed, the old names continue to work via deprecated aliases.
163
+
164
+ ### Patch Changes
165
+
166
+ - Updated dependencies [08d2129]
167
+ - @ai-sdk/provider-utils@5.0.0-beta.30
168
+
169
+ ## 3.0.0-beta.30
170
+
171
+ ### Patch Changes
172
+
173
+ - 258c093: chore: ensure consistent import handling and avoid import duplicates or cycles
174
+ - Updated dependencies [9bd6512]
175
+ - Updated dependencies [258c093]
176
+ - Updated dependencies [b6783da]
177
+ - @ai-sdk/provider-utils@5.0.0-beta.29
178
+ - @ai-sdk/provider@4.0.0-beta.14
179
+
180
+ ## 3.0.0-beta.29
181
+
182
+ ### Patch Changes
183
+
184
+ - 9f0e36c: trigger release for all packages after provenance setup
185
+ - Updated dependencies [9f0e36c]
186
+ - @ai-sdk/provider@4.0.0-beta.13
187
+ - @ai-sdk/provider-utils@5.0.0-beta.28
188
+
189
+ ## 3.0.0-beta.28
190
+
191
+ ### Patch Changes
192
+
193
+ - Updated dependencies [785fe16]
194
+ - Updated dependencies [67df0a0]
195
+ - Updated dependencies [befb78c]
196
+ - Updated dependencies [0458559]
197
+ - Updated dependencies [5852c0a]
198
+ - Updated dependencies [fc92055]
199
+ - @ai-sdk/provider-utils@5.0.0-beta.27
200
+
201
+ ## 3.0.0-beta.27
202
+
203
+ ### Patch Changes
204
+
205
+ - Updated dependencies [2e98477]
206
+ - @ai-sdk/provider-utils@5.0.0-beta.26
207
+
208
+ ## 3.0.0-beta.26
209
+
210
+ ### Patch Changes
211
+
212
+ - Updated dependencies [eea8d98]
213
+ - @ai-sdk/provider-utils@5.0.0-beta.25
214
+
215
+ ## 3.0.0-beta.25
216
+
217
+ ### Patch Changes
218
+
219
+ - Updated dependencies [f807e45]
220
+ - @ai-sdk/provider-utils@5.0.0-beta.24
221
+
222
+ ## 3.0.0-beta.24
223
+
224
+ ### Patch Changes
225
+
226
+ - Updated dependencies [350ea38]
227
+ - @ai-sdk/provider-utils@5.0.0-beta.23
228
+
229
+ ## 3.0.0-beta.23
230
+
231
+ ### Patch Changes
232
+
233
+ - Updated dependencies [083947b]
234
+ - @ai-sdk/provider-utils@5.0.0-beta.22
235
+
236
+ ## 3.0.0-beta.22
237
+
238
+ ### Patch Changes
239
+
240
+ - Updated dependencies [add1126]
241
+ - @ai-sdk/provider-utils@5.0.0-beta.21
242
+
243
+ ## 3.0.0-beta.21
244
+
245
+ ### Patch Changes
246
+
247
+ - b3976a2: Add workflow serialization support to all provider models.
248
+
249
+ **`@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.
250
+
251
+ **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.
252
+
253
+ All provider model classes now include `WORKFLOW_SERIALIZE` and `WORKFLOW_DESERIALIZE` static methods, enabling them to cross workflow step boundaries without serialization errors.
254
+
255
+ - Updated dependencies [b3976a2]
256
+ - Updated dependencies [ff5eba1]
257
+ - @ai-sdk/provider-utils@5.0.0-beta.20
258
+ - @ai-sdk/provider@4.0.0-beta.12
259
+
260
+ ## 3.0.0-beta.20
261
+
262
+ ### Major Changes
263
+
264
+ - ef992f8: Remove CommonJS exports from all packages. All packages are now ESM-only (`"type": "module"`). Consumers using `require()` must switch to ESM `import` syntax.
265
+
266
+ ### Patch Changes
267
+
268
+ - Updated dependencies [ef992f8]
269
+ - @ai-sdk/provider@4.0.0-beta.11
270
+ - @ai-sdk/provider-utils@5.0.0-beta.19
271
+
272
+ ## 3.0.0-beta.19
273
+
274
+ ### Patch Changes
275
+
276
+ - 90e2d8a: chore: fix unused vars not being flagged by our lint tooling
277
+ - Updated dependencies [90e2d8a]
278
+ - @ai-sdk/provider-utils@5.0.0-beta.18
279
+
280
+ ## 3.0.0-beta.18
281
+
282
+ ### Patch Changes
283
+
284
+ - Updated dependencies [3ae1786]
285
+ - @ai-sdk/provider-utils@5.0.0-beta.17
286
+
287
+ ## 3.0.0-beta.17
288
+
289
+ ### Patch Changes
290
+
291
+ - Updated dependencies [176466a]
292
+ - @ai-sdk/provider@4.0.0-beta.10
293
+ - @ai-sdk/provider-utils@5.0.0-beta.16
294
+
295
+ ## 3.0.0-beta.16
296
+
297
+ ### Patch Changes
298
+
299
+ - Updated dependencies [e311194]
300
+ - @ai-sdk/provider@4.0.0-beta.9
301
+ - @ai-sdk/provider-utils@5.0.0-beta.15
302
+
303
+ ## 3.0.0-beta.15
304
+
305
+ ### Patch Changes
306
+
307
+ - Updated dependencies [34bd95d]
308
+ - Updated dependencies [008271d]
309
+ - @ai-sdk/provider@4.0.0-beta.8
310
+ - @ai-sdk/provider-utils@5.0.0-beta.14
311
+
312
+ ## 3.0.0-beta.14
313
+
314
+ ### Patch Changes
315
+
316
+ - Updated dependencies [b0c2869]
317
+ - Updated dependencies [7e26e81]
318
+ - @ai-sdk/provider-utils@5.0.0-beta.13
319
+
320
+ ## 3.0.0-beta.13
321
+
322
+ ### Patch Changes
323
+
324
+ - Updated dependencies [46d1149]
325
+ - @ai-sdk/provider-utils@5.0.0-beta.12
326
+
327
+ ## 3.0.0-beta.12
328
+
329
+ ### Patch Changes
330
+
331
+ - Updated dependencies [6fd51c0]
332
+ - @ai-sdk/provider-utils@5.0.0-beta.11
333
+ - @ai-sdk/provider@4.0.0-beta.7
334
+
335
+ ## 3.0.0-beta.11
336
+
337
+ ### Patch Changes
338
+
339
+ - Updated dependencies [c29a26f]
340
+ - @ai-sdk/provider-utils@5.0.0-beta.10
341
+ - @ai-sdk/provider@4.0.0-beta.6
342
+
343
+ ## 3.0.0-beta.10
344
+
345
+ ### Patch Changes
346
+
347
+ - 38fc777: Add AI Gateway hint to provider READMEs
348
+
349
+ ## 3.0.0-beta.9
350
+
351
+ ### Patch Changes
352
+
353
+ - Updated dependencies [2e17091]
354
+ - @ai-sdk/provider-utils@5.0.0-beta.9
355
+
356
+ ## 3.0.0-beta.8
357
+
358
+ ### Patch Changes
359
+
360
+ - Updated dependencies [986c6fd]
361
+ - Updated dependencies [493295c]
362
+ - @ai-sdk/provider-utils@5.0.0-beta.8
363
+
364
+ ## 3.0.0-beta.7
365
+
366
+ ### Patch Changes
367
+
368
+ - Updated dependencies [1f509d4]
369
+ - @ai-sdk/provider-utils@5.0.0-beta.7
370
+ - @ai-sdk/provider@4.0.0-beta.5
371
+
372
+ ## 3.0.0-beta.6
373
+
374
+ ### Patch Changes
375
+
376
+ - Updated dependencies [3887c70]
377
+ - @ai-sdk/provider-utils@5.0.0-beta.6
378
+ - @ai-sdk/provider@4.0.0-beta.4
379
+
3
380
  ## 3.0.0-beta.5
4
381
 
5
382
  ### Patch Changes
@@ -250,13 +627,13 @@
250
627
  Before
251
628
 
252
629
  ```ts
253
- model.textEmbeddingModel('my-model-id');
630
+ model.textEmbeddingModel("my-model-id");
254
631
  ```
255
632
 
256
633
  After
257
634
 
258
635
  ```ts
259
- model.embeddingModel('my-model-id');
636
+ model.embeddingModel("my-model-id");
260
637
  ```
261
638
 
262
639
  - 95f65c2: chore: use import \* from zod/v4
@@ -460,13 +837,13 @@
460
837
  Before
461
838
 
462
839
  ```ts
463
- model.textEmbeddingModel('my-model-id');
840
+ model.textEmbeddingModel("my-model-id");
464
841
  ```
465
842
 
466
843
  After
467
844
 
468
845
  ```ts
469
- model.embeddingModel('my-model-id');
846
+ model.embeddingModel("my-model-id");
470
847
  ```
471
848
 
472
849
  - Updated dependencies [8d9e8ad]
@@ -868,7 +1245,7 @@
868
1245
 
869
1246
  ```js
870
1247
  await generateImage({
871
- model: luma.image('photon-flash-1', {
1248
+ model: luma.image("photon-flash-1", {
872
1249
  maxImagesPerCall: 5,
873
1250
  pollIntervalMillis: 500,
874
1251
  }),
@@ -881,7 +1258,7 @@
881
1258
 
882
1259
  ```js
883
1260
  await generateImage({
884
- model: luma.image('photon-flash-1'),
1261
+ model: luma.image("photon-flash-1"),
885
1262
  prompt,
886
1263
  n: 10,
887
1264
  maxImagesPerCall: 5,
@@ -1123,7 +1500,7 @@
1123
1500
 
1124
1501
  ```js
1125
1502
  await generateImage({
1126
- model: luma.image('photon-flash-1', {
1503
+ model: luma.image("photon-flash-1", {
1127
1504
  maxImagesPerCall: 5,
1128
1505
  pollIntervalMillis: 500,
1129
1506
  }),
@@ -1136,7 +1513,7 @@
1136
1513
 
1137
1514
  ```js
1138
1515
  await generateImage({
1139
- model: luma.image('photon-flash-1'),
1516
+ model: luma.image("photon-flash-1"),
1140
1517
  prompt,
1141
1518
  n: 10,
1142
1519
  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