@agentproto/model-catalog 0.2.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.
Files changed (87) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +37 -0
  3. package/dist/access/index.d.ts +30 -0
  4. package/dist/access/index.mjs +4 -0
  5. package/dist/access/index.mjs.map +1 -0
  6. package/dist/audio/index.d.ts +84 -0
  7. package/dist/audio/index.mjs +3 -0
  8. package/dist/audio/index.mjs.map +1 -0
  9. package/dist/audio-BzVF_wke.d.ts +92 -0
  10. package/dist/base-BNHcMifc.d.ts +109 -0
  11. package/dist/byok/index.d.ts +33 -0
  12. package/dist/byok/index.mjs +3 -0
  13. package/dist/byok/index.mjs.map +1 -0
  14. package/dist/catalog-aQHd559b.d.ts +594 -0
  15. package/dist/chunk-2LWYZOWB.mjs +643 -0
  16. package/dist/chunk-2LWYZOWB.mjs.map +1 -0
  17. package/dist/chunk-CINXNTU3.mjs +134 -0
  18. package/dist/chunk-CINXNTU3.mjs.map +1 -0
  19. package/dist/chunk-F7OEHYUI.mjs +187 -0
  20. package/dist/chunk-F7OEHYUI.mjs.map +1 -0
  21. package/dist/chunk-GH7PB5FB.mjs +183 -0
  22. package/dist/chunk-GH7PB5FB.mjs.map +1 -0
  23. package/dist/chunk-H6JUTF3U.mjs +33 -0
  24. package/dist/chunk-H6JUTF3U.mjs.map +1 -0
  25. package/dist/chunk-HEDDSOZF.mjs +47 -0
  26. package/dist/chunk-HEDDSOZF.mjs.map +1 -0
  27. package/dist/chunk-HRRG2RZO.mjs +116 -0
  28. package/dist/chunk-HRRG2RZO.mjs.map +1 -0
  29. package/dist/chunk-IJZ4XPO2.mjs +606 -0
  30. package/dist/chunk-IJZ4XPO2.mjs.map +1 -0
  31. package/dist/chunk-IORIAFK2.mjs +227 -0
  32. package/dist/chunk-IORIAFK2.mjs.map +1 -0
  33. package/dist/chunk-OHAMH3ZE.mjs +2629 -0
  34. package/dist/chunk-OHAMH3ZE.mjs.map +1 -0
  35. package/dist/chunk-QHELXPSL.mjs +85 -0
  36. package/dist/chunk-QHELXPSL.mjs.map +1 -0
  37. package/dist/chunk-SGJR6ZQH.mjs +1230 -0
  38. package/dist/chunk-SGJR6ZQH.mjs.map +1 -0
  39. package/dist/chunk-WRUWNKDB.mjs +521 -0
  40. package/dist/chunk-WRUWNKDB.mjs.map +1 -0
  41. package/dist/chunk-WTHHXXIK.mjs +366 -0
  42. package/dist/chunk-WTHHXXIK.mjs.map +1 -0
  43. package/dist/chunk-XFDXTFV3.mjs +28 -0
  44. package/dist/chunk-XFDXTFV3.mjs.map +1 -0
  45. package/dist/cost/index.d.ts +114 -0
  46. package/dist/cost/index.mjs +13 -0
  47. package/dist/cost/index.mjs.map +1 -0
  48. package/dist/curation/index.d.ts +98 -0
  49. package/dist/curation/index.mjs +13 -0
  50. package/dist/curation/index.mjs.map +1 -0
  51. package/dist/evaluate-DisH3H7u.d.ts +84 -0
  52. package/dist/image/index.d.ts +79 -0
  53. package/dist/image/index.mjs +3 -0
  54. package/dist/image/index.mjs.map +1 -0
  55. package/dist/index-BICjPG8H.d.ts +132 -0
  56. package/dist/index-D8nL3fPZ.d.ts +171 -0
  57. package/dist/index.d.ts +94 -0
  58. package/dist/index.mjs +33 -0
  59. package/dist/index.mjs.map +1 -0
  60. package/dist/llm/index.d.ts +48 -0
  61. package/dist/llm/index.mjs +4 -0
  62. package/dist/llm/index.mjs.map +1 -0
  63. package/dist/overlay/index.d.ts +67 -0
  64. package/dist/overlay/index.mjs +3 -0
  65. package/dist/overlay/index.mjs.map +1 -0
  66. package/dist/picker/index.d.ts +11 -0
  67. package/dist/picker/index.mjs +26 -0
  68. package/dist/picker/index.mjs.map +1 -0
  69. package/dist/pricing/index.d.ts +106 -0
  70. package/dist/pricing/index.mjs +3 -0
  71. package/dist/pricing/index.mjs.map +1 -0
  72. package/dist/providers/index.d.ts +78 -0
  73. package/dist/providers/index.mjs +237 -0
  74. package/dist/providers/index.mjs.map +1 -0
  75. package/dist/schema/index.d.ts +627 -0
  76. package/dist/schema/index.mjs +4 -0
  77. package/dist/schema/index.mjs.map +1 -0
  78. package/dist/schema/voice.d.ts +66 -0
  79. package/dist/schema/voice.mjs +3 -0
  80. package/dist/schema/voice.mjs.map +1 -0
  81. package/dist/video/index.d.ts +78 -0
  82. package/dist/video/index.mjs +3 -0
  83. package/dist/video/index.mjs.map +1 -0
  84. package/dist/voice/index.d.ts +1300 -0
  85. package/dist/voice/index.mjs +4 -0
  86. package/dist/voice/index.mjs.map +1 -0
  87. package/package.json +137 -0
