@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,643 @@
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/image/catalog.ts
8
+ var IMAGE_MODEL_CATALOG = {
9
+ // ─── Active agent-visible models ─────────────────────────────────────────
10
+ "nano-banana-pro": {
11
+ id: "nano-banana-pro",
12
+ name: "Nano Banana Pro",
13
+ providerId: "google/nano-banana-pro",
14
+ provider: "replicate",
15
+ capabilities: { generate: true, edit: true },
16
+ referenceImages: {
17
+ supported: true,
18
+ fieldName: "image_input",
19
+ maxCount: 14,
20
+ singular: false
21
+ },
22
+ aspectRatio: {
23
+ supported: [
24
+ "1:1",
25
+ "9:16",
26
+ "16:9",
27
+ "2:3",
28
+ "3:2",
29
+ "3:4",
30
+ "4:3",
31
+ "4:5",
32
+ "5:4",
33
+ "21:9"
34
+ ],
35
+ default: "match_input_image"
36
+ },
37
+ output: "string",
38
+ pricing: {
39
+ costPerImage: 0.15,
40
+ costTier: "high",
41
+ billingUnit: "per_image",
42
+ baseCost: 0.15,
43
+ creditCost: 10
44
+ },
45
+ description: "Best quality, excellent text rendering (Gemini Pro)",
46
+ agentVisible: true
47
+ },
48
+ "nano-banana-2": {
49
+ id: "nano-banana-2",
50
+ name: "Nano Banana 2",
51
+ providerId: "google/nano-banana-2",
52
+ provider: "replicate",
53
+ capabilities: { generate: true, edit: true },
54
+ referenceImages: {
55
+ supported: true,
56
+ fieldName: "image_input",
57
+ maxCount: 4,
58
+ singular: false
59
+ },
60
+ aspectRatio: {
61
+ supported: [
62
+ "1:1",
63
+ "9:16",
64
+ "16:9",
65
+ "2:3",
66
+ "3:2",
67
+ "3:4",
68
+ "4:3",
69
+ "4:5",
70
+ "5:4"
71
+ ],
72
+ default: "match_input_image"
73
+ },
74
+ output: "string",
75
+ pricing: {
76
+ costPerImage: 0.06,
77
+ costTier: "medium",
78
+ billingUnit: "per_image",
79
+ baseCost: 0.06,
80
+ creditCost: 5
81
+ },
82
+ description: "Higher quality, supports up to 4K resolution (Gemini 2.5 Pro)",
83
+ agentVisible: true
84
+ },
85
+ "nano-banana": {
86
+ id: "nano-banana",
87
+ name: "Nano Banana",
88
+ providerId: "google/nano-banana",
89
+ provider: "replicate",
90
+ capabilities: { generate: true, edit: true },
91
+ referenceImages: {
92
+ supported: true,
93
+ fieldName: "image_input",
94
+ maxCount: 4,
95
+ singular: false
96
+ },
97
+ aspectRatio: {
98
+ supported: ["1:1", "9:16", "16:9", "2:3", "3:2", "3:4", "4:3"],
99
+ default: "match_input_image"
100
+ },
101
+ output: "string",
102
+ pricing: {
103
+ costPerImage: 0.04,
104
+ costTier: "low",
105
+ billingUnit: "per_image",
106
+ baseCost: 0.04,
107
+ creditCost: 5
108
+ },
109
+ description: "Fast generation (Gemini Flash), good for bulk",
110
+ agentVisible: true
111
+ },
112
+ "flux-2-dev": {
113
+ id: "flux-2-dev",
114
+ name: "Flux 2 Dev",
115
+ providerId: "black-forest-labs/flux-2-dev",
116
+ provider: "replicate",
117
+ capabilities: { generate: true, edit: true },
118
+ referenceImages: {
119
+ supported: true,
120
+ fieldName: "input_images",
121
+ maxCount: 5,
122
+ singular: false
123
+ },
124
+ aspectRatio: {
125
+ supported: [
126
+ "1:1",
127
+ "9:16",
128
+ "16:9",
129
+ "2:3",
130
+ "3:2",
131
+ "3:4",
132
+ "4:3",
133
+ "4:5",
134
+ "5:4"
135
+ ],
136
+ default: "1:1"
137
+ },
138
+ output: "string",
139
+ pricing: {
140
+ costPerImage: 0.03,
141
+ costTier: "low",
142
+ billingUnit: "per_image",
143
+ baseCost: 0.03,
144
+ creditCost: 3
145
+ },
146
+ description: "General purpose, fast, good quality",
147
+ agentVisible: true
148
+ },
149
+ "flux-kontext-pro": {
150
+ id: "flux-kontext-pro",
151
+ name: "Flux Kontext Pro",
152
+ providerId: "black-forest-labs/flux-kontext-pro",
153
+ provider: "replicate",
154
+ capabilities: { generate: true, edit: true },
155
+ referenceImages: {
156
+ supported: true,
157
+ fieldName: "input_image",
158
+ maxCount: 1,
159
+ singular: true
160
+ },
161
+ aspectRatio: {
162
+ supported: ["1:1", "9:16", "16:9", "2:3", "3:2", "3:4", "4:3"],
163
+ default: "1:1"
164
+ },
165
+ output: "string",
166
+ pricing: {
167
+ costPerImage: 0.04,
168
+ costTier: "low",
169
+ billingUnit: "per_image",
170
+ baseCost: 0.04,
171
+ creditCost: 5
172
+ },
173
+ description: "Character consistency with reference images (edit mode)",
174
+ agentVisible: true
175
+ },
176
+ "flux-kontext-max": {
177
+ id: "flux-kontext-max",
178
+ name: "Flux Kontext Max",
179
+ providerId: "black-forest-labs/flux-kontext-max",
180
+ provider: "replicate",
181
+ capabilities: { generate: true, edit: true },
182
+ referenceImages: {
183
+ supported: true,
184
+ fieldName: "input_image",
185
+ maxCount: 1,
186
+ singular: true
187
+ },
188
+ aspectRatio: {
189
+ supported: ["1:1", "9:16", "16:9", "2:3", "3:2", "3:4", "4:3"],
190
+ default: "1:1"
191
+ },
192
+ output: "string",
193
+ pricing: {
194
+ costPerImage: 0.08,
195
+ costTier: "medium",
196
+ billingUnit: "per_image",
197
+ baseCost: 0.08,
198
+ creditCost: 8
199
+ },
200
+ description: "Higher quality kontext editing",
201
+ agentVisible: true
202
+ },
203
+ "seedream-4": {
204
+ id: "seedream-4",
205
+ name: "SeedReam 4",
206
+ providerId: "bytedance/seedream-4",
207
+ provider: "replicate",
208
+ capabilities: { generate: true, edit: true },
209
+ referenceImages: {
210
+ supported: true,
211
+ fieldName: "image_input",
212
+ maxCount: 10,
213
+ singular: false
214
+ },
215
+ aspectRatio: {
216
+ supported: ["1:1", "9:16", "16:9", "2:3", "3:2", "3:4", "4:3"],
217
+ default: "1:1"
218
+ },
219
+ output: "string",
220
+ pricing: {
221
+ costPerImage: 0.03,
222
+ costTier: "low",
223
+ billingUnit: "per_image",
224
+ baseCost: 0.03,
225
+ creditCost: 3
226
+ },
227
+ description: "Photorealistic, good for landscapes",
228
+ agentVisible: true
229
+ },
230
+ recraft: {
231
+ id: "recraft",
232
+ name: "Recraft V3",
233
+ providerId: "recraft-ai/recraft-v3",
234
+ provider: "replicate",
235
+ capabilities: { generate: true, edit: false },
236
+ referenceImages: {
237
+ supported: false,
238
+ fieldName: "none",
239
+ maxCount: 0,
240
+ singular: false
241
+ },
242
+ aspectRatio: { supported: ["1:1"], default: "1:1" },
243
+ output: "string",
244
+ pricing: {
245
+ costPerImage: 0.04,
246
+ costTier: "low",
247
+ billingUnit: "per_image",
248
+ baseCost: 0.04,
249
+ creditCost: 5
250
+ },
251
+ description: "Stylized illustrations and designs",
252
+ agentVisible: true
253
+ },
254
+ minimax: {
255
+ id: "minimax",
256
+ name: "MiniMax Image",
257
+ providerId: "minimax/image-01",
258
+ provider: "minimax",
259
+ capabilities: { generate: true, edit: false },
260
+ referenceImages: {
261
+ supported: false,
262
+ fieldName: "none",
263
+ maxCount: 0,
264
+ singular: false
265
+ },
266
+ aspectRatio: {
267
+ supported: ["1:1", "9:16", "16:9", "3:4", "4:3"],
268
+ default: "1:1"
269
+ },
270
+ output: "array",
271
+ pricing: {
272
+ costPerImage: 0.02,
273
+ costTier: "low",
274
+ billingUnit: "per_image",
275
+ baseCost: 0.02,
276
+ creditCost: 2
277
+ },
278
+ description: "Very fast, cheaper",
279
+ agentVisible: true
280
+ },
281
+ "avatar-001": {
282
+ id: "avatar-001",
283
+ name: "Avatar Model 001",
284
+ providerId: "agentiknet/avatar-model-001",
285
+ provider: "replicate",
286
+ capabilities: { generate: true, edit: true },
287
+ referenceImages: {
288
+ supported: true,
289
+ fieldName: "image_input",
290
+ maxCount: 1,
291
+ singular: true
292
+ },
293
+ aspectRatio: {
294
+ supported: [
295
+ "1:1",
296
+ "16:9",
297
+ "21:9",
298
+ "3:2",
299
+ "2:3",
300
+ "4:5",
301
+ "5:4",
302
+ "3:4",
303
+ "4:3",
304
+ "9:16",
305
+ "9:21"
306
+ ],
307
+ default: "1:1"
308
+ },
309
+ output: "array",
310
+ pricing: {
311
+ costPerImage: 0.03,
312
+ costTier: "low",
313
+ billingUnit: "per_image",
314
+ baseCost: 0.03,
315
+ creditCost: 3
316
+ },
317
+ description: "Fine-tuned avatar model (trigger word: TOK)",
318
+ agentVisible: true,
319
+ triggerWord: "TOK"
320
+ },
321
+ "flux-1.1-pro-ultra": {
322
+ id: "flux-1.1-pro-ultra",
323
+ name: "Flux 1.1 Pro Ultra",
324
+ providerId: "black-forest-labs/flux-1.1-pro-ultra",
325
+ provider: "replicate",
326
+ capabilities: { generate: true, edit: false },
327
+ referenceImages: {
328
+ supported: false,
329
+ fieldName: "none",
330
+ maxCount: 0,
331
+ singular: false
332
+ },
333
+ aspectRatio: {
334
+ supported: ["1:1", "9:16", "16:9", "21:9", "9:21", "3:4", "4:3"],
335
+ default: "1:1"
336
+ },
337
+ output: "string",
338
+ pricing: {
339
+ costPerImage: 0.06,
340
+ costTier: "medium",
341
+ billingUnit: "per_image",
342
+ baseCost: 0.06,
343
+ creditCost: 8
344
+ },
345
+ description: "Highest-fidelity Flux (4MP, photorealistic)",
346
+ agentVisible: true
347
+ },
348
+ "gpt-image-1": {
349
+ id: "gpt-image-1",
350
+ name: "OpenAI GPT Image 1",
351
+ providerId: "openai/gpt-image-1",
352
+ provider: "openai",
353
+ capabilities: { generate: true, edit: true },
354
+ referenceImages: {
355
+ supported: true,
356
+ fieldName: "input_image",
357
+ maxCount: 1,
358
+ singular: true
359
+ },
360
+ aspectRatio: {
361
+ supported: ["1:1", "2:3", "3:2"],
362
+ default: "1:1"
363
+ },
364
+ output: "string",
365
+ pricing: {
366
+ costPerImage: 0.04,
367
+ costTier: "low",
368
+ billingUnit: "per_image",
369
+ baseCost: 0.04,
370
+ creditCost: 5
371
+ },
372
+ description: "OpenAI native image gen (text-aware, edit-capable)",
373
+ agentVisible: true
374
+ },
375
+ // ─── Google Imagen (native Gemini API, provider="google") ────────────────
376
+ // Source: https://ai.google.dev/gemini-api/docs/pricing (fetched 2026-05-29)
377
+ // — Imagen 4: Fast $0.02/image, Standard $0.04/image, Ultra $0.06/image.
378
+ // Native Gemini API (not replicate-hosted); text-to-image, no reference input.
379
+ "imagen-4-fast": {
380
+ id: "imagen-4-fast",
381
+ name: "Imagen 4 Fast",
382
+ providerId: "imagen-4.0-fast-generate-001",
383
+ provider: "google",
384
+ capabilities: { generate: true, edit: false },
385
+ referenceImages: {
386
+ supported: false,
387
+ fieldName: "none",
388
+ maxCount: 0,
389
+ singular: false
390
+ },
391
+ aspectRatio: {
392
+ supported: ["1:1", "9:16", "16:9", "3:4", "4:3"],
393
+ default: "1:1"
394
+ },
395
+ output: "array",
396
+ pricing: {
397
+ costPerImage: 0.02,
398
+ costTier: "low",
399
+ billingUnit: "per_image",
400
+ baseCost: 0.02
401
+ },
402
+ description: "Google Imagen 4 fast tier \u2014 cheapest, lower latency",
403
+ agentVisible: true
404
+ },
405
+ "imagen-4": {
406
+ id: "imagen-4",
407
+ name: "Imagen 4",
408
+ providerId: "imagen-4.0-generate-001",
409
+ provider: "google",
410
+ capabilities: { generate: true, edit: false },
411
+ referenceImages: {
412
+ supported: false,
413
+ fieldName: "none",
414
+ maxCount: 0,
415
+ singular: false
416
+ },
417
+ aspectRatio: {
418
+ supported: ["1:1", "9:16", "16:9", "3:4", "4:3"],
419
+ default: "1:1"
420
+ },
421
+ output: "array",
422
+ pricing: {
423
+ costPerImage: 0.04,
424
+ costTier: "low",
425
+ billingUnit: "per_image",
426
+ baseCost: 0.04
427
+ },
428
+ description: "Google Imagen 4 standard \u2014 photorealistic text-to-image",
429
+ agentVisible: true
430
+ },
431
+ "imagen-4-ultra": {
432
+ id: "imagen-4-ultra",
433
+ name: "Imagen 4 Ultra",
434
+ providerId: "imagen-4.0-ultra-generate-001",
435
+ provider: "google",
436
+ capabilities: { generate: true, edit: false },
437
+ referenceImages: {
438
+ supported: false,
439
+ fieldName: "none",
440
+ maxCount: 0,
441
+ singular: false
442
+ },
443
+ aspectRatio: {
444
+ supported: ["1:1", "9:16", "16:9", "3:4", "4:3"],
445
+ default: "1:1"
446
+ },
447
+ output: "array",
448
+ pricing: {
449
+ costPerImage: 0.06,
450
+ costTier: "medium",
451
+ billingUnit: "per_image",
452
+ baseCost: 0.06
453
+ },
454
+ description: "Google Imagen 4 ultra \u2014 highest fidelity tier",
455
+ agentVisible: true
456
+ },
457
+ "ideogram-v3": {
458
+ id: "ideogram-v3",
459
+ name: "Ideogram v3",
460
+ providerId: "ideogram-ai/ideogram-v3-turbo",
461
+ provider: "replicate",
462
+ capabilities: { generate: true, edit: false },
463
+ referenceImages: {
464
+ supported: false,
465
+ fieldName: "none",
466
+ maxCount: 0,
467
+ singular: false
468
+ },
469
+ aspectRatio: {
470
+ supported: ["1:1", "9:16", "16:9", "2:3", "3:2"],
471
+ default: "1:1"
472
+ },
473
+ output: "string",
474
+ pricing: {
475
+ costPerImage: 0.03,
476
+ costTier: "low",
477
+ billingUnit: "per_image",
478
+ baseCost: 0.03,
479
+ creditCost: 4
480
+ },
481
+ description: "Excellent text rendering, posters & infographics",
482
+ agentVisible: true
483
+ },
484
+ // ─── Legacy / less-used — still functional but not exposed to agents ──────
485
+ flux: {
486
+ id: "flux",
487
+ name: "Flux 1.1 Pro",
488
+ providerId: "black-forest-labs/flux-1.1-pro",
489
+ provider: "replicate",
490
+ capabilities: { generate: true, edit: false },
491
+ referenceImages: {
492
+ supported: false,
493
+ fieldName: "none",
494
+ maxCount: 0,
495
+ singular: false
496
+ },
497
+ aspectRatio: { supported: ["1:1", "9:16", "16:9"], default: "1:1" },
498
+ output: "string",
499
+ pricing: {
500
+ costPerImage: 0.04,
501
+ costTier: "low",
502
+ billingUnit: "per_image",
503
+ baseCost: 0.04,
504
+ creditCost: 5
505
+ },
506
+ description: "Legacy Flux model",
507
+ agentVisible: false
508
+ },
509
+ sdxl: {
510
+ id: "sdxl",
511
+ name: "SDXL",
512
+ providerId: "stability-ai/sdxl:39ed52f2a78e934b3ba6e2a89f5b1c712de7dfea535525255b1aa35c5565e08b",
513
+ provider: "replicate",
514
+ capabilities: { generate: true, edit: false },
515
+ referenceImages: {
516
+ supported: false,
517
+ fieldName: "none",
518
+ maxCount: 0,
519
+ singular: false
520
+ },
521
+ aspectRatio: { supported: ["1:1"], default: "1:1" },
522
+ output: "array",
523
+ pricing: {
524
+ costPerImage: 0.01,
525
+ costTier: "low",
526
+ billingUnit: "per_image",
527
+ baseCost: 0.01,
528
+ creditCost: 1
529
+ },
530
+ description: "Stable Diffusion XL",
531
+ agentVisible: false
532
+ },
533
+ sd3: {
534
+ id: "sd3",
535
+ name: "SD3",
536
+ providerId: "stability-ai/stable-diffusion-3:72c05df2daf615fb5cc07c28b662a2a58feb6a4d0a652e67e5a9959d914a9ed2",
537
+ provider: "replicate",
538
+ capabilities: { generate: true, edit: false },
539
+ referenceImages: {
540
+ supported: false,
541
+ fieldName: "none",
542
+ maxCount: 0,
543
+ singular: false
544
+ },
545
+ aspectRatio: { supported: ["1:1", "9:16", "16:9"], default: "1:1" },
546
+ output: "array",
547
+ pricing: {
548
+ costPerImage: 0.03,
549
+ costTier: "low",
550
+ billingUnit: "per_image",
551
+ baseCost: 0.03,
552
+ creditCost: 3
553
+ },
554
+ description: "Stable Diffusion 3",
555
+ agentVisible: false
556
+ },
557
+ sana: {
558
+ id: "sana",
559
+ name: "SANA",
560
+ providerId: "nvidia/sana",
561
+ provider: "replicate",
562
+ capabilities: { generate: true, edit: false },
563
+ referenceImages: {
564
+ supported: false,
565
+ fieldName: "none",
566
+ maxCount: 0,
567
+ singular: false
568
+ },
569
+ aspectRatio: { supported: ["1:1"], default: "1:1" },
570
+ output: "array",
571
+ pricing: {
572
+ costPerImage: 0.02,
573
+ costTier: "low",
574
+ billingUnit: "per_image",
575
+ baseCost: 0.02,
576
+ creditCost: 2
577
+ },
578
+ description: "NVIDIA SANA model",
579
+ agentVisible: false
580
+ },
581
+ sticker: {
582
+ id: "sticker",
583
+ name: "Sticker Maker",
584
+ providerId: "fofr/sticker-maker:58a7099052ed9928ee6a65559caa790bfa8909841261ef588686660189eb9dc8",
585
+ provider: "replicate",
586
+ capabilities: { generate: true, edit: false },
587
+ referenceImages: {
588
+ supported: false,
589
+ fieldName: "none",
590
+ maxCount: 0,
591
+ singular: false
592
+ },
593
+ aspectRatio: { supported: ["1:1"], default: "1:1" },
594
+ output: "array",
595
+ pricing: {
596
+ costPerImage: 0.01,
597
+ costTier: "low",
598
+ billingUnit: "per_image",
599
+ baseCost: 0.01,
600
+ creditCost: 1
601
+ },
602
+ description: "Sticker generation",
603
+ agentVisible: false
604
+ },
605
+ selfie: {
606
+ id: "selfie",
607
+ name: "Selfie Generator",
608
+ providerId: "fofr/pulid-base:65ea75658bf120abbbdacab07e89e78a74a6a1b1f504349f4c4e3b01a655ee7a",
609
+ provider: "replicate",
610
+ capabilities: { generate: true, edit: false },
611
+ referenceImages: {
612
+ supported: false,
613
+ fieldName: "none",
614
+ maxCount: 0,
615
+ singular: false
616
+ },
617
+ aspectRatio: { supported: ["1:1"], default: "1:1" },
618
+ output: "array",
619
+ pricing: {
620
+ costPerImage: 0.02,
621
+ costTier: "low",
622
+ billingUnit: "per_image",
623
+ baseCost: 0.02,
624
+ creditCost: 2
625
+ },
626
+ description: "Face-driven selfie generation",
627
+ agentVisible: false
628
+ }
629
+ };
630
+ var IMAGE_MODEL_IDS = Object.keys(IMAGE_MODEL_CATALOG);
631
+ var AGENT_IMAGE_MODEL_IDS = Object.entries(IMAGE_MODEL_CATALOG).filter(([, m]) => m.agentVisible).map(([id]) => id);
632
+ var AGENT_GENERATIVE_MODEL_IDS = Object.entries(IMAGE_MODEL_CATALOG).filter(([, m]) => m.agentVisible && m.capabilities.generate).map(([id]) => id);
633
+ var AGENT_EDITABLE_MODEL_IDS = Object.entries(IMAGE_MODEL_CATALOG).filter(([, m]) => m.agentVisible && m.capabilities.edit).map(([id]) => id);
634
+ function generateImageModelTable() {
635
+ return Object.values(IMAGE_MODEL_CATALOG).filter((m) => m.agentVisible).map((m) => {
636
+ const trigger = m.triggerWord ? ` \u26A0\uFE0F Trigger word: \`${m.triggerWord}\`` : "";
637
+ return `| \`${m.id}\` | ~$${m.pricing.costPerImage} | ${m.description}${trigger} |`;
638
+ }).join("\n");
639
+ }
640
+
641
+ export { AGENT_EDITABLE_MODEL_IDS, AGENT_GENERATIVE_MODEL_IDS, AGENT_IMAGE_MODEL_IDS, IMAGE_MODEL_CATALOG, IMAGE_MODEL_IDS, generateImageModelTable };
642
+ //# sourceMappingURL=chunk-2LWYZOWB.mjs.map
643
+ //# sourceMappingURL=chunk-2LWYZOWB.mjs.map