@ai-sdk/replicate 1.0.0-canary.9 → 1.0.0
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 +482 -0
- package/README.md +2 -2
- package/dist/index.d.mts +8 -15
- package/dist/index.d.ts +8 -15
- package/dist/index.js +12 -16
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +7 -11
- package/dist/index.mjs.map +1 -1
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,487 @@
|
|
|
1
1
|
# @ai-sdk/replicate
|
|
2
2
|
|
|
3
|
+
## 1.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- d5f588f: AI SDK 5
|
|
8
|
+
- 516be5b: ### Move Image Model Settings into generate options
|
|
9
|
+
|
|
10
|
+
Image Models no longer have settings. Instead, `maxImagesPerCall` can be passed directly to `generateImage()`. All other image settings can be passed to `providerOptions[provider]`.
|
|
11
|
+
|
|
12
|
+
Before
|
|
13
|
+
|
|
14
|
+
```js
|
|
15
|
+
await generateImage({
|
|
16
|
+
model: luma.image('photon-flash-1', {
|
|
17
|
+
maxImagesPerCall: 5,
|
|
18
|
+
pollIntervalMillis: 500,
|
|
19
|
+
}),
|
|
20
|
+
prompt,
|
|
21
|
+
n: 10,
|
|
22
|
+
});
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
After
|
|
26
|
+
|
|
27
|
+
```js
|
|
28
|
+
await generateImage({
|
|
29
|
+
model: luma.image('photon-flash-1'),
|
|
30
|
+
prompt,
|
|
31
|
+
n: 10,
|
|
32
|
+
maxImagesPerCall: 5,
|
|
33
|
+
providerOptions: {
|
|
34
|
+
luma: { pollIntervalMillis: 5 },
|
|
35
|
+
},
|
|
36
|
+
});
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Pull Request: https://github.com/vercel/ai/pull/6180
|
|
40
|
+
|
|
41
|
+
### Patch Changes
|
|
42
|
+
|
|
43
|
+
- eb173f1: chore (providers): remove model shorthand deprecation warnings
|
|
44
|
+
- d9209ca: fix (image-model): `specificationVersion: v1` -> `v2`
|
|
45
|
+
- 9301f86: refactor (image-model): rename `ImageModelV1` to `ImageModelV2`
|
|
46
|
+
- d1a034f: feature: using Zod 4 for internal stuff
|
|
47
|
+
- 205077b: fix: improve Zod compatibility
|
|
48
|
+
- Updated dependencies [a571d6e]
|
|
49
|
+
- Updated dependencies [742b7be]
|
|
50
|
+
- Updated dependencies [e7fcc86]
|
|
51
|
+
- Updated dependencies [7cddb72]
|
|
52
|
+
- Updated dependencies [ccce59b]
|
|
53
|
+
- Updated dependencies [e2b9e4b]
|
|
54
|
+
- Updated dependencies [95857aa]
|
|
55
|
+
- Updated dependencies [45c1ea2]
|
|
56
|
+
- Updated dependencies [6f6bb89]
|
|
57
|
+
- Updated dependencies [060370c]
|
|
58
|
+
- Updated dependencies [dc714f3]
|
|
59
|
+
- Updated dependencies [b5da06a]
|
|
60
|
+
- Updated dependencies [d1a1aa1]
|
|
61
|
+
- Updated dependencies [63f9e9b]
|
|
62
|
+
- Updated dependencies [5d142ab]
|
|
63
|
+
- Updated dependencies [d5f588f]
|
|
64
|
+
- Updated dependencies [e025824]
|
|
65
|
+
- Updated dependencies [0571b98]
|
|
66
|
+
- Updated dependencies [b6b43c7]
|
|
67
|
+
- Updated dependencies [4fef487]
|
|
68
|
+
- Updated dependencies [48d257a]
|
|
69
|
+
- Updated dependencies [0c0c0b3]
|
|
70
|
+
- Updated dependencies [0d2c085]
|
|
71
|
+
- Updated dependencies [40acf9b]
|
|
72
|
+
- Updated dependencies [9222aeb]
|
|
73
|
+
- Updated dependencies [e2aceaf]
|
|
74
|
+
- Updated dependencies [411e483]
|
|
75
|
+
- Updated dependencies [8ba77a7]
|
|
76
|
+
- Updated dependencies [7b3ae3f]
|
|
77
|
+
- Updated dependencies [a166433]
|
|
78
|
+
- Updated dependencies [26735b5]
|
|
79
|
+
- Updated dependencies [443d8ec]
|
|
80
|
+
- Updated dependencies [a8c8bd5]
|
|
81
|
+
- Updated dependencies [abf9a79]
|
|
82
|
+
- Updated dependencies [14c9410]
|
|
83
|
+
- Updated dependencies [e86be6f]
|
|
84
|
+
- Updated dependencies [9bf7291]
|
|
85
|
+
- Updated dependencies [2e13791]
|
|
86
|
+
- Updated dependencies [9f95b35]
|
|
87
|
+
- Updated dependencies [66962ed]
|
|
88
|
+
- Updated dependencies [0d06df6]
|
|
89
|
+
- Updated dependencies [472524a]
|
|
90
|
+
- Updated dependencies [dd3ff01]
|
|
91
|
+
- Updated dependencies [d9c98f4]
|
|
92
|
+
- Updated dependencies [05d2819]
|
|
93
|
+
- Updated dependencies [9301f86]
|
|
94
|
+
- Updated dependencies [0a87932]
|
|
95
|
+
- Updated dependencies [c4a2fec]
|
|
96
|
+
- Updated dependencies [957b739]
|
|
97
|
+
- Updated dependencies [79457bd]
|
|
98
|
+
- Updated dependencies [a3f768e]
|
|
99
|
+
- Updated dependencies [7435eb5]
|
|
100
|
+
- Updated dependencies [8aa9e20]
|
|
101
|
+
- Updated dependencies [4617fab]
|
|
102
|
+
- Updated dependencies [ac34802]
|
|
103
|
+
- Updated dependencies [0054544]
|
|
104
|
+
- Updated dependencies [cb68df0]
|
|
105
|
+
- Updated dependencies [ad80501]
|
|
106
|
+
- Updated dependencies [68ecf2f]
|
|
107
|
+
- Updated dependencies [9e9c809]
|
|
108
|
+
- Updated dependencies [32831c6]
|
|
109
|
+
- Updated dependencies [6dc848c]
|
|
110
|
+
- Updated dependencies [6b98118]
|
|
111
|
+
- Updated dependencies [d0f9495]
|
|
112
|
+
- Updated dependencies [63d791d]
|
|
113
|
+
- Updated dependencies [87b828f]
|
|
114
|
+
- Updated dependencies [3f2f00c]
|
|
115
|
+
- Updated dependencies [bfdca8d]
|
|
116
|
+
- Updated dependencies [0ff02bb]
|
|
117
|
+
- Updated dependencies [7979f7f]
|
|
118
|
+
- Updated dependencies [39a4fab]
|
|
119
|
+
- Updated dependencies [44f4aba]
|
|
120
|
+
- Updated dependencies [9bd5ab5]
|
|
121
|
+
- Updated dependencies [57edfcb]
|
|
122
|
+
- Updated dependencies [faf8446]
|
|
123
|
+
- Updated dependencies [7ea4132]
|
|
124
|
+
- Updated dependencies [d1a034f]
|
|
125
|
+
- Updated dependencies [5c56081]
|
|
126
|
+
- Updated dependencies [fd65bc6]
|
|
127
|
+
- Updated dependencies [023ba40]
|
|
128
|
+
- Updated dependencies [ea7a7c9]
|
|
129
|
+
- Updated dependencies [26535e0]
|
|
130
|
+
- Updated dependencies [e030615]
|
|
131
|
+
- Updated dependencies [5e57fae]
|
|
132
|
+
- Updated dependencies [393138b]
|
|
133
|
+
- Updated dependencies [c57e248]
|
|
134
|
+
- Updated dependencies [88a8ee5]
|
|
135
|
+
- Updated dependencies [41fa418]
|
|
136
|
+
- Updated dependencies [205077b]
|
|
137
|
+
- Updated dependencies [71f938d]
|
|
138
|
+
- Updated dependencies [3795467]
|
|
139
|
+
- Updated dependencies [28a5ed5]
|
|
140
|
+
- Updated dependencies [7182d14]
|
|
141
|
+
- Updated dependencies [c1e6647]
|
|
142
|
+
- Updated dependencies [1766ede]
|
|
143
|
+
- Updated dependencies [811dff3]
|
|
144
|
+
- Updated dependencies [f10304b]
|
|
145
|
+
- Updated dependencies [dd5fd43]
|
|
146
|
+
- Updated dependencies [33f4a6a]
|
|
147
|
+
- Updated dependencies [383cbfa]
|
|
148
|
+
- Updated dependencies [27deb4d]
|
|
149
|
+
- Updated dependencies [c4df419]
|
|
150
|
+
- @ai-sdk/provider-utils@3.0.0
|
|
151
|
+
- @ai-sdk/provider@2.0.0
|
|
152
|
+
|
|
153
|
+
## 1.0.0-beta.10
|
|
154
|
+
|
|
155
|
+
### Patch Changes
|
|
156
|
+
|
|
157
|
+
- Updated dependencies [88a8ee5]
|
|
158
|
+
- @ai-sdk/provider-utils@3.0.0-beta.10
|
|
159
|
+
|
|
160
|
+
## 1.0.0-beta.9
|
|
161
|
+
|
|
162
|
+
### Patch Changes
|
|
163
|
+
|
|
164
|
+
- Updated dependencies [27deb4d]
|
|
165
|
+
- @ai-sdk/provider@2.0.0-beta.2
|
|
166
|
+
- @ai-sdk/provider-utils@3.0.0-beta.9
|
|
167
|
+
|
|
168
|
+
## 1.0.0-beta.8
|
|
169
|
+
|
|
170
|
+
### Patch Changes
|
|
171
|
+
|
|
172
|
+
- eb173f1: chore (providers): remove model shorthand deprecation warnings
|
|
173
|
+
- Updated dependencies [dd5fd43]
|
|
174
|
+
- @ai-sdk/provider-utils@3.0.0-beta.8
|
|
175
|
+
|
|
176
|
+
## 1.0.0-beta.7
|
|
177
|
+
|
|
178
|
+
### Patch Changes
|
|
179
|
+
|
|
180
|
+
- Updated dependencies [e7fcc86]
|
|
181
|
+
- @ai-sdk/provider-utils@3.0.0-beta.7
|
|
182
|
+
|
|
183
|
+
## 1.0.0-beta.6
|
|
184
|
+
|
|
185
|
+
### Patch Changes
|
|
186
|
+
|
|
187
|
+
- Updated dependencies [ac34802]
|
|
188
|
+
- @ai-sdk/provider-utils@3.0.0-beta.6
|
|
189
|
+
|
|
190
|
+
## 1.0.0-beta.5
|
|
191
|
+
|
|
192
|
+
### Patch Changes
|
|
193
|
+
|
|
194
|
+
- Updated dependencies [57edfcb]
|
|
195
|
+
- Updated dependencies [383cbfa]
|
|
196
|
+
- @ai-sdk/provider-utils@3.0.0-beta.5
|
|
197
|
+
|
|
198
|
+
## 1.0.0-beta.4
|
|
199
|
+
|
|
200
|
+
### Patch Changes
|
|
201
|
+
|
|
202
|
+
- 205077b: fix: improve Zod compatibility
|
|
203
|
+
- Updated dependencies [205077b]
|
|
204
|
+
- @ai-sdk/provider-utils@3.0.0-beta.4
|
|
205
|
+
|
|
206
|
+
## 1.0.0-beta.3
|
|
207
|
+
|
|
208
|
+
### Patch Changes
|
|
209
|
+
|
|
210
|
+
- Updated dependencies [05d2819]
|
|
211
|
+
- @ai-sdk/provider-utils@3.0.0-beta.3
|
|
212
|
+
|
|
213
|
+
## 1.0.0-beta.2
|
|
214
|
+
|
|
215
|
+
### Patch Changes
|
|
216
|
+
|
|
217
|
+
- d1a034f: feature: using Zod 4 for internal stuff
|
|
218
|
+
- Updated dependencies [0571b98]
|
|
219
|
+
- Updated dependencies [39a4fab]
|
|
220
|
+
- Updated dependencies [d1a034f]
|
|
221
|
+
- @ai-sdk/provider-utils@3.0.0-beta.2
|
|
222
|
+
|
|
223
|
+
## 1.0.0-beta.1
|
|
224
|
+
|
|
225
|
+
### Patch Changes
|
|
226
|
+
|
|
227
|
+
- Updated dependencies [742b7be]
|
|
228
|
+
- Updated dependencies [7cddb72]
|
|
229
|
+
- Updated dependencies [ccce59b]
|
|
230
|
+
- Updated dependencies [e2b9e4b]
|
|
231
|
+
- Updated dependencies [45c1ea2]
|
|
232
|
+
- Updated dependencies [e025824]
|
|
233
|
+
- Updated dependencies [0d06df6]
|
|
234
|
+
- Updated dependencies [472524a]
|
|
235
|
+
- Updated dependencies [dd3ff01]
|
|
236
|
+
- Updated dependencies [7435eb5]
|
|
237
|
+
- Updated dependencies [cb68df0]
|
|
238
|
+
- Updated dependencies [bfdca8d]
|
|
239
|
+
- Updated dependencies [44f4aba]
|
|
240
|
+
- Updated dependencies [023ba40]
|
|
241
|
+
- Updated dependencies [5e57fae]
|
|
242
|
+
- Updated dependencies [71f938d]
|
|
243
|
+
- Updated dependencies [28a5ed5]
|
|
244
|
+
- @ai-sdk/provider@2.0.0-beta.1
|
|
245
|
+
- @ai-sdk/provider-utils@3.0.0-beta.1
|
|
246
|
+
|
|
247
|
+
## 1.0.0-alpha.15
|
|
248
|
+
|
|
249
|
+
### Patch Changes
|
|
250
|
+
|
|
251
|
+
- Updated dependencies [48d257a]
|
|
252
|
+
- Updated dependencies [8ba77a7]
|
|
253
|
+
- @ai-sdk/provider@2.0.0-alpha.15
|
|
254
|
+
- @ai-sdk/provider-utils@3.0.0-alpha.15
|
|
255
|
+
|
|
256
|
+
## 1.0.0-alpha.14
|
|
257
|
+
|
|
258
|
+
### Patch Changes
|
|
259
|
+
|
|
260
|
+
- Updated dependencies [b5da06a]
|
|
261
|
+
- Updated dependencies [63f9e9b]
|
|
262
|
+
- Updated dependencies [2e13791]
|
|
263
|
+
- @ai-sdk/provider@2.0.0-alpha.14
|
|
264
|
+
- @ai-sdk/provider-utils@3.0.0-alpha.14
|
|
265
|
+
|
|
266
|
+
## 1.0.0-alpha.13
|
|
267
|
+
|
|
268
|
+
### Patch Changes
|
|
269
|
+
|
|
270
|
+
- Updated dependencies [68ecf2f]
|
|
271
|
+
- @ai-sdk/provider@2.0.0-alpha.13
|
|
272
|
+
- @ai-sdk/provider-utils@3.0.0-alpha.13
|
|
273
|
+
|
|
274
|
+
## 1.0.0-alpha.12
|
|
275
|
+
|
|
276
|
+
### Patch Changes
|
|
277
|
+
|
|
278
|
+
- Updated dependencies [e2aceaf]
|
|
279
|
+
- @ai-sdk/provider@2.0.0-alpha.12
|
|
280
|
+
- @ai-sdk/provider-utils@3.0.0-alpha.12
|
|
281
|
+
|
|
282
|
+
## 1.0.0-alpha.11
|
|
283
|
+
|
|
284
|
+
### Patch Changes
|
|
285
|
+
|
|
286
|
+
- Updated dependencies [c1e6647]
|
|
287
|
+
- @ai-sdk/provider@2.0.0-alpha.11
|
|
288
|
+
- @ai-sdk/provider-utils@3.0.0-alpha.11
|
|
289
|
+
|
|
290
|
+
## 1.0.0-alpha.10
|
|
291
|
+
|
|
292
|
+
### Patch Changes
|
|
293
|
+
|
|
294
|
+
- Updated dependencies [c4df419]
|
|
295
|
+
- @ai-sdk/provider@2.0.0-alpha.10
|
|
296
|
+
- @ai-sdk/provider-utils@3.0.0-alpha.10
|
|
297
|
+
|
|
298
|
+
## 1.0.0-alpha.9
|
|
299
|
+
|
|
300
|
+
### Patch Changes
|
|
301
|
+
|
|
302
|
+
- Updated dependencies [811dff3]
|
|
303
|
+
- @ai-sdk/provider@2.0.0-alpha.9
|
|
304
|
+
- @ai-sdk/provider-utils@3.0.0-alpha.9
|
|
305
|
+
|
|
306
|
+
## 1.0.0-alpha.8
|
|
307
|
+
|
|
308
|
+
### Patch Changes
|
|
309
|
+
|
|
310
|
+
- Updated dependencies [4fef487]
|
|
311
|
+
- Updated dependencies [9222aeb]
|
|
312
|
+
- @ai-sdk/provider-utils@3.0.0-alpha.8
|
|
313
|
+
- @ai-sdk/provider@2.0.0-alpha.8
|
|
314
|
+
|
|
315
|
+
## 1.0.0-alpha.7
|
|
316
|
+
|
|
317
|
+
### Patch Changes
|
|
318
|
+
|
|
319
|
+
- Updated dependencies [5c56081]
|
|
320
|
+
- @ai-sdk/provider@2.0.0-alpha.7
|
|
321
|
+
- @ai-sdk/provider-utils@3.0.0-alpha.7
|
|
322
|
+
|
|
323
|
+
## 1.0.0-alpha.6
|
|
324
|
+
|
|
325
|
+
### Patch Changes
|
|
326
|
+
|
|
327
|
+
- Updated dependencies [0d2c085]
|
|
328
|
+
- @ai-sdk/provider@2.0.0-alpha.6
|
|
329
|
+
- @ai-sdk/provider-utils@3.0.0-alpha.6
|
|
330
|
+
|
|
331
|
+
## 1.0.0-alpha.4
|
|
332
|
+
|
|
333
|
+
### Patch Changes
|
|
334
|
+
|
|
335
|
+
- Updated dependencies [dc714f3]
|
|
336
|
+
- @ai-sdk/provider@2.0.0-alpha.4
|
|
337
|
+
- @ai-sdk/provider-utils@3.0.0-alpha.4
|
|
338
|
+
|
|
339
|
+
## 1.0.0-alpha.3
|
|
340
|
+
|
|
341
|
+
### Patch Changes
|
|
342
|
+
|
|
343
|
+
- Updated dependencies [6b98118]
|
|
344
|
+
- @ai-sdk/provider@2.0.0-alpha.3
|
|
345
|
+
- @ai-sdk/provider-utils@3.0.0-alpha.3
|
|
346
|
+
|
|
347
|
+
## 1.0.0-alpha.2
|
|
348
|
+
|
|
349
|
+
### Patch Changes
|
|
350
|
+
|
|
351
|
+
- Updated dependencies [26535e0]
|
|
352
|
+
- @ai-sdk/provider@2.0.0-alpha.2
|
|
353
|
+
- @ai-sdk/provider-utils@3.0.0-alpha.2
|
|
354
|
+
|
|
355
|
+
## 1.0.0-alpha.1
|
|
356
|
+
|
|
357
|
+
### Patch Changes
|
|
358
|
+
|
|
359
|
+
- Updated dependencies [3f2f00c]
|
|
360
|
+
- @ai-sdk/provider@2.0.0-alpha.1
|
|
361
|
+
- @ai-sdk/provider-utils@3.0.0-alpha.1
|
|
362
|
+
|
|
363
|
+
## 1.0.0-canary.19
|
|
364
|
+
|
|
365
|
+
### Patch Changes
|
|
366
|
+
|
|
367
|
+
- Updated dependencies [faf8446]
|
|
368
|
+
- @ai-sdk/provider-utils@3.0.0-canary.19
|
|
369
|
+
|
|
370
|
+
## 1.0.0-canary.18
|
|
371
|
+
|
|
372
|
+
### Patch Changes
|
|
373
|
+
|
|
374
|
+
- Updated dependencies [40acf9b]
|
|
375
|
+
- @ai-sdk/provider-utils@3.0.0-canary.18
|
|
376
|
+
|
|
377
|
+
## 1.0.0-canary.17
|
|
378
|
+
|
|
379
|
+
### Major Changes
|
|
380
|
+
|
|
381
|
+
- 516be5b: ### Move Image Model Settings into generate options
|
|
382
|
+
|
|
383
|
+
Image Models no longer have settings. Instead, `maxImagesPerCall` can be passed directly to `generateImage()`. All other image settings can be passed to `providerOptions[provider]`.
|
|
384
|
+
|
|
385
|
+
Before
|
|
386
|
+
|
|
387
|
+
```js
|
|
388
|
+
await generateImage({
|
|
389
|
+
model: luma.image('photon-flash-1', {
|
|
390
|
+
maxImagesPerCall: 5,
|
|
391
|
+
pollIntervalMillis: 500,
|
|
392
|
+
}),
|
|
393
|
+
prompt,
|
|
394
|
+
n: 10,
|
|
395
|
+
});
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
After
|
|
399
|
+
|
|
400
|
+
```js
|
|
401
|
+
await generateImage({
|
|
402
|
+
model: luma.image('photon-flash-1'),
|
|
403
|
+
prompt,
|
|
404
|
+
n: 10,
|
|
405
|
+
maxImagesPerCall: 5,
|
|
406
|
+
providerOptions: {
|
|
407
|
+
luma: { pollIntervalMillis: 5 },
|
|
408
|
+
},
|
|
409
|
+
});
|
|
410
|
+
```
|
|
411
|
+
|
|
412
|
+
Pull Request: https://github.com/vercel/ai/pull/6180
|
|
413
|
+
|
|
414
|
+
### Patch Changes
|
|
415
|
+
|
|
416
|
+
- Updated dependencies [ea7a7c9]
|
|
417
|
+
- @ai-sdk/provider-utils@3.0.0-canary.17
|
|
418
|
+
|
|
419
|
+
## 1.0.0-canary.16
|
|
420
|
+
|
|
421
|
+
### Patch Changes
|
|
422
|
+
|
|
423
|
+
- Updated dependencies [87b828f]
|
|
424
|
+
- @ai-sdk/provider-utils@3.0.0-canary.16
|
|
425
|
+
|
|
426
|
+
## 1.0.0-canary.15
|
|
427
|
+
|
|
428
|
+
### Patch Changes
|
|
429
|
+
|
|
430
|
+
- Updated dependencies [a571d6e]
|
|
431
|
+
- Updated dependencies [a8c8bd5]
|
|
432
|
+
- Updated dependencies [7979f7f]
|
|
433
|
+
- Updated dependencies [41fa418]
|
|
434
|
+
- @ai-sdk/provider-utils@3.0.0-canary.15
|
|
435
|
+
- @ai-sdk/provider@2.0.0-canary.14
|
|
436
|
+
|
|
437
|
+
## 1.0.0-canary.14
|
|
438
|
+
|
|
439
|
+
### Patch Changes
|
|
440
|
+
|
|
441
|
+
- Updated dependencies [957b739]
|
|
442
|
+
- Updated dependencies [9bd5ab5]
|
|
443
|
+
- @ai-sdk/provider-utils@3.0.0-canary.14
|
|
444
|
+
- @ai-sdk/provider@2.0.0-canary.13
|
|
445
|
+
|
|
446
|
+
## 1.0.0-canary.13
|
|
447
|
+
|
|
448
|
+
### Patch Changes
|
|
449
|
+
|
|
450
|
+
- d9209ca: fix (image-model): `specificationVersion: v1` -> `v2`
|
|
451
|
+
- Updated dependencies [7b3ae3f]
|
|
452
|
+
- Updated dependencies [0ff02bb]
|
|
453
|
+
- @ai-sdk/provider@2.0.0-canary.12
|
|
454
|
+
- @ai-sdk/provider-utils@3.0.0-canary.13
|
|
455
|
+
|
|
456
|
+
## 1.0.0-canary.12
|
|
457
|
+
|
|
458
|
+
### Patch Changes
|
|
459
|
+
|
|
460
|
+
- Updated dependencies [9bf7291]
|
|
461
|
+
- Updated dependencies [4617fab]
|
|
462
|
+
- Updated dependencies [e030615]
|
|
463
|
+
- @ai-sdk/provider@2.0.0-canary.11
|
|
464
|
+
- @ai-sdk/provider-utils@3.0.0-canary.12
|
|
465
|
+
|
|
466
|
+
## 1.0.0-canary.11
|
|
467
|
+
|
|
468
|
+
### Patch Changes
|
|
469
|
+
|
|
470
|
+
- 9301f86: refactor (image-model): rename `ImageModelV1` to `ImageModelV2`
|
|
471
|
+
- Updated dependencies [66962ed]
|
|
472
|
+
- Updated dependencies [9301f86]
|
|
473
|
+
- Updated dependencies [a3f768e]
|
|
474
|
+
- @ai-sdk/provider-utils@3.0.0-canary.11
|
|
475
|
+
- @ai-sdk/provider@2.0.0-canary.10
|
|
476
|
+
|
|
477
|
+
## 1.0.0-canary.10
|
|
478
|
+
|
|
479
|
+
### Patch Changes
|
|
480
|
+
|
|
481
|
+
- Updated dependencies [e86be6f]
|
|
482
|
+
- @ai-sdk/provider@2.0.0-canary.9
|
|
483
|
+
- @ai-sdk/provider-utils@3.0.0-canary.10
|
|
484
|
+
|
|
3
485
|
## 1.0.0-canary.9
|
|
4
486
|
|
|
5
487
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# AI SDK - Replicate Provider
|
|
2
2
|
|
|
3
|
-
The **[Replicate provider](https://sdk.
|
|
3
|
+
The **[Replicate provider](https://ai-sdk.dev/providers/ai-sdk-providers/replicate)** for the [AI SDK](https://ai-sdk.dev/docs) contains image model support for the Replicate API.
|
|
4
4
|
|
|
5
5
|
## Setup
|
|
6
6
|
|
|
@@ -43,4 +43,4 @@ const { image } = await generateImage({
|
|
|
43
43
|
|
|
44
44
|
## Documentation
|
|
45
45
|
|
|
46
|
-
Please check out the **[Replicate provider](https://sdk.
|
|
46
|
+
Please check out the **[Replicate provider](https://ai-sdk.dev/providers/ai-sdk-providers/replicate)** for more information.
|
package/dist/index.d.mts
CHANGED
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ImageModelV2, ProviderV2 } from '@ai-sdk/provider';
|
|
2
2
|
import { Resolvable, FetchFunction } from '@ai-sdk/provider-utils';
|
|
3
3
|
|
|
4
4
|
type ReplicateImageModelId = 'black-forest-labs/flux-1.1-pro' | 'black-forest-labs/flux-1.1-pro-ultra' | 'black-forest-labs/flux-dev' | 'black-forest-labs/flux-pro' | 'black-forest-labs/flux-schnell' | 'bytedance/sdxl-lightning-4step' | 'fofr/aura-flow' | 'fofr/latent-consistency-model' | 'fofr/realvisxl-v3-multi-controlnet-lora' | 'fofr/sdxl-emoji' | 'fofr/sdxl-multi-controlnet-lora' | 'ideogram-ai/ideogram-v2' | 'ideogram-ai/ideogram-v2-turbo' | 'lucataco/dreamshaper-xl-turbo' | 'lucataco/open-dalle-v1.1' | 'lucataco/realvisxl-v2.0' | 'lucataco/realvisxl2-lcm' | 'luma/photon' | 'luma/photon-flash' | 'nvidia/sana' | 'playgroundai/playground-v2.5-1024px-aesthetic' | 'recraft-ai/recraft-v3' | 'recraft-ai/recraft-v3-svg' | 'stability-ai/stable-diffusion-3.5-large' | 'stability-ai/stable-diffusion-3.5-large-turbo' | 'stability-ai/stable-diffusion-3.5-medium' | 'tstramer/material-diffusion' | (string & {});
|
|
5
|
-
interface ReplicateImageSettings {
|
|
6
|
-
/**
|
|
7
|
-
Override the maximum number of images per call (default 1)
|
|
8
|
-
*/
|
|
9
|
-
maxImagesPerCall?: number;
|
|
10
|
-
}
|
|
11
5
|
|
|
12
6
|
interface ReplicateImageModelConfig {
|
|
13
7
|
provider: string;
|
|
@@ -18,15 +12,14 @@ interface ReplicateImageModelConfig {
|
|
|
18
12
|
currentDate?: () => Date;
|
|
19
13
|
};
|
|
20
14
|
}
|
|
21
|
-
declare class ReplicateImageModel implements
|
|
15
|
+
declare class ReplicateImageModel implements ImageModelV2 {
|
|
22
16
|
readonly modelId: ReplicateImageModelId;
|
|
23
|
-
private readonly settings;
|
|
24
17
|
private readonly config;
|
|
25
|
-
readonly specificationVersion = "
|
|
18
|
+
readonly specificationVersion = "v2";
|
|
19
|
+
readonly maxImagesPerCall = 1;
|
|
26
20
|
get provider(): string;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
doGenerate({ prompt, n, aspectRatio, size, seed, providerOptions, headers, abortSignal, }: Parameters<ImageModelV1['doGenerate']>[0]): Promise<Awaited<ReturnType<ImageModelV1['doGenerate']>>>;
|
|
21
|
+
constructor(modelId: ReplicateImageModelId, config: ReplicateImageModelConfig);
|
|
22
|
+
doGenerate({ prompt, n, aspectRatio, size, seed, providerOptions, headers, abortSignal, }: Parameters<ImageModelV2['doGenerate']>[0]): Promise<Awaited<ReturnType<ImageModelV2['doGenerate']>>>;
|
|
30
23
|
}
|
|
31
24
|
|
|
32
25
|
interface ReplicateProviderSettings {
|
|
@@ -54,11 +47,11 @@ interface ReplicateProvider extends ProviderV2 {
|
|
|
54
47
|
/**
|
|
55
48
|
* Creates a Replicate image generation model.
|
|
56
49
|
*/
|
|
57
|
-
image(modelId: ReplicateImageModelId
|
|
50
|
+
image(modelId: ReplicateImageModelId): ReplicateImageModel;
|
|
58
51
|
/**
|
|
59
52
|
* Creates a Replicate image generation model.
|
|
60
53
|
*/
|
|
61
|
-
imageModel(modelId: ReplicateImageModelId
|
|
54
|
+
imageModel(modelId: ReplicateImageModelId): ReplicateImageModel;
|
|
62
55
|
}
|
|
63
56
|
/**
|
|
64
57
|
* Create a Replicate provider instance.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ImageModelV2, ProviderV2 } from '@ai-sdk/provider';
|
|
2
2
|
import { Resolvable, FetchFunction } from '@ai-sdk/provider-utils';
|
|
3
3
|
|
|
4
4
|
type ReplicateImageModelId = 'black-forest-labs/flux-1.1-pro' | 'black-forest-labs/flux-1.1-pro-ultra' | 'black-forest-labs/flux-dev' | 'black-forest-labs/flux-pro' | 'black-forest-labs/flux-schnell' | 'bytedance/sdxl-lightning-4step' | 'fofr/aura-flow' | 'fofr/latent-consistency-model' | 'fofr/realvisxl-v3-multi-controlnet-lora' | 'fofr/sdxl-emoji' | 'fofr/sdxl-multi-controlnet-lora' | 'ideogram-ai/ideogram-v2' | 'ideogram-ai/ideogram-v2-turbo' | 'lucataco/dreamshaper-xl-turbo' | 'lucataco/open-dalle-v1.1' | 'lucataco/realvisxl-v2.0' | 'lucataco/realvisxl2-lcm' | 'luma/photon' | 'luma/photon-flash' | 'nvidia/sana' | 'playgroundai/playground-v2.5-1024px-aesthetic' | 'recraft-ai/recraft-v3' | 'recraft-ai/recraft-v3-svg' | 'stability-ai/stable-diffusion-3.5-large' | 'stability-ai/stable-diffusion-3.5-large-turbo' | 'stability-ai/stable-diffusion-3.5-medium' | 'tstramer/material-diffusion' | (string & {});
|
|
5
|
-
interface ReplicateImageSettings {
|
|
6
|
-
/**
|
|
7
|
-
Override the maximum number of images per call (default 1)
|
|
8
|
-
*/
|
|
9
|
-
maxImagesPerCall?: number;
|
|
10
|
-
}
|
|
11
5
|
|
|
12
6
|
interface ReplicateImageModelConfig {
|
|
13
7
|
provider: string;
|
|
@@ -18,15 +12,14 @@ interface ReplicateImageModelConfig {
|
|
|
18
12
|
currentDate?: () => Date;
|
|
19
13
|
};
|
|
20
14
|
}
|
|
21
|
-
declare class ReplicateImageModel implements
|
|
15
|
+
declare class ReplicateImageModel implements ImageModelV2 {
|
|
22
16
|
readonly modelId: ReplicateImageModelId;
|
|
23
|
-
private readonly settings;
|
|
24
17
|
private readonly config;
|
|
25
|
-
readonly specificationVersion = "
|
|
18
|
+
readonly specificationVersion = "v2";
|
|
19
|
+
readonly maxImagesPerCall = 1;
|
|
26
20
|
get provider(): string;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
doGenerate({ prompt, n, aspectRatio, size, seed, providerOptions, headers, abortSignal, }: Parameters<ImageModelV1['doGenerate']>[0]): Promise<Awaited<ReturnType<ImageModelV1['doGenerate']>>>;
|
|
21
|
+
constructor(modelId: ReplicateImageModelId, config: ReplicateImageModelConfig);
|
|
22
|
+
doGenerate({ prompt, n, aspectRatio, size, seed, providerOptions, headers, abortSignal, }: Parameters<ImageModelV2['doGenerate']>[0]): Promise<Awaited<ReturnType<ImageModelV2['doGenerate']>>>;
|
|
30
23
|
}
|
|
31
24
|
|
|
32
25
|
interface ReplicateProviderSettings {
|
|
@@ -54,11 +47,11 @@ interface ReplicateProvider extends ProviderV2 {
|
|
|
54
47
|
/**
|
|
55
48
|
* Creates a Replicate image generation model.
|
|
56
49
|
*/
|
|
57
|
-
image(modelId: ReplicateImageModelId
|
|
50
|
+
image(modelId: ReplicateImageModelId): ReplicateImageModel;
|
|
58
51
|
/**
|
|
59
52
|
* Creates a Replicate image generation model.
|
|
60
53
|
*/
|
|
61
|
-
imageModel(modelId: ReplicateImageModelId
|
|
54
|
+
imageModel(modelId: ReplicateImageModelId): ReplicateImageModel;
|
|
62
55
|
}
|
|
63
56
|
/**
|
|
64
57
|
* Create a Replicate provider instance.
|
package/dist/index.js
CHANGED
|
@@ -31,14 +31,14 @@ var import_provider_utils3 = require("@ai-sdk/provider-utils");
|
|
|
31
31
|
|
|
32
32
|
// src/replicate-image-model.ts
|
|
33
33
|
var import_provider_utils2 = require("@ai-sdk/provider-utils");
|
|
34
|
-
var
|
|
34
|
+
var import_v42 = require("zod/v4");
|
|
35
35
|
|
|
36
36
|
// src/replicate-error.ts
|
|
37
37
|
var import_provider_utils = require("@ai-sdk/provider-utils");
|
|
38
|
-
var
|
|
39
|
-
var replicateErrorSchema =
|
|
40
|
-
detail:
|
|
41
|
-
error:
|
|
38
|
+
var import_v4 = require("zod/v4");
|
|
39
|
+
var replicateErrorSchema = import_v4.z.object({
|
|
40
|
+
detail: import_v4.z.string().optional(),
|
|
41
|
+
error: import_v4.z.string().optional()
|
|
42
42
|
});
|
|
43
43
|
var replicateFailedResponseHandler = (0, import_provider_utils.createJsonErrorResponseHandler)({
|
|
44
44
|
errorSchema: replicateErrorSchema,
|
|
@@ -50,19 +50,15 @@ var replicateFailedResponseHandler = (0, import_provider_utils.createJsonErrorRe
|
|
|
50
50
|
|
|
51
51
|
// src/replicate-image-model.ts
|
|
52
52
|
var ReplicateImageModel = class {
|
|
53
|
-
constructor(modelId,
|
|
53
|
+
constructor(modelId, config) {
|
|
54
54
|
this.modelId = modelId;
|
|
55
|
-
this.settings = settings;
|
|
56
55
|
this.config = config;
|
|
57
|
-
this.specificationVersion = "
|
|
56
|
+
this.specificationVersion = "v2";
|
|
57
|
+
this.maxImagesPerCall = 1;
|
|
58
58
|
}
|
|
59
59
|
get provider() {
|
|
60
60
|
return this.config.provider;
|
|
61
61
|
}
|
|
62
|
-
get maxImagesPerCall() {
|
|
63
|
-
var _a;
|
|
64
|
-
return (_a = this.settings.maxImagesPerCall) != null ? _a : 1;
|
|
65
|
-
}
|
|
66
62
|
async doGenerate({
|
|
67
63
|
prompt,
|
|
68
64
|
n,
|
|
@@ -131,15 +127,15 @@ var ReplicateImageModel = class {
|
|
|
131
127
|
};
|
|
132
128
|
}
|
|
133
129
|
};
|
|
134
|
-
var replicateImageResponseSchema =
|
|
135
|
-
output:
|
|
130
|
+
var replicateImageResponseSchema = import_v42.z.object({
|
|
131
|
+
output: import_v42.z.union([import_v42.z.array(import_v42.z.string()), import_v42.z.string()])
|
|
136
132
|
});
|
|
137
133
|
|
|
138
134
|
// src/replicate-provider.ts
|
|
139
135
|
function createReplicate(options = {}) {
|
|
140
|
-
const createImageModel = (modelId
|
|
136
|
+
const createImageModel = (modelId) => {
|
|
141
137
|
var _a;
|
|
142
|
-
return new ReplicateImageModel(modelId,
|
|
138
|
+
return new ReplicateImageModel(modelId, {
|
|
143
139
|
provider: "replicate",
|
|
144
140
|
baseURL: (_a = options.baseURL) != null ? _a : "https://api.replicate.com/v1",
|
|
145
141
|
headers: {
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/replicate-provider.ts","../src/replicate-image-model.ts","../src/replicate-error.ts"],"sourcesContent":["export { createReplicate, replicate } from './replicate-provider';\nexport type {\n ReplicateProvider,\n ReplicateProviderSettings,\n} from './replicate-provider';\n","import { NoSuchModelError, ProviderV2 } from '@ai-sdk/provider';\nimport type { FetchFunction } from '@ai-sdk/provider-utils';\nimport { loadApiKey } from '@ai-sdk/provider-utils';\nimport { ReplicateImageModel } from './replicate-image-model';\nimport {
|
|
1
|
+
{"version":3,"sources":["../src/index.ts","../src/replicate-provider.ts","../src/replicate-image-model.ts","../src/replicate-error.ts"],"sourcesContent":["export { createReplicate, replicate } from './replicate-provider';\nexport type {\n ReplicateProvider,\n ReplicateProviderSettings,\n} from './replicate-provider';\n","import { NoSuchModelError, ProviderV2 } from '@ai-sdk/provider';\nimport type { FetchFunction } from '@ai-sdk/provider-utils';\nimport { loadApiKey } from '@ai-sdk/provider-utils';\nimport { ReplicateImageModel } from './replicate-image-model';\nimport { ReplicateImageModelId } from './replicate-image-settings';\n\nexport interface ReplicateProviderSettings {\n /**\nAPI token that is being send using the `Authorization` header.\nIt defaults to the `REPLICATE_API_TOKEN` environment variable.\n */\n apiToken?: string;\n\n /**\nUse a different URL prefix for API calls, e.g. to use proxy servers.\nThe default prefix is `https://api.replicate.com/v1`.\n */\n baseURL?: string;\n\n /**\nCustom headers to include in the requests.\n */\n headers?: Record<string, string>;\n\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: FetchFunction;\n}\n\nexport interface ReplicateProvider extends ProviderV2 {\n /**\n * Creates a Replicate image generation model.\n */\n image(modelId: ReplicateImageModelId): ReplicateImageModel;\n\n /**\n * Creates a Replicate image generation model.\n */\n imageModel(modelId: ReplicateImageModelId): ReplicateImageModel;\n}\n\n/**\n * Create a Replicate provider instance.\n */\nexport function createReplicate(\n options: ReplicateProviderSettings = {},\n): ReplicateProvider {\n const createImageModel = (modelId: ReplicateImageModelId) =>\n new ReplicateImageModel(modelId, {\n provider: 'replicate',\n baseURL: options.baseURL ?? 'https://api.replicate.com/v1',\n headers: {\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiToken,\n environmentVariableName: 'REPLICATE_API_TOKEN',\n description: 'Replicate',\n })}`,\n ...options.headers,\n },\n fetch: options.fetch,\n });\n\n return {\n image: createImageModel,\n imageModel: createImageModel,\n languageModel: () => {\n throw new NoSuchModelError({\n modelId: 'languageModel',\n modelType: 'languageModel',\n });\n },\n textEmbeddingModel: () => {\n throw new NoSuchModelError({\n modelId: 'textEmbeddingModel',\n modelType: 'textEmbeddingModel',\n });\n },\n };\n}\n\n/**\n * Default Replicate provider instance.\n */\nexport const replicate = createReplicate();\n","import type { ImageModelV2, ImageModelV2CallWarning } from '@ai-sdk/provider';\nimport type { Resolvable } from '@ai-sdk/provider-utils';\nimport {\n FetchFunction,\n combineHeaders,\n createBinaryResponseHandler,\n createJsonResponseHandler,\n getFromApi,\n postJsonToApi,\n resolve,\n} from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\nimport { replicateFailedResponseHandler } from './replicate-error';\nimport { ReplicateImageModelId } from './replicate-image-settings';\n\ninterface ReplicateImageModelConfig {\n provider: string;\n baseURL: string;\n headers?: Resolvable<Record<string, string | undefined>>;\n fetch?: FetchFunction;\n _internal?: {\n currentDate?: () => Date;\n };\n}\n\nexport class ReplicateImageModel implements ImageModelV2 {\n readonly specificationVersion = 'v2';\n readonly maxImagesPerCall = 1;\n\n get provider(): string {\n return this.config.provider;\n }\n\n constructor(\n readonly modelId: ReplicateImageModelId,\n private readonly config: ReplicateImageModelConfig,\n ) {}\n\n async doGenerate({\n prompt,\n n,\n aspectRatio,\n size,\n seed,\n providerOptions,\n headers,\n abortSignal,\n }: Parameters<ImageModelV2['doGenerate']>[0]): Promise<\n Awaited<ReturnType<ImageModelV2['doGenerate']>>\n > {\n const warnings: Array<ImageModelV2CallWarning> = [];\n\n const [modelId, version] = this.modelId.split(':');\n\n const currentDate = this.config._internal?.currentDate?.() ?? new Date();\n\n const {\n value: { output },\n responseHeaders,\n } = await postJsonToApi({\n url:\n // different endpoints for versioned vs unversioned models:\n version != null\n ? `${this.config.baseURL}/predictions`\n : `${this.config.baseURL}/models/${modelId}/predictions`,\n\n headers: combineHeaders(await resolve(this.config.headers), headers, {\n prefer: 'wait',\n }),\n\n body: {\n input: {\n prompt,\n aspect_ratio: aspectRatio,\n size,\n seed,\n num_outputs: n,\n ...(providerOptions.replicate ?? {}),\n },\n // for versioned models, include the version in the body:\n ...(version != null ? { version } : {}),\n },\n\n successfulResponseHandler: createJsonResponseHandler(\n replicateImageResponseSchema,\n ),\n failedResponseHandler: replicateFailedResponseHandler,\n abortSignal,\n fetch: this.config.fetch,\n });\n\n // download the images:\n const outputArray = Array.isArray(output) ? output : [output];\n const images = await Promise.all(\n outputArray.map(async url => {\n const { value: image } = await getFromApi({\n url,\n successfulResponseHandler: createBinaryResponseHandler(),\n failedResponseHandler: replicateFailedResponseHandler,\n abortSignal,\n fetch: this.config.fetch,\n });\n return image;\n }),\n );\n\n return {\n images,\n warnings,\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: responseHeaders,\n },\n };\n }\n}\n\nconst replicateImageResponseSchema = z.object({\n output: z.union([z.array(z.string()), z.string()]),\n});\n","import { createJsonErrorResponseHandler } from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\n\nconst replicateErrorSchema = z.object({\n detail: z.string().optional(),\n error: z.string().optional(),\n});\n\nexport const replicateFailedResponseHandler = createJsonErrorResponseHandler({\n errorSchema: replicateErrorSchema,\n errorToMessage: error =>\n error.detail ?? error.error ?? 'Unknown Replicate error',\n});\n"],"mappings":"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","names":["import_provider_utils","import_provider_utils","import_v4"]}
|
package/dist/index.mjs
CHANGED
|
@@ -11,11 +11,11 @@ import {
|
|
|
11
11
|
postJsonToApi,
|
|
12
12
|
resolve
|
|
13
13
|
} from "@ai-sdk/provider-utils";
|
|
14
|
-
import { z as z2 } from "zod";
|
|
14
|
+
import { z as z2 } from "zod/v4";
|
|
15
15
|
|
|
16
16
|
// src/replicate-error.ts
|
|
17
17
|
import { createJsonErrorResponseHandler } from "@ai-sdk/provider-utils";
|
|
18
|
-
import { z } from "zod";
|
|
18
|
+
import { z } from "zod/v4";
|
|
19
19
|
var replicateErrorSchema = z.object({
|
|
20
20
|
detail: z.string().optional(),
|
|
21
21
|
error: z.string().optional()
|
|
@@ -30,19 +30,15 @@ var replicateFailedResponseHandler = createJsonErrorResponseHandler({
|
|
|
30
30
|
|
|
31
31
|
// src/replicate-image-model.ts
|
|
32
32
|
var ReplicateImageModel = class {
|
|
33
|
-
constructor(modelId,
|
|
33
|
+
constructor(modelId, config) {
|
|
34
34
|
this.modelId = modelId;
|
|
35
|
-
this.settings = settings;
|
|
36
35
|
this.config = config;
|
|
37
|
-
this.specificationVersion = "
|
|
36
|
+
this.specificationVersion = "v2";
|
|
37
|
+
this.maxImagesPerCall = 1;
|
|
38
38
|
}
|
|
39
39
|
get provider() {
|
|
40
40
|
return this.config.provider;
|
|
41
41
|
}
|
|
42
|
-
get maxImagesPerCall() {
|
|
43
|
-
var _a;
|
|
44
|
-
return (_a = this.settings.maxImagesPerCall) != null ? _a : 1;
|
|
45
|
-
}
|
|
46
42
|
async doGenerate({
|
|
47
43
|
prompt,
|
|
48
44
|
n,
|
|
@@ -117,9 +113,9 @@ var replicateImageResponseSchema = z2.object({
|
|
|
117
113
|
|
|
118
114
|
// src/replicate-provider.ts
|
|
119
115
|
function createReplicate(options = {}) {
|
|
120
|
-
const createImageModel = (modelId
|
|
116
|
+
const createImageModel = (modelId) => {
|
|
121
117
|
var _a;
|
|
122
|
-
return new ReplicateImageModel(modelId,
|
|
118
|
+
return new ReplicateImageModel(modelId, {
|
|
123
119
|
provider: "replicate",
|
|
124
120
|
baseURL: (_a = options.baseURL) != null ? _a : "https://api.replicate.com/v1",
|
|
125
121
|
headers: {
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/replicate-provider.ts","../src/replicate-image-model.ts","../src/replicate-error.ts"],"sourcesContent":["import { NoSuchModelError, ProviderV2 } from '@ai-sdk/provider';\nimport type { FetchFunction } from '@ai-sdk/provider-utils';\nimport { loadApiKey } from '@ai-sdk/provider-utils';\nimport { ReplicateImageModel } from './replicate-image-model';\nimport {
|
|
1
|
+
{"version":3,"sources":["../src/replicate-provider.ts","../src/replicate-image-model.ts","../src/replicate-error.ts"],"sourcesContent":["import { NoSuchModelError, ProviderV2 } from '@ai-sdk/provider';\nimport type { FetchFunction } from '@ai-sdk/provider-utils';\nimport { loadApiKey } from '@ai-sdk/provider-utils';\nimport { ReplicateImageModel } from './replicate-image-model';\nimport { ReplicateImageModelId } from './replicate-image-settings';\n\nexport interface ReplicateProviderSettings {\n /**\nAPI token that is being send using the `Authorization` header.\nIt defaults to the `REPLICATE_API_TOKEN` environment variable.\n */\n apiToken?: string;\n\n /**\nUse a different URL prefix for API calls, e.g. to use proxy servers.\nThe default prefix is `https://api.replicate.com/v1`.\n */\n baseURL?: string;\n\n /**\nCustom headers to include in the requests.\n */\n headers?: Record<string, string>;\n\n /**\nCustom fetch implementation. You can use it as a middleware to intercept requests,\nor to provide a custom fetch implementation for e.g. testing.\n */\n fetch?: FetchFunction;\n}\n\nexport interface ReplicateProvider extends ProviderV2 {\n /**\n * Creates a Replicate image generation model.\n */\n image(modelId: ReplicateImageModelId): ReplicateImageModel;\n\n /**\n * Creates a Replicate image generation model.\n */\n imageModel(modelId: ReplicateImageModelId): ReplicateImageModel;\n}\n\n/**\n * Create a Replicate provider instance.\n */\nexport function createReplicate(\n options: ReplicateProviderSettings = {},\n): ReplicateProvider {\n const createImageModel = (modelId: ReplicateImageModelId) =>\n new ReplicateImageModel(modelId, {\n provider: 'replicate',\n baseURL: options.baseURL ?? 'https://api.replicate.com/v1',\n headers: {\n Authorization: `Bearer ${loadApiKey({\n apiKey: options.apiToken,\n environmentVariableName: 'REPLICATE_API_TOKEN',\n description: 'Replicate',\n })}`,\n ...options.headers,\n },\n fetch: options.fetch,\n });\n\n return {\n image: createImageModel,\n imageModel: createImageModel,\n languageModel: () => {\n throw new NoSuchModelError({\n modelId: 'languageModel',\n modelType: 'languageModel',\n });\n },\n textEmbeddingModel: () => {\n throw new NoSuchModelError({\n modelId: 'textEmbeddingModel',\n modelType: 'textEmbeddingModel',\n });\n },\n };\n}\n\n/**\n * Default Replicate provider instance.\n */\nexport const replicate = createReplicate();\n","import type { ImageModelV2, ImageModelV2CallWarning } from '@ai-sdk/provider';\nimport type { Resolvable } from '@ai-sdk/provider-utils';\nimport {\n FetchFunction,\n combineHeaders,\n createBinaryResponseHandler,\n createJsonResponseHandler,\n getFromApi,\n postJsonToApi,\n resolve,\n} from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\nimport { replicateFailedResponseHandler } from './replicate-error';\nimport { ReplicateImageModelId } from './replicate-image-settings';\n\ninterface ReplicateImageModelConfig {\n provider: string;\n baseURL: string;\n headers?: Resolvable<Record<string, string | undefined>>;\n fetch?: FetchFunction;\n _internal?: {\n currentDate?: () => Date;\n };\n}\n\nexport class ReplicateImageModel implements ImageModelV2 {\n readonly specificationVersion = 'v2';\n readonly maxImagesPerCall = 1;\n\n get provider(): string {\n return this.config.provider;\n }\n\n constructor(\n readonly modelId: ReplicateImageModelId,\n private readonly config: ReplicateImageModelConfig,\n ) {}\n\n async doGenerate({\n prompt,\n n,\n aspectRatio,\n size,\n seed,\n providerOptions,\n headers,\n abortSignal,\n }: Parameters<ImageModelV2['doGenerate']>[0]): Promise<\n Awaited<ReturnType<ImageModelV2['doGenerate']>>\n > {\n const warnings: Array<ImageModelV2CallWarning> = [];\n\n const [modelId, version] = this.modelId.split(':');\n\n const currentDate = this.config._internal?.currentDate?.() ?? new Date();\n\n const {\n value: { output },\n responseHeaders,\n } = await postJsonToApi({\n url:\n // different endpoints for versioned vs unversioned models:\n version != null\n ? `${this.config.baseURL}/predictions`\n : `${this.config.baseURL}/models/${modelId}/predictions`,\n\n headers: combineHeaders(await resolve(this.config.headers), headers, {\n prefer: 'wait',\n }),\n\n body: {\n input: {\n prompt,\n aspect_ratio: aspectRatio,\n size,\n seed,\n num_outputs: n,\n ...(providerOptions.replicate ?? {}),\n },\n // for versioned models, include the version in the body:\n ...(version != null ? { version } : {}),\n },\n\n successfulResponseHandler: createJsonResponseHandler(\n replicateImageResponseSchema,\n ),\n failedResponseHandler: replicateFailedResponseHandler,\n abortSignal,\n fetch: this.config.fetch,\n });\n\n // download the images:\n const outputArray = Array.isArray(output) ? output : [output];\n const images = await Promise.all(\n outputArray.map(async url => {\n const { value: image } = await getFromApi({\n url,\n successfulResponseHandler: createBinaryResponseHandler(),\n failedResponseHandler: replicateFailedResponseHandler,\n abortSignal,\n fetch: this.config.fetch,\n });\n return image;\n }),\n );\n\n return {\n images,\n warnings,\n response: {\n timestamp: currentDate,\n modelId: this.modelId,\n headers: responseHeaders,\n },\n };\n }\n}\n\nconst replicateImageResponseSchema = z.object({\n output: z.union([z.array(z.string()), z.string()]),\n});\n","import { createJsonErrorResponseHandler } from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\n\nconst replicateErrorSchema = z.object({\n detail: z.string().optional(),\n error: z.string().optional(),\n});\n\nexport const replicateFailedResponseHandler = createJsonErrorResponseHandler({\n errorSchema: replicateErrorSchema,\n errorToMessage: error =>\n error.detail ?? error.error ?? 'Unknown Replicate error',\n});\n"],"mappings":";AAAA,SAAS,wBAAoC;AAE7C,SAAS,kBAAkB;;;ACA3B;AAAA,EAEE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,KAAAA,UAAS;;;ACXlB,SAAS,sCAAsC;AAC/C,SAAS,SAAS;AAElB,IAAM,uBAAuB,EAAE,OAAO;AAAA,EACpC,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,OAAO,EAAE,OAAO,EAAE,SAAS;AAC7B,CAAC;AAEM,IAAM,iCAAiC,+BAA+B;AAAA,EAC3E,aAAa;AAAA,EACb,gBAAgB,WAAM;AAVxB;AAWI,6BAAM,WAAN,YAAgB,MAAM,UAAtB,YAA+B;AAAA;AACnC,CAAC;;;ADaM,IAAM,sBAAN,MAAkD;AAAA,EAQvD,YACW,SACQ,QACjB;AAFS;AACQ;AATnB,SAAS,uBAAuB;AAChC,SAAS,mBAAmB;AAAA,EASzB;AAAA,EAPH,IAAI,WAAmB;AACrB,WAAO,KAAK,OAAO;AAAA,EACrB;AAAA,EAOA,MAAM,WAAW;AAAA,IACf;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,GAEE;AAjDJ;AAkDI,UAAM,WAA2C,CAAC;AAElD,UAAM,CAAC,SAAS,OAAO,IAAI,KAAK,QAAQ,MAAM,GAAG;AAEjD,UAAM,eAAc,sBAAK,OAAO,cAAZ,mBAAuB,gBAAvB,4CAA0C,oBAAI,KAAK;AAEvE,UAAM;AAAA,MACJ,OAAO,EAAE,OAAO;AAAA,MAChB;AAAA,IACF,IAAI,MAAM,cAAc;AAAA,MACtB;AAAA;AAAA,QAEE,WAAW,OACP,GAAG,KAAK,OAAO,OAAO,iBACtB,GAAG,KAAK,OAAO,OAAO,WAAW,OAAO;AAAA;AAAA,MAE9C,SAAS,eAAe,MAAM,QAAQ,KAAK,OAAO,OAAO,GAAG,SAAS;AAAA,QACnE,QAAQ;AAAA,MACV,CAAC;AAAA,MAED,MAAM;AAAA,QACJ,OAAO;AAAA,UACL;AAAA,UACA,cAAc;AAAA,UACd;AAAA,UACA;AAAA,UACA,aAAa;AAAA,UACb,IAAI,qBAAgB,cAAhB,YAA6B,CAAC;AAAA,QACpC;AAAA;AAAA,QAEA,GAAI,WAAW,OAAO,EAAE,QAAQ,IAAI,CAAC;AAAA,MACvC;AAAA,MAEA,2BAA2B;AAAA,QACzB;AAAA,MACF;AAAA,MACA,uBAAuB;AAAA,MACvB;AAAA,MACA,OAAO,KAAK,OAAO;AAAA,IACrB,CAAC;AAGD,UAAM,cAAc,MAAM,QAAQ,MAAM,IAAI,SAAS,CAAC,MAAM;AAC5D,UAAM,SAAS,MAAM,QAAQ;AAAA,MAC3B,YAAY,IAAI,OAAM,QAAO;AAC3B,cAAM,EAAE,OAAO,MAAM,IAAI,MAAM,WAAW;AAAA,UACxC;AAAA,UACA,2BAA2B,4BAA4B;AAAA,UACvD,uBAAuB;AAAA,UACvB;AAAA,UACA,OAAO,KAAK,OAAO;AAAA,QACrB,CAAC;AACD,eAAO;AAAA,MACT,CAAC;AAAA,IACH;AAEA,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA,UAAU;AAAA,QACR,WAAW;AAAA,QACX,SAAS,KAAK;AAAA,QACd,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF;AACF;AAEA,IAAM,+BAA+BC,GAAE,OAAO;AAAA,EAC5C,QAAQA,GAAE,MAAM,CAACA,GAAE,MAAMA,GAAE,OAAO,CAAC,GAAGA,GAAE,OAAO,CAAC,CAAC;AACnD,CAAC;;;AD1EM,SAAS,gBACd,UAAqC,CAAC,GACnB;AACnB,QAAM,mBAAmB,CAAC,YAAgC;AAjD5D;AAkDI,eAAI,oBAAoB,SAAS;AAAA,MAC/B,UAAU;AAAA,MACV,UAAS,aAAQ,YAAR,YAAmB;AAAA,MAC5B,SAAS;AAAA,QACP,eAAe,UAAU,WAAW;AAAA,UAClC,QAAQ,QAAQ;AAAA,UAChB,yBAAyB;AAAA,UACzB,aAAa;AAAA,QACf,CAAC,CAAC;AAAA,QACF,GAAG,QAAQ;AAAA,MACb;AAAA,MACA,OAAO,QAAQ;AAAA,IACjB,CAAC;AAAA;AAEH,SAAO;AAAA,IACL,OAAO;AAAA,IACP,YAAY;AAAA,IACZ,eAAe,MAAM;AACnB,YAAM,IAAI,iBAAiB;AAAA,QACzB,SAAS;AAAA,QACT,WAAW;AAAA,MACb,CAAC;AAAA,IACH;AAAA,IACA,oBAAoB,MAAM;AACxB,YAAM,IAAI,iBAAiB;AAAA,QACzB,SAAS;AAAA,QACT,WAAW;AAAA,MACb,CAAC;AAAA,IACH;AAAA,EACF;AACF;AAKO,IAAM,YAAY,gBAAgB;","names":["z","z"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ai-sdk/replicate",
|
|
3
|
-
"version": "1.0.0
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -19,18 +19,18 @@
|
|
|
19
19
|
}
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@ai-sdk/provider": "2.0.0
|
|
23
|
-
"@ai-sdk/provider-utils": "3.0.0
|
|
22
|
+
"@ai-sdk/provider": "2.0.0",
|
|
23
|
+
"@ai-sdk/provider-utils": "3.0.0"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|
|
26
26
|
"@types/node": "20.17.24",
|
|
27
27
|
"tsup": "^8",
|
|
28
28
|
"typescript": "5.8.3",
|
|
29
|
-
"zod": "3.
|
|
29
|
+
"zod": "3.25.76",
|
|
30
30
|
"@vercel/ai-tsconfig": "0.0.0"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
|
-
"zod": "^3.
|
|
33
|
+
"zod": "^3.25.76 || ^4"
|
|
34
34
|
},
|
|
35
35
|
"engines": {
|
|
36
36
|
"node": ">=18"
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"publishConfig": {
|
|
39
39
|
"access": "public"
|
|
40
40
|
},
|
|
41
|
-
"homepage": "https://sdk.
|
|
41
|
+
"homepage": "https://ai-sdk.dev/docs",
|
|
42
42
|
"repository": {
|
|
43
43
|
"type": "git",
|
|
44
44
|
"url": "git+https://github.com/vercel/ai.git"
|