@@ -0,0 +1,606 @@
1
+ /**
2
+ * @agentproto/model-catalog v0.1.0
3
+ * Unified model catalog: LLM, image, video, audio entries + cost dispatcher + picker.
4
+ * Zod-only OSS core; @agstudio/model-catalog layers billing/access/BYOK on top.
5
+ */
6
+
7
+ // src/video/catalog.ts
8
+ var VIDEO_MODEL_CATALOG = {
9
+ // ─── Active agent-visible models ─────────────────────────────────────────
10
+ "google/veo-3.1-fast": {
11
+ id: "google/veo-3.1-fast",
12
+ name: "Veo 3.1 Fast",
13
+ providerId: "google/veo-3.1-fast",
14
+ provider: "replicate",
15
+ capabilities: {
16
+ textToVideo: true,
17
+ imageToVideo: true,
18
+ subjectReference: false,
19
+ audio: true
20
+ },
21
+ maxDuration: 8,
22
+ supportedResolutions: ["720p", "1080p"],
23
+ supportedAspectRatios: ["16:9", "9:16"],
24
+ pricing: {
25
+ costPerClip: 0.15,
26
+ costTier: "medium",
27
+ billingUnit: "per_clip",
28
+ baseCost: 0.8,
29
+ baseCostUnit: "1 clip 8s",
30
+ creditCost: 80,
31
+ multipliers: { resolution: { "720p": 1, "1080p": 1.5 } },
32
+ creditMultipliers: { resolution: { "720p": 1, "1080p": 1.5 } }
33
+ },
34
+ description: "Fast iteration, good quality",
35
+ agentVisible: true
36
+ },
37
+ "google/veo-3.1": {
38
+ id: "google/veo-3.1",
39
+ name: "Veo 3.1",
40
+ providerId: "google/veo-3.1",
41
+ provider: "replicate",
42
+ capabilities: {
43
+ textToVideo: true,
44
+ imageToVideo: true,
45
+ subjectReference: true,
46
+ audio: true
47
+ },
48
+ maxDuration: 8,
49
+ supportedResolutions: ["720p", "1080p"],
50
+ supportedAspectRatios: ["16:9", "9:16"],
51
+ pricing: {
52
+ costPerClip: 0.75,
53
+ costTier: "high",
54
+ billingUnit: "per_clip",
55
+ baseCost: 1.5,
56
+ baseCostUnit: "1 clip 8s",
57
+ creditCost: 150,
58
+ multipliers: { resolution: { "720p": 1, "1080p": 1.5 } },
59
+ creditMultipliers: { resolution: { "720p": 1, "1080p": 1.5 } }
60
+ },
61
+ description: "Premium quality, 1080p, reference images",
62
+ agentVisible: true
63
+ },
64
+ "kwaivgi/kling-v3-omni-video": {
65
+ id: "kwaivgi/kling-v3-omni-video",
66
+ name: "Kling V3 Omni",
67
+ providerId: "kwaivgi/kling-v3-omni-video",
68
+ provider: "replicate",
69
+ capabilities: {
70
+ textToVideo: true,
71
+ imageToVideo: true,
72
+ subjectReference: true,
73
+ audio: true
74
+ },
75
+ maxDuration: 15,
76
+ supportedResolutions: ["720p"],
77
+ supportedAspectRatios: ["16:9", "9:16"],
78
+ pricing: {
79
+ costPerClip: 0.1,
80
+ costTier: "low",
81
+ billingUnit: "per_clip",
82
+ baseCost: 0.5,
83
+ baseCostUnit: "1 clip 720p 5s",
84
+ creditCost: 50,
85
+ multipliers: { duration: { 5: 1, 10: 2, 15: 3 } },
86
+ creditMultipliers: { duration: { 5: 1, 10: 2, 15: 3 } }
87
+ },
88
+ description: "Multi-shot, native audio, subject reference",
89
+ agentVisible: true
90
+ },
91
+ "kwaivgi/kling-v3-video": {
92
+ id: "kwaivgi/kling-v3-video",
93
+ name: "Kling V3",
94
+ providerId: "kwaivgi/kling-v3-video",
95
+ provider: "replicate",
96
+ capabilities: {
97
+ textToVideo: true,
98
+ imageToVideo: true,
99
+ subjectReference: false,
100
+ audio: true
101
+ },
102
+ maxDuration: 15,
103
+ supportedResolutions: ["720p"],
104
+ supportedAspectRatios: ["16:9", "9:16"],
105
+ pricing: {
106
+ costPerClip: 0.1,
107
+ costTier: "low",
108
+ billingUnit: "per_clip",
109
+ baseCost: 0.5,
110
+ baseCostUnit: "1 clip 720p 5s",
111
+ creditCost: 50,
112
+ multipliers: {
113
+ duration: { 5: 1, 10: 2, 15: 3 },
114
+ mode: { standard: 1, pro: 1.5 }
115
+ },
116
+ creditMultipliers: {
117
+ duration: { 5: 1, 10: 2, 15: 3 },
118
+ mode: { standard: 1, pro: 1.5 }
119
+ }
120
+ },
121
+ description: "Text-to-video with audio",
122
+ agentVisible: true
123
+ },
124
+ // ─── Pipeline-only models (used in content pipeline videoModel enum) ─────
125
+ "openai/sora-2": {
126
+ id: "openai/sora-2",
127
+ name: "Sora 2",
128
+ providerId: "openai/sora-2",
129
+ provider: "replicate",
130
+ capabilities: {
131
+ textToVideo: true,
132
+ imageToVideo: true,
133
+ subjectReference: false,
134
+ audio: false
135
+ },
136
+ maxDuration: 10,
137
+ supportedResolutions: ["720p", "1080p"],
138
+ supportedAspectRatios: ["16:9", "9:16", "1:1"],
139
+ pricing: {
140
+ costPerClip: 0.2,
141
+ costTier: "medium",
142
+ billingUnit: "per_clip",
143
+ baseCost: 1,
144
+ baseCostUnit: "1 clip 10s",
145
+ creditCost: 100
146
+ },
147
+ description: "OpenAI Sora 2",
148
+ agentVisible: true
149
+ },
150
+ "openai/sora-2-pro": {
151
+ id: "openai/sora-2-pro",
152
+ name: "Sora 2 Pro",
153
+ providerId: "openai/sora-2-pro",
154
+ provider: "replicate",
155
+ capabilities: {
156
+ textToVideo: true,
157
+ imageToVideo: true,
158
+ subjectReference: false,
159
+ audio: false
160
+ },
161
+ maxDuration: 10,
162
+ supportedResolutions: ["720p", "1080p"],
163
+ supportedAspectRatios: ["16:9", "9:16", "1:1"],
164
+ pricing: {
165
+ costPerClip: 0.4,
166
+ costTier: "high",
167
+ billingUnit: "per_clip",
168
+ baseCost: 1.2,
169
+ baseCostUnit: "1 clip 10s",
170
+ creditCost: 120
171
+ },
172
+ description: "OpenAI Sora 2 Pro quality",
173
+ agentVisible: true
174
+ },
175
+ "xai/grok-imagine-video": {
176
+ id: "xai/grok-imagine-video",
177
+ name: "Grok Imagine Video",
178
+ providerId: "xai/grok-imagine-video",
179
+ provider: "replicate",
180
+ capabilities: {
181
+ textToVideo: true,
182
+ imageToVideo: false,
183
+ subjectReference: false,
184
+ audio: false
185
+ },
186
+ maxDuration: 10,
187
+ supportedResolutions: ["720p"],
188
+ supportedAspectRatios: ["16:9", "9:16"],
189
+ pricing: {
190
+ costPerClip: 0.1,
191
+ costTier: "low",
192
+ billingUnit: "per_clip",
193
+ baseCost: 0.6,
194
+ baseCostUnit: "1 clip 10s",
195
+ creditCost: 60
196
+ },
197
+ description: "xAI Grok video generation",
198
+ agentVisible: true
199
+ },
200
+ "minimax/hailuo-2.3": {
201
+ id: "minimax/hailuo-2.3",
202
+ name: "Hailuo 2.3",
203
+ providerId: "minimax/hailuo-2.3",
204
+ provider: "replicate",
205
+ capabilities: {
206
+ textToVideo: true,
207
+ imageToVideo: true,
208
+ subjectReference: false,
209
+ audio: false
210
+ },
211
+ maxDuration: 6,
212
+ supportedResolutions: ["720p"],
213
+ supportedAspectRatios: ["16:9", "9:16", "1:1"],
214
+ pricing: {
215
+ costPerClip: 0.08,
216
+ costTier: "low",
217
+ billingUnit: "per_clip",
218
+ baseCost: 0.5,
219
+ baseCostUnit: "1 clip 768p 6s",
220
+ creditCost: 50,
221
+ multipliers: {
222
+ duration: { 6: 1, 10: 1.7 },
223
+ resolution: { "768p": 1, "1080p": 1.5 }
224
+ },
225
+ creditMultipliers: {
226
+ duration: { 6: 1, 10: 1.7 },
227
+ resolution: { "768p": 1, "1080p": 1.5 }
228
+ }
229
+ },
230
+ description: "MiniMax Hailuo 2.3",
231
+ agentVisible: true
232
+ },
233
+ "minimax/hailuo-2.3-fast": {
234
+ id: "minimax/hailuo-2.3-fast",
235
+ name: "Hailuo 2.3 Fast",
236
+ providerId: "minimax/hailuo-2.3-fast",
237
+ provider: "replicate",
238
+ capabilities: {
239
+ textToVideo: true,
240
+ imageToVideo: true,
241
+ subjectReference: false,
242
+ audio: false
243
+ },
244
+ maxDuration: 6,
245
+ supportedResolutions: ["720p"],
246
+ supportedAspectRatios: ["16:9", "9:16", "1:1"],
247
+ pricing: {
248
+ costPerClip: 0.04,
249
+ costTier: "low",
250
+ billingUnit: "per_clip",
251
+ baseCost: 0.4,
252
+ baseCostUnit: "1 clip 6s",
253
+ creditCost: 40
254
+ },
255
+ description: "MiniMax Hailuo 2.3 Fast",
256
+ agentVisible: true
257
+ },
258
+ "minimax/hailuo-02": {
259
+ id: "minimax/hailuo-02",
260
+ name: "Hailuo 02",
261
+ providerId: "minimax/hailuo-02",
262
+ provider: "replicate",
263
+ capabilities: {
264
+ textToVideo: true,
265
+ imageToVideo: true,
266
+ subjectReference: false,
267
+ audio: false
268
+ },
269
+ maxDuration: 6,
270
+ supportedResolutions: ["720p"],
271
+ supportedAspectRatios: ["16:9", "9:16", "1:1"],
272
+ pricing: {
273
+ costPerClip: 0.06,
274
+ costTier: "low",
275
+ billingUnit: "per_clip",
276
+ baseCost: 0.5,
277
+ baseCostUnit: "1 clip 6s",
278
+ creditCost: 50
279
+ },
280
+ description: "MiniMax Hailuo 02",
281
+ agentVisible: true
282
+ },
283
+ "bytedance/seedance-1-pro-fast": {
284
+ id: "bytedance/seedance-1-pro-fast",
285
+ name: "Seedance 1 Pro Fast",
286
+ providerId: "bytedance/seedance-1-pro-fast",
287
+ provider: "replicate",
288
+ capabilities: {
289
+ textToVideo: true,
290
+ imageToVideo: true,
291
+ subjectReference: false,
292
+ audio: false
293
+ },
294
+ maxDuration: 8,
295
+ supportedResolutions: ["720p"],
296
+ supportedAspectRatios: ["16:9", "9:16", "1:1"],
297
+ pricing: {
298
+ costPerClip: 0.08,
299
+ costTier: "low",
300
+ billingUnit: "per_clip",
301
+ baseCost: 0.6,
302
+ baseCostUnit: "1 clip 8s",
303
+ creditCost: 60
304
+ },
305
+ description: "ByteDance Seedance Pro Fast",
306
+ agentVisible: true
307
+ },
308
+ "bytedance/seedance-1-lite": {
309
+ id: "bytedance/seedance-1-lite",
310
+ name: "Seedance 1 Lite",
311
+ providerId: "bytedance/seedance-1-lite",
312
+ provider: "replicate",
313
+ capabilities: {
314
+ textToVideo: true,
315
+ imageToVideo: true,
316
+ subjectReference: false,
317
+ audio: false
318
+ },
319
+ maxDuration: 8,
320
+ supportedResolutions: ["720p"],
321
+ supportedAspectRatios: ["16:9", "9:16", "1:1"],
322
+ pricing: {
323
+ costPerClip: 0.04,
324
+ costTier: "low",
325
+ billingUnit: "per_clip",
326
+ baseCost: 0.4,
327
+ baseCostUnit: "1 clip 8s",
328
+ creditCost: 40
329
+ },
330
+ description: "ByteDance Seedance Lite",
331
+ agentVisible: true
332
+ },
333
+ "wan-video/wan-2.5-t2v": {
334
+ id: "wan-video/wan-2.5-t2v",
335
+ name: "Wan 2.5 T2V",
336
+ providerId: "wan-video/wan-2.5-t2v",
337
+ provider: "replicate",
338
+ capabilities: {
339
+ textToVideo: true,
340
+ imageToVideo: false,
341
+ subjectReference: false,
342
+ audio: false
343
+ },
344
+ maxDuration: 8,
345
+ supportedResolutions: ["720p"],
346
+ supportedAspectRatios: ["16:9", "9:16", "1:1"],
347
+ pricing: {
348
+ costPerClip: 0.06,
349
+ costTier: "low",
350
+ billingUnit: "per_clip",
351
+ baseCost: 0.5,
352
+ baseCostUnit: "1 clip 8s",
353
+ creditCost: 50
354
+ },
355
+ description: "Wan 2.5 text-to-video",
356
+ agentVisible: true
357
+ },
358
+ "wan-video/wan-2.5-i2v": {
359
+ id: "wan-video/wan-2.5-i2v",
360
+ name: "Wan 2.5 I2V",
361
+ providerId: "wan-video/wan-2.5-i2v",
362
+ provider: "replicate",
363
+ capabilities: {
364
+ textToVideo: false,
365
+ imageToVideo: true,
366
+ subjectReference: false,
367
+ audio: false
368
+ },
369
+ maxDuration: 8,
370
+ supportedResolutions: ["720p"],
371
+ supportedAspectRatios: ["16:9", "9:16", "1:1"],
372
+ pricing: {
373
+ costPerClip: 0.06,
374
+ costTier: "low",
375
+ billingUnit: "per_clip",
376
+ baseCost: 0.5,
377
+ baseCostUnit: "1 clip 8s",
378
+ creditCost: 50
379
+ },
380
+ description: "Wan 2.5 image-to-video",
381
+ agentVisible: true
382
+ },
383
+ "wan-video/wan-2.5-i2v-fast": {
384
+ id: "wan-video/wan-2.5-i2v-fast",
385
+ name: "Wan 2.5 I2V Fast",
386
+ providerId: "wan-video/wan-2.5-i2v-fast",
387
+ provider: "replicate",
388
+ capabilities: {
389
+ textToVideo: false,
390
+ imageToVideo: true,
391
+ subjectReference: false,
392
+ audio: false
393
+ },
394
+ maxDuration: 8,
395
+ supportedResolutions: ["720p"],
396
+ supportedAspectRatios: ["16:9", "9:16", "1:1"],
397
+ pricing: {
398
+ costPerClip: 0.03,
399
+ costTier: "low",
400
+ billingUnit: "per_clip",
401
+ baseCost: 0.3,
402
+ baseCostUnit: "1 clip 8s",
403
+ creditCost: 30
404
+ },
405
+ description: "Wan 2.5 image-to-video fast",
406
+ agentVisible: true
407
+ },
408
+ "pixverse/pixverse-v5.6": {
409
+ id: "pixverse/pixverse-v5.6",
410
+ name: "PixVerse V5.6",
411
+ providerId: "pixverse/pixverse-v5.6",
412
+ provider: "replicate",
413
+ capabilities: {
414
+ textToVideo: true,
415
+ imageToVideo: true,
416
+ subjectReference: false,
417
+ audio: false
418
+ },
419
+ maxDuration: 8,
420
+ supportedResolutions: ["720p"],
421
+ supportedAspectRatios: ["16:9", "9:16", "1:1"],
422
+ pricing: {
423
+ costPerClip: 0.06,
424
+ costTier: "low",
425
+ billingUnit: "per_clip",
426
+ baseCost: 0.5,
427
+ baseCostUnit: "1 clip 8s",
428
+ creditCost: 50
429
+ },
430
+ description: "PixVerse V5.6",
431
+ agentVisible: true
432
+ },
433
+ "runwayml/gen-4.5": {
434
+ id: "runwayml/gen-4.5",
435
+ name: "Runway Gen 4.5",
436
+ providerId: "runwayml/gen-4.5",
437
+ provider: "replicate",
438
+ capabilities: {
439
+ textToVideo: true,
440
+ imageToVideo: true,
441
+ subjectReference: false,
442
+ audio: false
443
+ },
444
+ maxDuration: 10,
445
+ supportedResolutions: ["720p", "1080p"],
446
+ supportedAspectRatios: ["16:9", "9:16", "1:1"],
447
+ pricing: {
448
+ costPerClip: 0.25,
449
+ costTier: "medium",
450
+ billingUnit: "per_clip",
451
+ baseCost: 1,
452
+ baseCostUnit: "1 clip 5s",
453
+ creditCost: 100,
454
+ multipliers: { duration: { 5: 1, 10: 2 } },
455
+ creditMultipliers: { duration: { 5: 1, 10: 2 } }
456
+ },
457
+ description: "Runway Gen 4.5",
458
+ agentVisible: true
459
+ },
460
+ // ─── UGC / Talking Head models ────────────────────────────────────────────
461
+ "veed/fabric-1.0": {
462
+ id: "veed/fabric-1.0",
463
+ name: "Fabric 1.0 (Lip-Sync)",
464
+ providerId: "veed/fabric-1.0",
465
+ provider: "replicate",
466
+ capabilities: {
467
+ textToVideo: false,
468
+ imageToVideo: false,
469
+ subjectReference: false,
470
+ audio: true
471
+ },
472
+ maxDuration: 60,
473
+ supportedResolutions: ["720p"],
474
+ supportedAspectRatios: ["9:16", "16:9"],
475
+ pricing: {
476
+ costPerClip: 0.05,
477
+ costTier: "low",
478
+ billingUnit: "per_second",
479
+ baseCost: 0.1,
480
+ baseCostUnit: "1 second of output video",
481
+ creditCost: 10
482
+ },
483
+ description: "Talking head lip-sync from photo + audio (up to 60s)",
484
+ agentVisible: false
485
+ },
486
+ "pixverse/lipsync": {
487
+ id: "pixverse/lipsync",
488
+ name: "PixVerse Lip-Sync",
489
+ providerId: "pixverse/lipsync",
490
+ provider: "replicate",
491
+ capabilities: {
492
+ textToVideo: false,
493
+ imageToVideo: false,
494
+ subjectReference: false,
495
+ audio: true
496
+ },
497
+ maxDuration: 30,
498
+ supportedResolutions: ["720p"],
499
+ supportedAspectRatios: ["9:16", "16:9"],
500
+ pricing: {
501
+ costPerClip: 0.05,
502
+ costTier: "low",
503
+ billingUnit: "per_second",
504
+ baseCost: 0.1,
505
+ baseCostUnit: "1 second of output video",
506
+ creditCost: 10
507
+ },
508
+ description: "PixVerse lip-sync (same image/audio params as fabric-1.0)",
509
+ agentVisible: false
510
+ },
511
+ "bytedance/dreamactor-m2.0": {
512
+ id: "bytedance/dreamactor-m2.0",
513
+ name: "DreamActor M2.0",
514
+ providerId: "bytedance/dreamactor-m2.0",
515
+ provider: "replicate",
516
+ capabilities: {
517
+ textToVideo: false,
518
+ imageToVideo: false,
519
+ subjectReference: false,
520
+ audio: false
521
+ },
522
+ maxDuration: 10,
523
+ supportedResolutions: ["720p"],
524
+ supportedAspectRatios: ["9:16", "16:9"],
525
+ pricing: {
526
+ costPerClip: 0.1,
527
+ costTier: "low",
528
+ billingUnit: "per_second",
529
+ baseCost: 0.1,
530
+ baseCostUnit: "1 second of output video",
531
+ creditCost: 10
532
+ },
533
+ description: "Motion transfer: animate any character from driving video",
534
+ agentVisible: false
535
+ },
536
+ // ─── Legacy / superseded — not exposed to agents ─────────────────────────
537
+ "kwaivgi/kling-v2.5-turbo-pro": {
538
+ id: "kwaivgi/kling-v2.5-turbo-pro",
539
+ name: "Kling V2.5 Turbo Pro",
540
+ providerId: "kwaivgi/kling-v2.5-turbo-pro",
541
+ provider: "replicate",
542
+ capabilities: {
543
+ textToVideo: true,
544
+ imageToVideo: true,
545
+ subjectReference: false,
546
+ audio: false
547
+ },
548
+ maxDuration: 10,
549
+ supportedResolutions: ["720p"],
550
+ supportedAspectRatios: ["16:9", "9:16"],
551
+ pricing: {
552
+ costPerClip: 0.07,
553
+ costTier: "low",
554
+ billingUnit: "per_clip",
555
+ baseCost: 0.4,
556
+ baseCostUnit: "1 clip 10s",
557
+ creditCost: 40
558
+ },
559
+ description: "Fast and cheap (superseded by v3)",
560
+ agentVisible: false
561
+ },
562
+ "luma/ray-flash-2-540p": {
563
+ id: "luma/ray-flash-2-540p",
564
+ name: "Luma Ray Flash 2",
565
+ providerId: "luma/ray-flash-2-540p",
566
+ provider: "replicate",
567
+ capabilities: {
568
+ textToVideo: true,
569
+ imageToVideo: true,
570
+ subjectReference: false,
571
+ audio: false
572
+ },
573
+ maxDuration: 9,
574
+ supportedResolutions: ["720p"],
575
+ supportedAspectRatios: [
576
+ "1:1",
577
+ "3:4",
578
+ "4:3",
579
+ "9:16",
580
+ "16:9",
581
+ "9:21",
582
+ "21:9"
583
+ ],
584
+ pricing: {
585
+ costPerClip: 0.05,
586
+ costTier: "low",
587
+ billingUnit: "per_clip",
588
+ baseCost: 0.4,
589
+ baseCostUnit: "1 clip 9s",
590
+ creditCost: 40
591
+ },
592
+ description: "Luma Ray Flash 2 (less used)",
593
+ agentVisible: false
594
+ }
595
+ };
596
+ var VIDEO_MODEL_IDS = Object.keys(VIDEO_MODEL_CATALOG);
597
+ var AGENT_VIDEO_MODEL_IDS = Object.entries(VIDEO_MODEL_CATALOG).filter(([, m]) => m.agentVisible).map(([id]) => id);
598
+ function generateVideoModelTable() {
599
+ return Object.values(VIDEO_MODEL_CATALOG).filter((m) => m.agentVisible).map(
600
+ (m) => `| \`${m.id}\` | ~$${m.pricing.costPerClip}/clip | ${m.description} |`
601
+ ).join("\n");
602
+ }
603
+
604
+ export { AGENT_VIDEO_MODEL_IDS, VIDEO_MODEL_CATALOG, VIDEO_MODEL_IDS, generateVideoModelTable };
605
+ //# sourceMappingURL=chunk-IJZ4XPO2.mjs.map
606
+ //# sourceMappingURL=chunk-IJZ4XPO2.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/video/catalog.ts"],"names":[],"mappings":";;;;;;;AA0DO,IAAM,mBAAA,GAA4D;AAAA;AAAA,EAGvE,qBAAA,EAAuB;AAAA,IACrB,EAAA,EAAI,qBAAA;AAAA,IACJ,IAAA,EAAM,cAAA;AAAA,IACN,UAAA,EAAY,qBAAA;AAAA,IACZ,QAAA,EAAU,WAAA;AAAA,IACV,YAAA,EAAc;AAAA,MACZ,WAAA,EAAa,IAAA;AAAA,MACb,YAAA,EAAc,IAAA;AAAA,MACd,gBAAA,EAAkB,KAAA;AAAA,MAClB,KAAA,EAAO;AAAA,KACT;AAAA,IACA,WAAA,EAAa,CAAA;AAAA,IACb,oBAAA,EAAsB,CAAC,MAAA,EAAQ,OAAO,CAAA;AAAA,IACtC,qBAAA,EAAuB,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACtC,OAAA,EAAS;AAAA,MACP,WAAA,EAAa,IAAA;AAAA,MACb,QAAA,EAAU,QAAA;AAAA,MACV,WAAA,EAAa,UAAA;AAAA,MACb,QAAA,EAAU,GAAA;AAAA,MACV,YAAA,EAAc,WAAA;AAAA,MACd,UAAA,EAAY,EAAA;AAAA,MACZ,WAAA,EAAa,EAAE,UAAA,EAAY,EAAE,QAAQ,CAAA,EAAK,OAAA,EAAS,KAAI,EAAE;AAAA,MACzD,iBAAA,EAAmB,EAAE,UAAA,EAAY,EAAE,QAAQ,CAAA,EAAK,OAAA,EAAS,KAAI;AAAE,KACjE;AAAA,IACA,WAAA,EAAa,8BAAA;AAAA,IACb,YAAA,EAAc;AAAA,GAChB;AAAA,EAEA,gBAAA,EAAkB;AAAA,IAChB,EAAA,EAAI,gBAAA;AAAA,IACJ,IAAA,EAAM,SAAA;AAAA,IACN,UAAA,EAAY,gBAAA;AAAA,IACZ,QAAA,EAAU,WAAA;AAAA,IACV,YAAA,EAAc;AAAA,MACZ,WAAA,EAAa,IAAA;AAAA,MACb,YAAA,EAAc,IAAA;AAAA,MACd,gBAAA,EAAkB,IAAA;AAAA,MAClB,KAAA,EAAO;AAAA,KACT;AAAA,IACA,WAAA,EAAa,CAAA;AAAA,IACb,oBAAA,EAAsB,CAAC,MAAA,EAAQ,OAAO,CAAA;AAAA,IACtC,qBAAA,EAAuB,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACtC,OAAA,EAAS;AAAA,MACP,WAAA,EAAa,IAAA;AAAA,MACb,QAAA,EAAU,MAAA;AAAA,MACV,WAAA,EAAa,UAAA;AAAA,MACb,QAAA,EAAU,GAAA;AAAA,MACV,YAAA,EAAc,WAAA;AAAA,MACd,UAAA,EAAY,GAAA;AAAA,MACZ,WAAA,EAAa,EAAE,UAAA,EAAY,EAAE,QAAQ,CAAA,EAAK,OAAA,EAAS,KAAI,EAAE;AAAA,MACzD,iBAAA,EAAmB,EAAE,UAAA,EAAY,EAAE,QAAQ,CAAA,EAAK,OAAA,EAAS,KAAI;AAAE,KACjE;AAAA,IACA,WAAA,EAAa,0CAAA;AAAA,IACb,YAAA,EAAc;AAAA,GAChB;AAAA,EAEA,6BAAA,EAA+B;AAAA,IAC7B,EAAA,EAAI,6BAAA;AAAA,IACJ,IAAA,EAAM,eAAA;AAAA,IACN,UAAA,EAAY,6BAAA;AAAA,IACZ,QAAA,EAAU,WAAA;AAAA,IACV,YAAA,EAAc;AAAA,MACZ,WAAA,EAAa,IAAA;AAAA,MACb,YAAA,EAAc,IAAA;AAAA,MACd,gBAAA,EAAkB,IAAA;AAAA,MAClB,KAAA,EAAO;AAAA,KACT;AAAA,IACA,WAAA,EAAa,EAAA;AAAA,IACb,oBAAA,EAAsB,CAAC,MAAM,CAAA;AAAA,IAC7B,qBAAA,EAAuB,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACtC,OAAA,EAAS;AAAA,MACP,WAAA,EAAa,GAAA;AAAA,MACb,QAAA,EAAU,KAAA;AAAA,MACV,WAAA,EAAa,UAAA;AAAA,MACb,QAAA,EAAU,GAAA;AAAA,MACV,YAAA,EAAc,gBAAA;AAAA,MACd,UAAA,EAAY,EAAA;AAAA,MACZ,WAAA,EAAa,EAAE,QAAA,EAAU,EAAE,CAAA,EAAG,GAAK,EAAA,EAAI,CAAA,EAAK,EAAA,EAAI,CAAA,EAAI,EAAE;AAAA,MACtD,iBAAA,EAAmB,EAAE,QAAA,EAAU,EAAE,CAAA,EAAG,GAAK,EAAA,EAAI,CAAA,EAAK,EAAA,EAAI,CAAA,EAAI;AAAE,KAC9D;AAAA,IACA,WAAA,EAAa,6CAAA;AAAA,IACb,YAAA,EAAc;AAAA,GAChB;AAAA,EAEA,wBAAA,EAA0B;AAAA,IACxB,EAAA,EAAI,wBAAA;AAAA,IACJ,IAAA,EAAM,UAAA;AAAA,IACN,UAAA,EAAY,wBAAA;AAAA,IACZ,QAAA,EAAU,WAAA;AAAA,IACV,YAAA,EAAc;AAAA,MACZ,WAAA,EAAa,IAAA;AAAA,MACb,YAAA,EAAc,IAAA;AAAA,MACd,gBAAA,EAAkB,KAAA;AAAA,MAClB,KAAA,EAAO;AAAA,KACT;AAAA,IACA,WAAA,EAAa,EAAA;AAAA,IACb,oBAAA,EAAsB,CAAC,MAAM,CAAA;AAAA,IAC7B,qBAAA,EAAuB,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACtC,OAAA,EAAS;AAAA,MACP,WAAA,EAAa,GAAA;AAAA,MACb,QAAA,EAAU,KAAA;AAAA,MACV,WAAA,EAAa,UAAA;AAAA,MACb,QAAA,EAAU,GAAA;AAAA,MACV,YAAA,EAAc,gBAAA;AAAA,MACd,UAAA,EAAY,EAAA;AAAA,MACZ,WAAA,EAAa;AAAA,QACX,UAAU,EAAE,CAAA,EAAG,GAAK,EAAA,EAAI,CAAA,EAAK,IAAI,CAAA,EAAI;AAAA,QACrC,IAAA,EAAM,EAAE,QAAA,EAAU,CAAA,EAAK,KAAK,GAAA;AAAI,OAClC;AAAA,MACA,iBAAA,EAAmB;AAAA,QACjB,UAAU,EAAE,CAAA,EAAG,GAAK,EAAA,EAAI,CAAA,EAAK,IAAI,CAAA,EAAI;AAAA,QACrC,IAAA,EAAM,EAAE,QAAA,EAAU,CAAA,EAAK,KAAK,GAAA;AAAI;AAClC,KACF;AAAA,IACA,WAAA,EAAa,0BAAA;AAAA,IACb,YAAA,EAAc;AAAA,GAChB;AAAA;AAAA,EAIA,eAAA,EAAiB;AAAA,IACf,EAAA,EAAI,eAAA;AAAA,IACJ,IAAA,EAAM,QAAA;AAAA,IACN,UAAA,EAAY,eAAA;AAAA,IACZ,QAAA,EAAU,WAAA;AAAA,IACV,YAAA,EAAc;AAAA,MACZ,WAAA,EAAa,IAAA;AAAA,MACb,YAAA,EAAc,IAAA;AAAA,MACd,gBAAA,EAAkB,KAAA;AAAA,MAClB,KAAA,EAAO;AAAA,KACT;AAAA,IACA,WAAA,EAAa,EAAA;AAAA,IACb,oBAAA,EAAsB,CAAC,MAAA,EAAQ,OAAO,CAAA;AAAA,IACtC,qBAAA,EAAuB,CAAC,MAAA,EAAQ,MAAA,EAAQ,KAAK,CAAA;AAAA,IAC7C,OAAA,EAAS;AAAA,MACP,WAAA,EAAa,GAAA;AAAA,MACb,QAAA,EAAU,QAAA;AAAA,MACV,WAAA,EAAa,UAAA;AAAA,MACb,QAAA,EAAU,CAAA;AAAA,MACV,YAAA,EAAc,YAAA;AAAA,MACd,UAAA,EAAY;AAAA,KACd;AAAA,IACA,WAAA,EAAa,eAAA;AAAA,IACb,YAAA,EAAc;AAAA,GAChB;AAAA,EAEA,mBAAA,EAAqB;AAAA,IACnB,EAAA,EAAI,mBAAA;AAAA,IACJ,IAAA,EAAM,YAAA;AAAA,IACN,UAAA,EAAY,mBAAA;AAAA,IACZ,QAAA,EAAU,WAAA;AAAA,IACV,YAAA,EAAc;AAAA,MACZ,WAAA,EAAa,IAAA;AAAA,MACb,YAAA,EAAc,IAAA;AAAA,MACd,gBAAA,EAAkB,KAAA;AAAA,MAClB,KAAA,EAAO;AAAA,KACT;AAAA,IACA,WAAA,EAAa,EAAA;AAAA,IACb,oBAAA,EAAsB,CAAC,MAAA,EAAQ,OAAO,CAAA;AAAA,IACtC,qBAAA,EAAuB,CAAC,MAAA,EAAQ,MAAA,EAAQ,KAAK,CAAA;AAAA,IAC7C,OAAA,EAAS;AAAA,MACP,WAAA,EAAa,GAAA;AAAA,MACb,QAAA,EAAU,MAAA;AAAA,MACV,WAAA,EAAa,UAAA;AAAA,MACb,QAAA,EAAU,GAAA;AAAA,MACV,YAAA,EAAc,YAAA;AAAA,MACd,UAAA,EAAY;AAAA,KACd;AAAA,IACA,WAAA,EAAa,2BAAA;AAAA,IACb,YAAA,EAAc;AAAA,GAChB;AAAA,EAEA,wBAAA,EAA0B;AAAA,IACxB,EAAA,EAAI,wBAAA;AAAA,IACJ,IAAA,EAAM,oBAAA;AAAA,IACN,UAAA,EAAY,wBAAA;AAAA,IACZ,QAAA,EAAU,WAAA;AAAA,IACV,YAAA,EAAc;AAAA,MACZ,WAAA,EAAa,IAAA;AAAA,MACb,YAAA,EAAc,KAAA;AAAA,MACd,gBAAA,EAAkB,KAAA;AAAA,MAClB,KAAA,EAAO;AAAA,KACT;AAAA,IACA,WAAA,EAAa,EAAA;AAAA,IACb,oBAAA,EAAsB,CAAC,MAAM,CAAA;AAAA,IAC7B,qBAAA,EAAuB,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACtC,OAAA,EAAS;AAAA,MACP,WAAA,EAAa,GAAA;AAAA,MACb,QAAA,EAAU,KAAA;AAAA,MACV,WAAA,EAAa,UAAA;AAAA,MACb,QAAA,EAAU,GAAA;AAAA,MACV,YAAA,EAAc,YAAA;AAAA,MACd,UAAA,EAAY;AAAA,KACd;AAAA,IACA,WAAA,EAAa,2BAAA;AAAA,IACb,YAAA,EAAc;AAAA,GAChB;AAAA,EAEA,oBAAA,EAAsB;AAAA,IACpB,EAAA,EAAI,oBAAA;AAAA,IACJ,IAAA,EAAM,YAAA;AAAA,IACN,UAAA,EAAY,oBAAA;AAAA,IACZ,QAAA,EAAU,WAAA;AAAA,IACV,YAAA,EAAc;AAAA,MACZ,WAAA,EAAa,IAAA;AAAA,MACb,YAAA,EAAc,IAAA;AAAA,MACd,gBAAA,EAAkB,KAAA;AAAA,MAClB,KAAA,EAAO;AAAA,KACT;AAAA,IACA,WAAA,EAAa,CAAA;AAAA,IACb,oBAAA,EAAsB,CAAC,MAAM,CAAA;AAAA,IAC7B,qBAAA,EAAuB,CAAC,MAAA,EAAQ,MAAA,EAAQ,KAAK,CAAA;AAAA,IAC7C,OAAA,EAAS;AAAA,MACP,WAAA,EAAa,IAAA;AAAA,MACb,QAAA,EAAU,KAAA;AAAA,MACV,WAAA,EAAa,UAAA;AAAA,MACb,QAAA,EAAU,GAAA;AAAA,MACV,YAAA,EAAc,gBAAA;AAAA,MACd,UAAA,EAAY,EAAA;AAAA,MACZ,WAAA,EAAa;AAAA,QACX,QAAA,EAAU,EAAE,CAAA,EAAG,CAAA,EAAK,IAAI,GAAA,EAAI;AAAA,QAC5B,UAAA,EAAY,EAAE,MAAA,EAAQ,CAAA,EAAK,SAAS,GAAA;AAAI,OAC1C;AAAA,MACA,iBAAA,EAAmB;AAAA,QACjB,QAAA,EAAU,EAAE,CAAA,EAAG,CAAA,EAAK,IAAI,GAAA,EAAI;AAAA,QAC5B,UAAA,EAAY,EAAE,MAAA,EAAQ,CAAA,EAAK,SAAS,GAAA;AAAI;AAC1C,KACF;AAAA,IACA,WAAA,EAAa,oBAAA;AAAA,IACb,YAAA,EAAc;AAAA,GAChB;AAAA,EAEA,yBAAA,EAA2B;AAAA,IACzB,EAAA,EAAI,yBAAA;AAAA,IACJ,IAAA,EAAM,iBAAA;AAAA,IACN,UAAA,EAAY,yBAAA;AAAA,IACZ,QAAA,EAAU,WAAA;AAAA,IACV,YAAA,EAAc;AAAA,MACZ,WAAA,EAAa,IAAA;AAAA,MACb,YAAA,EAAc,IAAA;AAAA,MACd,gBAAA,EAAkB,KAAA;AAAA,MAClB,KAAA,EAAO;AAAA,KACT;AAAA,IACA,WAAA,EAAa,CAAA;AAAA,IACb,oBAAA,EAAsB,CAAC,MAAM,CAAA;AAAA,IAC7B,qBAAA,EAAuB,CAAC,MAAA,EAAQ,MAAA,EAAQ,KAAK,CAAA;AAAA,IAC7C,OAAA,EAAS;AAAA,MACP,WAAA,EAAa,IAAA;AAAA,MACb,QAAA,EAAU,KAAA;AAAA,MACV,WAAA,EAAa,UAAA;AAAA,MACb,QAAA,EAAU,GAAA;AAAA,MACV,YAAA,EAAc,WAAA;AAAA,MACd,UAAA,EAAY;AAAA,KACd;AAAA,IACA,WAAA,EAAa,yBAAA;AAAA,IACb,YAAA,EAAc;AAAA,GAChB;AAAA,EAEA,mBAAA,EAAqB;AAAA,IACnB,EAAA,EAAI,mBAAA;AAAA,IACJ,IAAA,EAAM,WAAA;AAAA,IACN,UAAA,EAAY,mBAAA;AAAA,IACZ,QAAA,EAAU,WAAA;AAAA,IACV,YAAA,EAAc;AAAA,MACZ,WAAA,EAAa,IAAA;AAAA,MACb,YAAA,EAAc,IAAA;AAAA,MACd,gBAAA,EAAkB,KAAA;AAAA,MAClB,KAAA,EAAO;AAAA,KACT;AAAA,IACA,WAAA,EAAa,CAAA;AAAA,IACb,oBAAA,EAAsB,CAAC,MAAM,CAAA;AAAA,IAC7B,qBAAA,EAAuB,CAAC,MAAA,EAAQ,MAAA,EAAQ,KAAK,CAAA;AAAA,IAC7C,OAAA,EAAS;AAAA,MACP,WAAA,EAAa,IAAA;AAAA,MACb,QAAA,EAAU,KAAA;AAAA,MACV,WAAA,EAAa,UAAA;AAAA,MACb,QAAA,EAAU,GAAA;AAAA,MACV,YAAA,EAAc,WAAA;AAAA,MACd,UAAA,EAAY;AAAA,KACd;AAAA,IACA,WAAA,EAAa,mBAAA;AAAA,IACb,YAAA,EAAc;AAAA,GAChB;AAAA,EAEA,+BAAA,EAAiC;AAAA,IAC/B,EAAA,EAAI,+BAAA;AAAA,IACJ,IAAA,EAAM,qBAAA;AAAA,IACN,UAAA,EAAY,+BAAA;AAAA,IACZ,QAAA,EAAU,WAAA;AAAA,IACV,YAAA,EAAc;AAAA,MACZ,WAAA,EAAa,IAAA;AAAA,MACb,YAAA,EAAc,IAAA;AAAA,MACd,gBAAA,EAAkB,KAAA;AAAA,MAClB,KAAA,EAAO;AAAA,KACT;AAAA,IACA,WAAA,EAAa,CAAA;AAAA,IACb,oBAAA,EAAsB,CAAC,MAAM,CAAA;AAAA,IAC7B,qBAAA,EAAuB,CAAC,MAAA,EAAQ,MAAA,EAAQ,KAAK,CAAA;AAAA,IAC7C,OAAA,EAAS;AAAA,MACP,WAAA,EAAa,IAAA;AAAA,MACb,QAAA,EAAU,KAAA;AAAA,MACV,WAAA,EAAa,UAAA;AAAA,MACb,QAAA,EAAU,GAAA;AAAA,MACV,YAAA,EAAc,WAAA;AAAA,MACd,UAAA,EAAY;AAAA,KACd;AAAA,IACA,WAAA,EAAa,6BAAA;AAAA,IACb,YAAA,EAAc;AAAA,GAChB;AAAA,EAEA,2BAAA,EAA6B;AAAA,IAC3B,EAAA,EAAI,2BAAA;AAAA,IACJ,IAAA,EAAM,iBAAA;AAAA,IACN,UAAA,EAAY,2BAAA;AAAA,IACZ,QAAA,EAAU,WAAA;AAAA,IACV,YAAA,EAAc;AAAA,MACZ,WAAA,EAAa,IAAA;AAAA,MACb,YAAA,EAAc,IAAA;AAAA,MACd,gBAAA,EAAkB,KAAA;AAAA,MAClB,KAAA,EAAO;AAAA,KACT;AAAA,IACA,WAAA,EAAa,CAAA;AAAA,IACb,oBAAA,EAAsB,CAAC,MAAM,CAAA;AAAA,IAC7B,qBAAA,EAAuB,CAAC,MAAA,EAAQ,MAAA,EAAQ,KAAK,CAAA;AAAA,IAC7C,OAAA,EAAS;AAAA,MACP,WAAA,EAAa,IAAA;AAAA,MACb,QAAA,EAAU,KAAA;AAAA,MACV,WAAA,EAAa,UAAA;AAAA,MACb,QAAA,EAAU,GAAA;AAAA,MACV,YAAA,EAAc,WAAA;AAAA,MACd,UAAA,EAAY;AAAA,KACd;AAAA,IACA,WAAA,EAAa,yBAAA;AAAA,IACb,YAAA,EAAc;AAAA,GAChB;AAAA,EAEA,uBAAA,EAAyB;AAAA,IACvB,EAAA,EAAI,uBAAA;AAAA,IACJ,IAAA,EAAM,aAAA;AAAA,IACN,UAAA,EAAY,uBAAA;AAAA,IACZ,QAAA,EAAU,WAAA;AAAA,IACV,YAAA,EAAc;AAAA,MACZ,WAAA,EAAa,IAAA;AAAA,MACb,YAAA,EAAc,KAAA;AAAA,MACd,gBAAA,EAAkB,KAAA;AAAA,MAClB,KAAA,EAAO;AAAA,KACT;AAAA,IACA,WAAA,EAAa,CAAA;AAAA,IACb,oBAAA,EAAsB,CAAC,MAAM,CAAA;AAAA,IAC7B,qBAAA,EAAuB,CAAC,MAAA,EAAQ,MAAA,EAAQ,KAAK,CAAA;AAAA,IAC7C,OAAA,EAAS;AAAA,MACP,WAAA,EAAa,IAAA;AAAA,MACb,QAAA,EAAU,KAAA;AAAA,MACV,WAAA,EAAa,UAAA;AAAA,MACb,QAAA,EAAU,GAAA;AAAA,MACV,YAAA,EAAc,WAAA;AAAA,MACd,UAAA,EAAY;AAAA,KACd;AAAA,IACA,WAAA,EAAa,uBAAA;AAAA,IACb,YAAA,EAAc;AAAA,GAChB;AAAA,EAEA,uBAAA,EAAyB;AAAA,IACvB,EAAA,EAAI,uBAAA;AAAA,IACJ,IAAA,EAAM,aAAA;AAAA,IACN,UAAA,EAAY,uBAAA;AAAA,IACZ,QAAA,EAAU,WAAA;AAAA,IACV,YAAA,EAAc;AAAA,MACZ,WAAA,EAAa,KAAA;AAAA,MACb,YAAA,EAAc,IAAA;AAAA,MACd,gBAAA,EAAkB,KAAA;AAAA,MAClB,KAAA,EAAO;AAAA,KACT;AAAA,IACA,WAAA,EAAa,CAAA;AAAA,IACb,oBAAA,EAAsB,CAAC,MAAM,CAAA;AAAA,IAC7B,qBAAA,EAAuB,CAAC,MAAA,EAAQ,MAAA,EAAQ,KAAK,CAAA;AAAA,IAC7C,OAAA,EAAS;AAAA,MACP,WAAA,EAAa,IAAA;AAAA,MACb,QAAA,EAAU,KAAA;AAAA,MACV,WAAA,EAAa,UAAA;AAAA,MACb,QAAA,EAAU,GAAA;AAAA,MACV,YAAA,EAAc,WAAA;AAAA,MACd,UAAA,EAAY;AAAA,KACd;AAAA,IACA,WAAA,EAAa,wBAAA;AAAA,IACb,YAAA,EAAc;AAAA,GAChB;AAAA,EAEA,4BAAA,EAA8B;AAAA,IAC5B,EAAA,EAAI,4BAAA;AAAA,IACJ,IAAA,EAAM,kBAAA;AAAA,IACN,UAAA,EAAY,4BAAA;AAAA,IACZ,QAAA,EAAU,WAAA;AAAA,IACV,YAAA,EAAc;AAAA,MACZ,WAAA,EAAa,KAAA;AAAA,MACb,YAAA,EAAc,IAAA;AAAA,MACd,gBAAA,EAAkB,KAAA;AAAA,MAClB,KAAA,EAAO;AAAA,KACT;AAAA,IACA,WAAA,EAAa,CAAA;AAAA,IACb,oBAAA,EAAsB,CAAC,MAAM,CAAA;AAAA,IAC7B,qBAAA,EAAuB,CAAC,MAAA,EAAQ,MAAA,EAAQ,KAAK,CAAA;AAAA,IAC7C,OAAA,EAAS;AAAA,MACP,WAAA,EAAa,IAAA;AAAA,MACb,QAAA,EAAU,KAAA;AAAA,MACV,WAAA,EAAa,UAAA;AAAA,MACb,QAAA,EAAU,GAAA;AAAA,MACV,YAAA,EAAc,WAAA;AAAA,MACd,UAAA,EAAY;AAAA,KACd;AAAA,IACA,WAAA,EAAa,6BAAA;AAAA,IACb,YAAA,EAAc;AAAA,GAChB;AAAA,EAEA,wBAAA,EAA0B;AAAA,IACxB,EAAA,EAAI,wBAAA;AAAA,IACJ,IAAA,EAAM,eAAA;AAAA,IACN,UAAA,EAAY,wBAAA;AAAA,IACZ,QAAA,EAAU,WAAA;AAAA,IACV,YAAA,EAAc;AAAA,MACZ,WAAA,EAAa,IAAA;AAAA,MACb,YAAA,EAAc,IAAA;AAAA,MACd,gBAAA,EAAkB,KAAA;AAAA,MAClB,KAAA,EAAO;AAAA,KACT;AAAA,IACA,WAAA,EAAa,CAAA;AAAA,IACb,oBAAA,EAAsB,CAAC,MAAM,CAAA;AAAA,IAC7B,qBAAA,EAAuB,CAAC,MAAA,EAAQ,MAAA,EAAQ,KAAK,CAAA;AAAA,IAC7C,OAAA,EAAS;AAAA,MACP,WAAA,EAAa,IAAA;AAAA,MACb,QAAA,EAAU,KAAA;AAAA,MACV,WAAA,EAAa,UAAA;AAAA,MACb,QAAA,EAAU,GAAA;AAAA,MACV,YAAA,EAAc,WAAA;AAAA,MACd,UAAA,EAAY;AAAA,KACd;AAAA,IACA,WAAA,EAAa,eAAA;AAAA,IACb,YAAA,EAAc;AAAA,GAChB;AAAA,EAEA,kBAAA,EAAoB;AAAA,IAClB,EAAA,EAAI,kBAAA;AAAA,IACJ,IAAA,EAAM,gBAAA;AAAA,IACN,UAAA,EAAY,kBAAA;AAAA,IACZ,QAAA,EAAU,WAAA;AAAA,IACV,YAAA,EAAc;AAAA,MACZ,WAAA,EAAa,IAAA;AAAA,MACb,YAAA,EAAc,IAAA;AAAA,MACd,gBAAA,EAAkB,KAAA;AAAA,MAClB,KAAA,EAAO;AAAA,KACT;AAAA,IACA,WAAA,EAAa,EAAA;AAAA,IACb,oBAAA,EAAsB,CAAC,MAAA,EAAQ,OAAO,CAAA;AAAA,IACtC,qBAAA,EAAuB,CAAC,MAAA,EAAQ,MAAA,EAAQ,KAAK,CAAA;AAAA,IAC7C,OAAA,EAAS;AAAA,MACP,WAAA,EAAa,IAAA;AAAA,MACb,QAAA,EAAU,QAAA;AAAA,MACV,WAAA,EAAa,UAAA;AAAA,MACb,QAAA,EAAU,CAAA;AAAA,MACV,YAAA,EAAc,WAAA;AAAA,MACd,UAAA,EAAY,GAAA;AAAA,MACZ,WAAA,EAAa,EAAE,QAAA,EAAU,EAAE,GAAG,CAAA,EAAK,EAAA,EAAI,GAAI,EAAE;AAAA,MAC7C,iBAAA,EAAmB,EAAE,QAAA,EAAU,EAAE,GAAG,CAAA,EAAK,EAAA,EAAI,GAAI;AAAE,KACrD;AAAA,IACA,WAAA,EAAa,gBAAA;AAAA,IACb,YAAA,EAAc;AAAA,GAChB;AAAA;AAAA,EAIA,iBAAA,EAAmB;AAAA,IACjB,EAAA,EAAI,iBAAA;AAAA,IACJ,IAAA,EAAM,uBAAA;AAAA,IACN,UAAA,EAAY,iBAAA;AAAA,IACZ,QAAA,EAAU,WAAA;AAAA,IACV,YAAA,EAAc;AAAA,MACZ,WAAA,EAAa,KAAA;AAAA,MACb,YAAA,EAAc,KAAA;AAAA,MACd,gBAAA,EAAkB,KAAA;AAAA,MAClB,KAAA,EAAO;AAAA,KACT;AAAA,IACA,WAAA,EAAa,EAAA;AAAA,IACb,oBAAA,EAAsB,CAAC,MAAM,CAAA;AAAA,IAC7B,qBAAA,EAAuB,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACtC,OAAA,EAAS;AAAA,MACP,WAAA,EAAa,IAAA;AAAA,MACb,QAAA,EAAU,KAAA;AAAA,MACV,WAAA,EAAa,YAAA;AAAA,MACb,QAAA,EAAU,GAAA;AAAA,MACV,YAAA,EAAc,0BAAA;AAAA,MACd,UAAA,EAAY;AAAA,KACd;AAAA,IACA,WAAA,EAAa,sDAAA;AAAA,IACb,YAAA,EAAc;AAAA,GAChB;AAAA,EAEA,kBAAA,EAAoB;AAAA,IAClB,EAAA,EAAI,kBAAA;AAAA,IACJ,IAAA,EAAM,mBAAA;AAAA,IACN,UAAA,EAAY,kBAAA;AAAA,IACZ,QAAA,EAAU,WAAA;AAAA,IACV,YAAA,EAAc;AAAA,MACZ,WAAA,EAAa,KAAA;AAAA,MACb,YAAA,EAAc,KAAA;AAAA,MACd,gBAAA,EAAkB,KAAA;AAAA,MAClB,KAAA,EAAO;AAAA,KACT;AAAA,IACA,WAAA,EAAa,EAAA;AAAA,IACb,oBAAA,EAAsB,CAAC,MAAM,CAAA;AAAA,IAC7B,qBAAA,EAAuB,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACtC,OAAA,EAAS;AAAA,MACP,WAAA,EAAa,IAAA;AAAA,MACb,QAAA,EAAU,KAAA;AAAA,MACV,WAAA,EAAa,YAAA;AAAA,MACb,QAAA,EAAU,GAAA;AAAA,MACV,YAAA,EAAc,0BAAA;AAAA,MACd,UAAA,EAAY;AAAA,KACd;AAAA,IACA,WAAA,EAAa,2DAAA;AAAA,IACb,YAAA,EAAc;AAAA,GAChB;AAAA,EAEA,2BAAA,EAA6B;AAAA,IAC3B,EAAA,EAAI,2BAAA;AAAA,IACJ,IAAA,EAAM,iBAAA;AAAA,IACN,UAAA,EAAY,2BAAA;AAAA,IACZ,QAAA,EAAU,WAAA;AAAA,IACV,YAAA,EAAc;AAAA,MACZ,WAAA,EAAa,KAAA;AAAA,MACb,YAAA,EAAc,KAAA;AAAA,MACd,gBAAA,EAAkB,KAAA;AAAA,MAClB,KAAA,EAAO;AAAA,KACT;AAAA,IACA,WAAA,EAAa,EAAA;AAAA,IACb,oBAAA,EAAsB,CAAC,MAAM,CAAA;AAAA,IAC7B,qBAAA,EAAuB,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACtC,OAAA,EAAS;AAAA,MACP,WAAA,EAAa,GAAA;AAAA,MACb,QAAA,EAAU,KAAA;AAAA,MACV,WAAA,EAAa,YAAA;AAAA,MACb,QAAA,EAAU,GAAA;AAAA,MACV,YAAA,EAAc,0BAAA;AAAA,MACd,UAAA,EAAY;AAAA,KACd;AAAA,IACA,WAAA,EAAa,2DAAA;AAAA,IACb,YAAA,EAAc;AAAA,GAChB;AAAA;AAAA,EAIA,8BAAA,EAAgC;AAAA,IAC9B,EAAA,EAAI,8BAAA;AAAA,IACJ,IAAA,EAAM,sBAAA;AAAA,IACN,UAAA,EAAY,8BAAA;AAAA,IACZ,QAAA,EAAU,WAAA;AAAA,IACV,YAAA,EAAc;AAAA,MACZ,WAAA,EAAa,IAAA;AAAA,MACb,YAAA,EAAc,IAAA;AAAA,MACd,gBAAA,EAAkB,KAAA;AAAA,MAClB,KAAA,EAAO;AAAA,KACT;AAAA,IACA,WAAA,EAAa,EAAA;AAAA,IACb,oBAAA,EAAsB,CAAC,MAAM,CAAA;AAAA,IAC7B,qBAAA,EAAuB,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACtC,OAAA,EAAS;AAAA,MACP,WAAA,EAAa,IAAA;AAAA,MACb,QAAA,EAAU,KAAA;AAAA,MACV,WAAA,EAAa,UAAA;AAAA,MACb,QAAA,EAAU,GAAA;AAAA,MACV,YAAA,EAAc,YAAA;AAAA,MACd,UAAA,EAAY;AAAA,KACd;AAAA,IACA,WAAA,EAAa,mCAAA;AAAA,IACb,YAAA,EAAc;AAAA,GAChB;AAAA,EAEA,uBAAA,EAAyB;AAAA,IACvB,EAAA,EAAI,uBAAA;AAAA,IACJ,IAAA,EAAM,kBAAA;AAAA,IACN,UAAA,EAAY,uBAAA;AAAA,IACZ,QAAA,EAAU,WAAA;AAAA,IACV,YAAA,EAAc;AAAA,MACZ,WAAA,EAAa,IAAA;AAAA,MACb,YAAA,EAAc,IAAA;AAAA,MACd,gBAAA,EAAkB,KAAA;AAAA,MAClB,KAAA,EAAO;AAAA,KACT;AAAA,IACA,WAAA,EAAa,CAAA;AAAA,IACb,oBAAA,EAAsB,CAAC,MAAM,CAAA;AAAA,IAC7B,qBAAA,EAAuB;AAAA,MACrB,KAAA;AAAA,MACA,KAAA;AAAA,MACA,KAAA;AAAA,MACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA;AAAA,KACF;AAAA,IACA,OAAA,EAAS;AAAA,MACP,WAAA,EAAa,IAAA;AAAA,MACb,QAAA,EAAU,KAAA;AAAA,MACV,WAAA,EAAa,UAAA;AAAA,MACb,QAAA,EAAU,GAAA;AAAA,MACV,YAAA,EAAc,WAAA;AAAA,MACd,UAAA,EAAY;AAAA,KACd;AAAA,IACA,WAAA,EAAa,8BAAA;AAAA,IACb,YAAA,EAAc;AAAA;AAElB;AAKO,IAAM,eAAA,GAAkB,MAAA,CAAO,IAAA,CAAK,mBAAmB;AAMvD,IAAM,wBAAwB,MAAA,CAAO,OAAA,CAAQ,mBAAmB,CAAA,CACpE,MAAA,CAAO,CAAC,GAAG,CAAC,CAAA,KAAM,CAAA,CAAE,YAAY,CAAA,CAChC,GAAA,CAAI,CAAC,CAAC,EAAE,MAAM,EAAE;AAGZ,SAAS,uBAAA,GAAkC;AAChD,EAAA,OAAO,MAAA,CAAO,OAAO,mBAAmB,CAAA,CACrC,OAAO,CAAA,CAAA,KAAK,CAAA,CAAE,YAAY,CAAA,CAC1B,GAAA;AAAA,IACC,CAAA,CAAA,KACE,CAAA,IAAA,EAAO,CAAA,CAAE,EAAE,CAAA,OAAA,EAAU,EAAE,OAAA,CAAQ,WAAW,CAAA,QAAA,EAAW,CAAA,CAAE,WAAW,CAAA,EAAA;AAAA,GACtE,CACC,KAAK,IAAI,CAAA;AACd","file":"chunk-IJZ4XPO2.mjs","sourcesContent":["/**\n * Video Model Catalog — single source of truth for all video models.\n *\n * Migrated from `packages/integration/video/src/models/catalog.ts`. The\n * original location now re-exports from here so every existing consumer\n * keeps working.\n *\n * Adding a model = 1 entry here + 1 serializer in\n * `packages/integration/video/src/providers/replicate/replicate-serializers.ts`.\n */\n\nimport type { BillingUnit, CostMultipliers } from \"../schema/cost-units.js\"\n\nexport interface VideoModelDefinition {\n id: string\n name: string\n /** Replicate model ID */\n providerId: string\n provider: \"replicate\" | \"minimax\"\n capabilities: {\n textToVideo: boolean\n imageToVideo: boolean\n subjectReference: boolean\n audio: boolean\n }\n maxDuration: number\n supportedResolutions: Array<\"720p\" | \"1080p\">\n supportedAspectRatios: string[]\n pricing: {\n /** @deprecated Use billingUnit + baseCost instead */\n costPerClip: number\n /** @deprecated Derived from baseCost */\n costTier: \"low\" | \"medium\" | \"high\"\n /** How the provider bills: per_clip for most, per_second for lip-sync */\n billingUnit: BillingUnit\n /** Our production cost in USD */\n baseCost: number\n /** What baseCost covers */\n baseCostUnit: string\n /** Provider-side cost multipliers for resolution/duration/mode. */\n multipliers?: CostMultipliers\n /**\n * @deprecated Credits derived at call time. Markup applied to\n * `baseCost`, then `multipliers` re-applied. Kept optional for\n * back-compat. Use `overrideCreditCost` for opt-outs.\n */\n creditCost?: number\n /**\n * @deprecated Use `multipliers`; markup re-uses the same shape.\n */\n creditMultipliers?: CostMultipliers\n /** Bypass markup formula and charge exactly this base. */\n overrideCreditCost?: number\n }\n description: string\n agentVisible: boolean\n}\n\nexport const VIDEO_MODEL_CATALOG: Record<string, VideoModelDefinition> = {\n // ─── Active agent-visible models ─────────────────────────────────────────\n\n \"google/veo-3.1-fast\": {\n id: \"google/veo-3.1-fast\",\n name: \"Veo 3.1 Fast\",\n providerId: \"google/veo-3.1-fast\",\n provider: \"replicate\",\n capabilities: {\n textToVideo: true,\n imageToVideo: true,\n subjectReference: false,\n audio: true,\n },\n maxDuration: 8,\n supportedResolutions: [\"720p\", \"1080p\"],\n supportedAspectRatios: [\"16:9\", \"9:16\"],\n pricing: {\n costPerClip: 0.15,\n costTier: \"medium\",\n billingUnit: \"per_clip\",\n baseCost: 0.8,\n baseCostUnit: \"1 clip 8s\",\n creditCost: 80,\n multipliers: { resolution: { \"720p\": 1.0, \"1080p\": 1.5 } },\n creditMultipliers: { resolution: { \"720p\": 1.0, \"1080p\": 1.5 } },\n },\n description: \"Fast iteration, good quality\",\n agentVisible: true,\n },\n\n \"google/veo-3.1\": {\n id: \"google/veo-3.1\",\n name: \"Veo 3.1\",\n providerId: \"google/veo-3.1\",\n provider: \"replicate\",\n capabilities: {\n textToVideo: true,\n imageToVideo: true,\n subjectReference: true,\n audio: true,\n },\n maxDuration: 8,\n supportedResolutions: [\"720p\", \"1080p\"],\n supportedAspectRatios: [\"16:9\", \"9:16\"],\n pricing: {\n costPerClip: 0.75,\n costTier: \"high\",\n billingUnit: \"per_clip\",\n baseCost: 1.5,\n baseCostUnit: \"1 clip 8s\",\n creditCost: 150,\n multipliers: { resolution: { \"720p\": 1.0, \"1080p\": 1.5 } },\n creditMultipliers: { resolution: { \"720p\": 1.0, \"1080p\": 1.5 } },\n },\n description: \"Premium quality, 1080p, reference images\",\n agentVisible: true,\n },\n\n \"kwaivgi/kling-v3-omni-video\": {\n id: \"kwaivgi/kling-v3-omni-video\",\n name: \"Kling V3 Omni\",\n providerId: \"kwaivgi/kling-v3-omni-video\",\n provider: \"replicate\",\n capabilities: {\n textToVideo: true,\n imageToVideo: true,\n subjectReference: true,\n audio: true,\n },\n maxDuration: 15,\n supportedResolutions: [\"720p\"],\n supportedAspectRatios: [\"16:9\", \"9:16\"],\n pricing: {\n costPerClip: 0.1,\n costTier: \"low\",\n billingUnit: \"per_clip\",\n baseCost: 0.5,\n baseCostUnit: \"1 clip 720p 5s\",\n creditCost: 50,\n multipliers: { duration: { 5: 1.0, 10: 2.0, 15: 3.0 } },\n creditMultipliers: { duration: { 5: 1.0, 10: 2.0, 15: 3.0 } },\n },\n description: \"Multi-shot, native audio, subject reference\",\n agentVisible: true,\n },\n\n \"kwaivgi/kling-v3-video\": {\n id: \"kwaivgi/kling-v3-video\",\n name: \"Kling V3\",\n providerId: \"kwaivgi/kling-v3-video\",\n provider: \"replicate\",\n capabilities: {\n textToVideo: true,\n imageToVideo: true,\n subjectReference: false,\n audio: true,\n },\n maxDuration: 15,\n supportedResolutions: [\"720p\"],\n supportedAspectRatios: [\"16:9\", \"9:16\"],\n pricing: {\n costPerClip: 0.1,\n costTier: \"low\",\n billingUnit: \"per_clip\",\n baseCost: 0.5,\n baseCostUnit: \"1 clip 720p 5s\",\n creditCost: 50,\n multipliers: {\n duration: { 5: 1.0, 10: 2.0, 15: 3.0 },\n mode: { standard: 1.0, pro: 1.5 },\n },\n creditMultipliers: {\n duration: { 5: 1.0, 10: 2.0, 15: 3.0 },\n mode: { standard: 1.0, pro: 1.5 },\n },\n },\n description: \"Text-to-video with audio\",\n agentVisible: true,\n },\n\n // ─── Pipeline-only models (used in content pipeline videoModel enum) ─────\n\n \"openai/sora-2\": {\n id: \"openai/sora-2\",\n name: \"Sora 2\",\n providerId: \"openai/sora-2\",\n provider: \"replicate\",\n capabilities: {\n textToVideo: true,\n imageToVideo: true,\n subjectReference: false,\n audio: false,\n },\n maxDuration: 10,\n supportedResolutions: [\"720p\", \"1080p\"],\n supportedAspectRatios: [\"16:9\", \"9:16\", \"1:1\"],\n pricing: {\n costPerClip: 0.2,\n costTier: \"medium\",\n billingUnit: \"per_clip\",\n baseCost: 1.0,\n baseCostUnit: \"1 clip 10s\",\n creditCost: 100,\n },\n description: \"OpenAI Sora 2\",\n agentVisible: true,\n },\n\n \"openai/sora-2-pro\": {\n id: \"openai/sora-2-pro\",\n name: \"Sora 2 Pro\",\n providerId: \"openai/sora-2-pro\",\n provider: \"replicate\",\n capabilities: {\n textToVideo: true,\n imageToVideo: true,\n subjectReference: false,\n audio: false,\n },\n maxDuration: 10,\n supportedResolutions: [\"720p\", \"1080p\"],\n supportedAspectRatios: [\"16:9\", \"9:16\", \"1:1\"],\n pricing: {\n costPerClip: 0.4,\n costTier: \"high\",\n billingUnit: \"per_clip\",\n baseCost: 1.2,\n baseCostUnit: \"1 clip 10s\",\n creditCost: 120,\n },\n description: \"OpenAI Sora 2 Pro quality\",\n agentVisible: true,\n },\n\n \"xai/grok-imagine-video\": {\n id: \"xai/grok-imagine-video\",\n name: \"Grok Imagine Video\",\n providerId: \"xai/grok-imagine-video\",\n provider: \"replicate\",\n capabilities: {\n textToVideo: true,\n imageToVideo: false,\n subjectReference: false,\n audio: false,\n },\n maxDuration: 10,\n supportedResolutions: [\"720p\"],\n supportedAspectRatios: [\"16:9\", \"9:16\"],\n pricing: {\n costPerClip: 0.1,\n costTier: \"low\",\n billingUnit: \"per_clip\",\n baseCost: 0.6,\n baseCostUnit: \"1 clip 10s\",\n creditCost: 60,\n },\n description: \"xAI Grok video generation\",\n agentVisible: true,\n },\n\n \"minimax/hailuo-2.3\": {\n id: \"minimax/hailuo-2.3\",\n name: \"Hailuo 2.3\",\n providerId: \"minimax/hailuo-2.3\",\n provider: \"replicate\",\n capabilities: {\n textToVideo: true,\n imageToVideo: true,\n subjectReference: false,\n audio: false,\n },\n maxDuration: 6,\n supportedResolutions: [\"720p\"],\n supportedAspectRatios: [\"16:9\", \"9:16\", \"1:1\"],\n pricing: {\n costPerClip: 0.08,\n costTier: \"low\",\n billingUnit: \"per_clip\",\n baseCost: 0.5,\n baseCostUnit: \"1 clip 768p 6s\",\n creditCost: 50,\n multipliers: {\n duration: { 6: 1.0, 10: 1.7 },\n resolution: { \"768p\": 1.0, \"1080p\": 1.5 },\n },\n creditMultipliers: {\n duration: { 6: 1.0, 10: 1.7 },\n resolution: { \"768p\": 1.0, \"1080p\": 1.5 },\n },\n },\n description: \"MiniMax Hailuo 2.3\",\n agentVisible: true,\n },\n\n \"minimax/hailuo-2.3-fast\": {\n id: \"minimax/hailuo-2.3-fast\",\n name: \"Hailuo 2.3 Fast\",\n providerId: \"minimax/hailuo-2.3-fast\",\n provider: \"replicate\",\n capabilities: {\n textToVideo: true,\n imageToVideo: true,\n subjectReference: false,\n audio: false,\n },\n maxDuration: 6,\n supportedResolutions: [\"720p\"],\n supportedAspectRatios: [\"16:9\", \"9:16\", \"1:1\"],\n pricing: {\n costPerClip: 0.04,\n costTier: \"low\",\n billingUnit: \"per_clip\",\n baseCost: 0.4,\n baseCostUnit: \"1 clip 6s\",\n creditCost: 40,\n },\n description: \"MiniMax Hailuo 2.3 Fast\",\n agentVisible: true,\n },\n\n \"minimax/hailuo-02\": {\n id: \"minimax/hailuo-02\",\n name: \"Hailuo 02\",\n providerId: \"minimax/hailuo-02\",\n provider: \"replicate\",\n capabilities: {\n textToVideo: true,\n imageToVideo: true,\n subjectReference: false,\n audio: false,\n },\n maxDuration: 6,\n supportedResolutions: [\"720p\"],\n supportedAspectRatios: [\"16:9\", \"9:16\", \"1:1\"],\n pricing: {\n costPerClip: 0.06,\n costTier: \"low\",\n billingUnit: \"per_clip\",\n baseCost: 0.5,\n baseCostUnit: \"1 clip 6s\",\n creditCost: 50,\n },\n description: \"MiniMax Hailuo 02\",\n agentVisible: true,\n },\n\n \"bytedance/seedance-1-pro-fast\": {\n id: \"bytedance/seedance-1-pro-fast\",\n name: \"Seedance 1 Pro Fast\",\n providerId: \"bytedance/seedance-1-pro-fast\",\n provider: \"replicate\",\n capabilities: {\n textToVideo: true,\n imageToVideo: true,\n subjectReference: false,\n audio: false,\n },\n maxDuration: 8,\n supportedResolutions: [\"720p\"],\n supportedAspectRatios: [\"16:9\", \"9:16\", \"1:1\"],\n pricing: {\n costPerClip: 0.08,\n costTier: \"low\",\n billingUnit: \"per_clip\",\n baseCost: 0.6,\n baseCostUnit: \"1 clip 8s\",\n creditCost: 60,\n },\n description: \"ByteDance Seedance Pro Fast\",\n agentVisible: true,\n },\n\n \"bytedance/seedance-1-lite\": {\n id: \"bytedance/seedance-1-lite\",\n name: \"Seedance 1 Lite\",\n providerId: \"bytedance/seedance-1-lite\",\n provider: \"replicate\",\n capabilities: {\n textToVideo: true,\n imageToVideo: true,\n subjectReference: false,\n audio: false,\n },\n maxDuration: 8,\n supportedResolutions: [\"720p\"],\n supportedAspectRatios: [\"16:9\", \"9:16\", \"1:1\"],\n pricing: {\n costPerClip: 0.04,\n costTier: \"low\",\n billingUnit: \"per_clip\",\n baseCost: 0.4,\n baseCostUnit: \"1 clip 8s\",\n creditCost: 40,\n },\n description: \"ByteDance Seedance Lite\",\n agentVisible: true,\n },\n\n \"wan-video/wan-2.5-t2v\": {\n id: \"wan-video/wan-2.5-t2v\",\n name: \"Wan 2.5 T2V\",\n providerId: \"wan-video/wan-2.5-t2v\",\n provider: \"replicate\",\n capabilities: {\n textToVideo: true,\n imageToVideo: false,\n subjectReference: false,\n audio: false,\n },\n maxDuration: 8,\n supportedResolutions: [\"720p\"],\n supportedAspectRatios: [\"16:9\", \"9:16\", \"1:1\"],\n pricing: {\n costPerClip: 0.06,\n costTier: \"low\",\n billingUnit: \"per_clip\",\n baseCost: 0.5,\n baseCostUnit: \"1 clip 8s\",\n creditCost: 50,\n },\n description: \"Wan 2.5 text-to-video\",\n agentVisible: true,\n },\n\n \"wan-video/wan-2.5-i2v\": {\n id: \"wan-video/wan-2.5-i2v\",\n name: \"Wan 2.5 I2V\",\n providerId: \"wan-video/wan-2.5-i2v\",\n provider: \"replicate\",\n capabilities: {\n textToVideo: false,\n imageToVideo: true,\n subjectReference: false,\n audio: false,\n },\n maxDuration: 8,\n supportedResolutions: [\"720p\"],\n supportedAspectRatios: [\"16:9\", \"9:16\", \"1:1\"],\n pricing: {\n costPerClip: 0.06,\n costTier: \"low\",\n billingUnit: \"per_clip\",\n baseCost: 0.5,\n baseCostUnit: \"1 clip 8s\",\n creditCost: 50,\n },\n description: \"Wan 2.5 image-to-video\",\n agentVisible: true,\n },\n\n \"wan-video/wan-2.5-i2v-fast\": {\n id: \"wan-video/wan-2.5-i2v-fast\",\n name: \"Wan 2.5 I2V Fast\",\n providerId: \"wan-video/wan-2.5-i2v-fast\",\n provider: \"replicate\",\n capabilities: {\n textToVideo: false,\n imageToVideo: true,\n subjectReference: false,\n audio: false,\n },\n maxDuration: 8,\n supportedResolutions: [\"720p\"],\n supportedAspectRatios: [\"16:9\", \"9:16\", \"1:1\"],\n pricing: {\n costPerClip: 0.03,\n costTier: \"low\",\n billingUnit: \"per_clip\",\n baseCost: 0.3,\n baseCostUnit: \"1 clip 8s\",\n creditCost: 30,\n },\n description: \"Wan 2.5 image-to-video fast\",\n agentVisible: true,\n },\n\n \"pixverse/pixverse-v5.6\": {\n id: \"pixverse/pixverse-v5.6\",\n name: \"PixVerse V5.6\",\n providerId: \"pixverse/pixverse-v5.6\",\n provider: \"replicate\",\n capabilities: {\n textToVideo: true,\n imageToVideo: true,\n subjectReference: false,\n audio: false,\n },\n maxDuration: 8,\n supportedResolutions: [\"720p\"],\n supportedAspectRatios: [\"16:9\", \"9:16\", \"1:1\"],\n pricing: {\n costPerClip: 0.06,\n costTier: \"low\",\n billingUnit: \"per_clip\",\n baseCost: 0.5,\n baseCostUnit: \"1 clip 8s\",\n creditCost: 50,\n },\n description: \"PixVerse V5.6\",\n agentVisible: true,\n },\n\n \"runwayml/gen-4.5\": {\n id: \"runwayml/gen-4.5\",\n name: \"Runway Gen 4.5\",\n providerId: \"runwayml/gen-4.5\",\n provider: \"replicate\",\n capabilities: {\n textToVideo: true,\n imageToVideo: true,\n subjectReference: false,\n audio: false,\n },\n maxDuration: 10,\n supportedResolutions: [\"720p\", \"1080p\"],\n supportedAspectRatios: [\"16:9\", \"9:16\", \"1:1\"],\n pricing: {\n costPerClip: 0.25,\n costTier: \"medium\",\n billingUnit: \"per_clip\",\n baseCost: 1.0,\n baseCostUnit: \"1 clip 5s\",\n creditCost: 100,\n multipliers: { duration: { 5: 1.0, 10: 2.0 } },\n creditMultipliers: { duration: { 5: 1.0, 10: 2.0 } },\n },\n description: \"Runway Gen 4.5\",\n agentVisible: true,\n },\n\n // ─── UGC / Talking Head models ────────────────────────────────────────────\n\n \"veed/fabric-1.0\": {\n id: \"veed/fabric-1.0\",\n name: \"Fabric 1.0 (Lip-Sync)\",\n providerId: \"veed/fabric-1.0\",\n provider: \"replicate\",\n capabilities: {\n textToVideo: false,\n imageToVideo: false,\n subjectReference: false,\n audio: true,\n },\n maxDuration: 60,\n supportedResolutions: [\"720p\"],\n supportedAspectRatios: [\"9:16\", \"16:9\"],\n pricing: {\n costPerClip: 0.05,\n costTier: \"low\",\n billingUnit: \"per_second\",\n baseCost: 0.1,\n baseCostUnit: \"1 second of output video\",\n creditCost: 10,\n },\n description: \"Talking head lip-sync from photo + audio (up to 60s)\",\n agentVisible: false,\n },\n\n \"pixverse/lipsync\": {\n id: \"pixverse/lipsync\",\n name: \"PixVerse Lip-Sync\",\n providerId: \"pixverse/lipsync\",\n provider: \"replicate\",\n capabilities: {\n textToVideo: false,\n imageToVideo: false,\n subjectReference: false,\n audio: true,\n },\n maxDuration: 30,\n supportedResolutions: [\"720p\"],\n supportedAspectRatios: [\"9:16\", \"16:9\"],\n pricing: {\n costPerClip: 0.05,\n costTier: \"low\",\n billingUnit: \"per_second\",\n baseCost: 0.1,\n baseCostUnit: \"1 second of output video\",\n creditCost: 10,\n },\n description: \"PixVerse lip-sync (same image/audio params as fabric-1.0)\",\n agentVisible: false,\n },\n\n \"bytedance/dreamactor-m2.0\": {\n id: \"bytedance/dreamactor-m2.0\",\n name: \"DreamActor M2.0\",\n providerId: \"bytedance/dreamactor-m2.0\",\n provider: \"replicate\",\n capabilities: {\n textToVideo: false,\n imageToVideo: false,\n subjectReference: false,\n audio: false,\n },\n maxDuration: 10,\n supportedResolutions: [\"720p\"],\n supportedAspectRatios: [\"9:16\", \"16:9\"],\n pricing: {\n costPerClip: 0.1,\n costTier: \"low\",\n billingUnit: \"per_second\",\n baseCost: 0.1,\n baseCostUnit: \"1 second of output video\",\n creditCost: 10,\n },\n description: \"Motion transfer: animate any character from driving video\",\n agentVisible: false,\n },\n\n // ─── Legacy / superseded — not exposed to agents ─────────────────────────\n\n \"kwaivgi/kling-v2.5-turbo-pro\": {\n id: \"kwaivgi/kling-v2.5-turbo-pro\",\n name: \"Kling V2.5 Turbo Pro\",\n providerId: \"kwaivgi/kling-v2.5-turbo-pro\",\n provider: \"replicate\",\n capabilities: {\n textToVideo: true,\n imageToVideo: true,\n subjectReference: false,\n audio: false,\n },\n maxDuration: 10,\n supportedResolutions: [\"720p\"],\n supportedAspectRatios: [\"16:9\", \"9:16\"],\n pricing: {\n costPerClip: 0.07,\n costTier: \"low\",\n billingUnit: \"per_clip\",\n baseCost: 0.4,\n baseCostUnit: \"1 clip 10s\",\n creditCost: 40,\n },\n description: \"Fast and cheap (superseded by v3)\",\n agentVisible: false,\n },\n\n \"luma/ray-flash-2-540p\": {\n id: \"luma/ray-flash-2-540p\",\n name: \"Luma Ray Flash 2\",\n providerId: \"luma/ray-flash-2-540p\",\n provider: \"replicate\",\n capabilities: {\n textToVideo: true,\n imageToVideo: true,\n subjectReference: false,\n audio: false,\n },\n maxDuration: 9,\n supportedResolutions: [\"720p\"],\n supportedAspectRatios: [\n \"1:1\",\n \"3:4\",\n \"4:3\",\n \"9:16\",\n \"16:9\",\n \"9:21\",\n \"21:9\",\n ],\n pricing: {\n costPerClip: 0.05,\n costTier: \"low\",\n billingUnit: \"per_clip\",\n baseCost: 0.4,\n baseCostUnit: \"1 clip 9s\",\n creditCost: 40,\n },\n description: \"Luma Ray Flash 2 (less used)\",\n agentVisible: false,\n },\n}\n\n// ─── Derived arrays ────────────────────────────────────────────────────────\n\n/** All video model IDs */\nexport const VIDEO_MODEL_IDS = Object.keys(VIDEO_MODEL_CATALOG) as [\n string,\n ...string[],\n]\n\n/** Agent-visible video model IDs */\nexport const AGENT_VIDEO_MODEL_IDS = Object.entries(VIDEO_MODEL_CATALOG)\n .filter(([, m]) => m.agentVisible)\n .map(([id]) => id) as [string, ...string[]]\n\n/** Generate a markdown table of agent-visible video models for prompt blocks */\nexport function generateVideoModelTable(): string {\n return Object.values(VIDEO_MODEL_CATALOG)\n .filter(m => m.agentVisible)\n .map(\n m =>\n `| \\`${m.id}\\` | ~$${m.pricing.costPerClip}/clip | ${m.description} |`\n )\n .join(\"\\n\")\n}\n"]}