@llmgateway/models 1.286.1 → 1.287.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.
@@ -10,6 +10,25 @@ const REQUIRED_OUTPUT_BY_FLAG = [
10
10
  { flag: "rerank", output: "rerank" },
11
11
  ];
12
12
  describe("model metadata", () => {
13
+ it("keeps the Gemini 3.1 Flash Image preview ID as a stable-model alias", () => {
14
+ const stableModel = models.find((model) => model.id === "gemini-3.1-flash-image");
15
+ const previewModel = models.find((model) => model.id === "gemini-3.1-flash-image-preview");
16
+ expect(stableModel).toBeDefined();
17
+ expect(previewModel).toBeDefined();
18
+ const expectedMappings = [
19
+ ["google-ai-studio", "gemini-3.1-flash-image"],
20
+ ["glacier", "gemini-3.1-flash-image-preview"],
21
+ ["google-vertex", "gemini-3.1-flash-image"],
22
+ ["quartz", "gemini-3.1-flash-image"],
23
+ ];
24
+ for (const model of [stableModel, previewModel]) {
25
+ expect(model?.providers.map((provider) => [
26
+ provider.providerId,
27
+ provider.externalId,
28
+ ])).toEqual(expectedMappings);
29
+ }
30
+ expect(previewModel?.providers).toEqual(stableModel?.providers);
31
+ });
13
32
  it("keeps the Gemini 3 Pro Image preview ID as a stable-model alias", () => {
14
33
  const stableModel = models.find((model) => model.id === "gemini-3-pro-image");
15
34
  const previewModel = models.find((model) => model.id === "gemini-3-pro-image-preview");
@@ -1 +1 @@
1
- {"version":3,"file":"model-metadata.spec.js","sourceRoot":"","sources":["../src/model-metadata.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAWrC,MAAM,uBAAuB,GAGvB;IACL,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,OAAO,EAAE;IAC7C,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE;IAC3C,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,OAAO,EAAE;IAC9C,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,EAAE,OAAO,EAAE;IAC7C,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE;IAC9B,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,eAAe,EAAE;IACnD,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE;CACpC,CAAC;AAEF,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC/B,EAAE,CAAC,iEAAiE,EAAE,GAAG,EAAE;QAC1E,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAC9B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,oBAAoB,CAC5C,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAC/B,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,4BAA4B,CACpD,CAAC;QAEF,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE,CAAC;QAClC,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,gBAAgB,GAAG;YACxB,CAAC,kBAAkB,EAAE,oBAAoB,CAAC;YAC1C,CAAC,SAAS,EAAE,4BAA4B,CAAC;YACzC,CAAC,SAAS,EAAE,4BAA4B,CAAC;YACzC,CAAC,eAAe,EAAE,oBAAoB,CAAC;YACvC,CAAC,QAAQ,EAAE,oBAAoB,CAAC;SAChC,CAAC;QAEF,KAAK,MAAM,KAAK,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,EAAE,CAAC;YACjD,MAAM,CACL,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC;gBAClC,QAAQ,CAAC,UAAU;gBACnB,QAAQ,CAAC,UAAU;aACnB,CAAC,CACF,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAC7B,CAAC;IACF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QACjD,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,UAAU,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,MAAM,EAAE,SAAS,CAAC,IAAI,CACnC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,KAAK,kBAAkB,CACxD,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,CAAC;YAC3B,WAAW,EAAE,MAAM;YACnB,SAAS,EAAE,KAAK;SAChB,CAAC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC1C,MAAM,OAAO,GAAG,MAAM;aACpB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;aACpC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAE3B,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACnD,MAAM,OAAO,GAAG,MAAM;aACpB,MAAM,CACN,CAAC,KAAK,EAAE,EAAE,CACT,KAAK,CAAC,UAAU,KAAK,SAAS;YAC9B,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,YAAY,IAAI,CAAC;gBACnC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,CAC3C;aACA,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAE3B,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACtE,MAAM,SAAS,GAAa,EAAE,CAAC;QAE/B,KAAK,MAAM,KAAK,IAAI,MAAoC,EAAE,CAAC;YAC1D,MAAM,OAAO,GAAa,KAAK,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC;YAEnD,KAAK,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,uBAAuB,EAAE,CAAC;gBACxD,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,CACnC,CAAC,QAAQ,EAAE,EAAE,CAAE,QAAiC,CAAC,IAAI,CAAC,KAAK,IAAI,CAC/D,CAAC;gBAEF,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBAC1C,SAAS,CAAC,IAAI,CACb,GAAG,KAAK,CAAC,EAAE,WAAW,IAAI,mBAAmB,MAAM,IAAI,CACvD,CAAC;gBACH,CAAC;YACF,CAAC;QACF,CAAC;QAED,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"model-metadata.spec.js","sourceRoot":"","sources":["../src/model-metadata.spec.ts"],"names":[],"mappings":"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"}
@@ -1294,21 +1294,22 @@ export declare const googleModels: [{
1294
1294
  readonly supportsVideoWithoutAudio: true;
1295
1295
  }];
1296
1296
  }, {
1297
- readonly id: "gemini-3.1-flash-image-preview";
1298
- readonly name: "Gemini 3.1 Flash Image (Preview)";
1299
- readonly description: "Preview of Gemini 3.1 Flash with native image generation capabilities.";
1297
+ readonly id: "gemini-3.1-flash-image";
1298
+ readonly name: "Gemini 3.1 Flash Image";
1299
+ readonly description: "Native image generation model optimized for fast, high-volume image creation and editing.";
1300
+ readonly aliases: ["nano banana 2"];
1300
1301
  readonly family: "google";
1301
1302
  readonly output: ["text", "image"];
1302
1303
  readonly releasedAt: Date;
1303
1304
  readonly providers: [{
1304
1305
  readonly test: "skip";
1305
1306
  readonly providerId: "google-ai-studio";
1306
- readonly externalId: "gemini-3.1-flash-image-preview";
1307
- readonly inputPrice: "0.25e-6";
1308
- readonly outputPrice: "1.5e-6";
1309
- readonly imageInputPrice: "0.25e-6";
1307
+ readonly externalId: "gemini-3.1-flash-image";
1308
+ readonly inputPrice: "0.5e-6";
1309
+ readonly outputPrice: "3e-6";
1310
+ readonly imageInputPrice: "0.5e-6";
1310
1311
  readonly imageInputTokensByResolution: {
1311
- readonly default: 560;
1312
+ readonly default: 1120;
1312
1313
  };
1313
1314
  readonly imageOutputPrice: "60e-6";
1314
1315
  readonly imageOutputTokensByResolution: {
@@ -1319,13 +1320,13 @@ export declare const googleModels: [{
1319
1320
  readonly default: 1120;
1320
1321
  };
1321
1322
  readonly requestPrice: "0";
1322
- readonly contextSize: 65536;
1323
- readonly maxOutput: 65536;
1323
+ readonly contextSize: 131072;
1324
+ readonly maxOutput: 32768;
1324
1325
  readonly streaming: true;
1325
1326
  readonly vision: true;
1326
1327
  readonly tools: false;
1327
- readonly jsonOutput: true;
1328
- readonly jsonOutputSchema: true;
1328
+ readonly jsonOutput: false;
1329
+ readonly jsonOutputSchema: false;
1329
1330
  }, {
1330
1331
  readonly test: "skip";
1331
1332
  readonly providerId: "glacier";
@@ -1355,14 +1356,14 @@ export declare const googleModels: [{
1355
1356
  }, {
1356
1357
  readonly test: "skip";
1357
1358
  readonly providerId: "google-vertex";
1358
- readonly externalId: "gemini-3.1-flash-image-preview";
1359
+ readonly externalId: "gemini-3.1-flash-image";
1359
1360
  readonly serviceTiers: ["flex"];
1360
1361
  readonly serviceTierRegions: ["global"];
1361
- readonly inputPrice: "0.25e-6";
1362
- readonly outputPrice: "1.5e-6";
1363
- readonly imageInputPrice: "0.25e-6";
1362
+ readonly inputPrice: "0.5e-6";
1363
+ readonly outputPrice: "3e-6";
1364
+ readonly imageInputPrice: "0.5e-6";
1364
1365
  readonly imageInputTokensByResolution: {
1365
- readonly default: 560;
1366
+ readonly default: 1120;
1366
1367
  };
1367
1368
  readonly imageOutputPrice: "60e-6";
1368
1369
  readonly imageOutputTokensByResolution: {
@@ -1373,16 +1374,76 @@ export declare const googleModels: [{
1373
1374
  readonly default: 1120;
1374
1375
  };
1375
1376
  readonly requestPrice: "0";
1376
- readonly contextSize: 65536;
1377
- readonly maxOutput: 65536;
1377
+ readonly contextSize: 131072;
1378
+ readonly maxOutput: 32768;
1378
1379
  readonly streaming: true;
1379
1380
  readonly vision: true;
1380
1381
  readonly tools: false;
1381
- readonly jsonOutput: true;
1382
- readonly jsonOutputSchema: true;
1382
+ readonly jsonOutput: false;
1383
+ readonly jsonOutputSchema: false;
1383
1384
  }, {
1384
1385
  readonly test: "skip";
1385
1386
  readonly providerId: "quartz";
1387
+ readonly externalId: "gemini-3.1-flash-image";
1388
+ readonly inputPrice: "0.5e-6";
1389
+ readonly outputPrice: "3e-6";
1390
+ readonly imageInputPrice: "0.5e-6";
1391
+ readonly imageInputTokensByResolution: {
1392
+ readonly default: 1120;
1393
+ };
1394
+ readonly imageOutputPrice: "60e-6";
1395
+ readonly imageOutputTokensByResolution: {
1396
+ readonly "0.5K": 747;
1397
+ readonly "1K": 1120;
1398
+ readonly "2K": 1680;
1399
+ readonly "4K": 2520;
1400
+ readonly default: 1120;
1401
+ };
1402
+ readonly requestPrice: "0";
1403
+ readonly contextSize: 131072;
1404
+ readonly maxOutput: 32768;
1405
+ readonly streaming: true;
1406
+ readonly vision: true;
1407
+ readonly tools: false;
1408
+ readonly jsonOutput: false;
1409
+ readonly jsonOutputSchema: false;
1410
+ }];
1411
+ }, {
1412
+ readonly id: "gemini-3.1-flash-image-preview";
1413
+ readonly name: "Gemini 3.1 Flash Image (Preview)";
1414
+ readonly description: "Preview of Gemini 3.1 Flash with native image generation capabilities.";
1415
+ readonly family: "google";
1416
+ readonly output: ["text", "image"];
1417
+ readonly releasedAt: Date;
1418
+ readonly providers: [{
1419
+ readonly test: "skip";
1420
+ readonly providerId: "google-ai-studio";
1421
+ readonly externalId: "gemini-3.1-flash-image";
1422
+ readonly inputPrice: "0.5e-6";
1423
+ readonly outputPrice: "3e-6";
1424
+ readonly imageInputPrice: "0.5e-6";
1425
+ readonly imageInputTokensByResolution: {
1426
+ readonly default: 1120;
1427
+ };
1428
+ readonly imageOutputPrice: "60e-6";
1429
+ readonly imageOutputTokensByResolution: {
1430
+ readonly "0.5K": 747;
1431
+ readonly "1K": 1120;
1432
+ readonly "2K": 1680;
1433
+ readonly "4K": 2520;
1434
+ readonly default: 1120;
1435
+ };
1436
+ readonly requestPrice: "0";
1437
+ readonly contextSize: 131072;
1438
+ readonly maxOutput: 32768;
1439
+ readonly streaming: true;
1440
+ readonly vision: true;
1441
+ readonly tools: false;
1442
+ readonly jsonOutput: false;
1443
+ readonly jsonOutputSchema: false;
1444
+ }, {
1445
+ readonly test: "skip";
1446
+ readonly providerId: "glacier";
1386
1447
  readonly externalId: "gemini-3.1-flash-image-preview";
1387
1448
  readonly inputPrice: "0.25e-6";
1388
1449
  readonly outputPrice: "1.5e-6";
@@ -1406,6 +1467,60 @@ export declare const googleModels: [{
1406
1467
  readonly tools: false;
1407
1468
  readonly jsonOutput: true;
1408
1469
  readonly jsonOutputSchema: true;
1470
+ }, {
1471
+ readonly test: "skip";
1472
+ readonly providerId: "google-vertex";
1473
+ readonly externalId: "gemini-3.1-flash-image";
1474
+ readonly serviceTiers: ["flex"];
1475
+ readonly serviceTierRegions: ["global"];
1476
+ readonly inputPrice: "0.5e-6";
1477
+ readonly outputPrice: "3e-6";
1478
+ readonly imageInputPrice: "0.5e-6";
1479
+ readonly imageInputTokensByResolution: {
1480
+ readonly default: 1120;
1481
+ };
1482
+ readonly imageOutputPrice: "60e-6";
1483
+ readonly imageOutputTokensByResolution: {
1484
+ readonly "0.5K": 747;
1485
+ readonly "1K": 1120;
1486
+ readonly "2K": 1680;
1487
+ readonly "4K": 2520;
1488
+ readonly default: 1120;
1489
+ };
1490
+ readonly requestPrice: "0";
1491
+ readonly contextSize: 131072;
1492
+ readonly maxOutput: 32768;
1493
+ readonly streaming: true;
1494
+ readonly vision: true;
1495
+ readonly tools: false;
1496
+ readonly jsonOutput: false;
1497
+ readonly jsonOutputSchema: false;
1498
+ }, {
1499
+ readonly test: "skip";
1500
+ readonly providerId: "quartz";
1501
+ readonly externalId: "gemini-3.1-flash-image";
1502
+ readonly inputPrice: "0.5e-6";
1503
+ readonly outputPrice: "3e-6";
1504
+ readonly imageInputPrice: "0.5e-6";
1505
+ readonly imageInputTokensByResolution: {
1506
+ readonly default: 1120;
1507
+ };
1508
+ readonly imageOutputPrice: "60e-6";
1509
+ readonly imageOutputTokensByResolution: {
1510
+ readonly "0.5K": 747;
1511
+ readonly "1K": 1120;
1512
+ readonly "2K": 1680;
1513
+ readonly "4K": 2520;
1514
+ readonly default: 1120;
1515
+ };
1516
+ readonly requestPrice: "0";
1517
+ readonly contextSize: 131072;
1518
+ readonly maxOutput: 32768;
1519
+ readonly streaming: true;
1520
+ readonly vision: true;
1521
+ readonly tools: false;
1522
+ readonly jsonOutput: false;
1523
+ readonly jsonOutputSchema: false;
1409
1524
  }];
1410
1525
  }, {
1411
1526
  readonly id: "gemini-3-flash-preview";
@@ -1464,21 +1464,22 @@ export const googleModels = [
1464
1464
  ],
1465
1465
  },
1466
1466
  {
1467
- id: "gemini-3.1-flash-image-preview",
1468
- name: "Gemini 3.1 Flash Image (Preview)",
1469
- description: "Preview of Gemini 3.1 Flash with native image generation capabilities.",
1467
+ id: "gemini-3.1-flash-image",
1468
+ name: "Gemini 3.1 Flash Image",
1469
+ description: "Native image generation model optimized for fast, high-volume image creation and editing.",
1470
+ aliases: ["nano banana 2"],
1470
1471
  family: "google",
1471
1472
  output: ["text", "image"],
1472
- releasedAt: new Date("2026-02-26"),
1473
+ releasedAt: new Date("2026-05-28"),
1473
1474
  providers: [
1474
1475
  {
1475
1476
  test: "skip",
1476
1477
  providerId: "google-ai-studio",
1477
- externalId: "gemini-3.1-flash-image-preview",
1478
- inputPrice: "0.25e-6",
1479
- outputPrice: "1.5e-6",
1480
- imageInputPrice: "0.25e-6",
1481
- imageInputTokensByResolution: { default: 560 },
1478
+ externalId: "gemini-3.1-flash-image",
1479
+ inputPrice: "0.5e-6",
1480
+ outputPrice: "3e-6",
1481
+ imageInputPrice: "0.5e-6",
1482
+ imageInputTokensByResolution: { default: 1120 },
1482
1483
  imageOutputPrice: "60e-6",
1483
1484
  imageOutputTokensByResolution: {
1484
1485
  "0.5K": 747,
@@ -1488,13 +1489,13 @@ export const googleModels = [
1488
1489
  default: 1120,
1489
1490
  },
1490
1491
  requestPrice: "0",
1491
- contextSize: 65536,
1492
- maxOutput: 65536,
1492
+ contextSize: 131072,
1493
+ maxOutput: 32768,
1493
1494
  streaming: true,
1494
1495
  vision: true,
1495
1496
  tools: false,
1496
- jsonOutput: true,
1497
- jsonOutputSchema: true,
1497
+ jsonOutput: false,
1498
+ jsonOutputSchema: false,
1498
1499
  },
1499
1500
  {
1500
1501
  test: "skip",
@@ -1524,13 +1525,13 @@ export const googleModels = [
1524
1525
  {
1525
1526
  test: "skip",
1526
1527
  providerId: "google-vertex",
1527
- externalId: "gemini-3.1-flash-image-preview",
1528
+ externalId: "gemini-3.1-flash-image",
1528
1529
  serviceTiers: ["flex"],
1529
1530
  serviceTierRegions: ["global"],
1530
- inputPrice: "0.25e-6",
1531
- outputPrice: "1.5e-6",
1532
- imageInputPrice: "0.25e-6",
1533
- imageInputTokensByResolution: { default: 560 },
1531
+ inputPrice: "0.5e-6",
1532
+ outputPrice: "3e-6",
1533
+ imageInputPrice: "0.5e-6",
1534
+ imageInputTokensByResolution: { default: 1120 },
1534
1535
  imageOutputPrice: "60e-6",
1535
1536
  imageOutputTokensByResolution: {
1536
1537
  "0.5K": 747,
@@ -1540,17 +1541,77 @@ export const googleModels = [
1540
1541
  default: 1120,
1541
1542
  },
1542
1543
  requestPrice: "0",
1543
- contextSize: 65536,
1544
- maxOutput: 65536,
1544
+ contextSize: 131072,
1545
+ maxOutput: 32768,
1545
1546
  streaming: true,
1546
1547
  vision: true,
1547
1548
  tools: false,
1548
- jsonOutput: true,
1549
- jsonOutputSchema: true,
1549
+ jsonOutput: false,
1550
+ jsonOutputSchema: false,
1550
1551
  },
1551
1552
  {
1552
1553
  test: "skip",
1553
1554
  providerId: "quartz",
1555
+ externalId: "gemini-3.1-flash-image",
1556
+ inputPrice: "0.5e-6",
1557
+ outputPrice: "3e-6",
1558
+ imageInputPrice: "0.5e-6",
1559
+ imageInputTokensByResolution: { default: 1120 },
1560
+ imageOutputPrice: "60e-6",
1561
+ imageOutputTokensByResolution: {
1562
+ "0.5K": 747,
1563
+ "1K": 1120,
1564
+ "2K": 1680,
1565
+ "4K": 2520,
1566
+ default: 1120,
1567
+ },
1568
+ requestPrice: "0",
1569
+ contextSize: 131072,
1570
+ maxOutput: 32768,
1571
+ streaming: true,
1572
+ vision: true,
1573
+ tools: false,
1574
+ jsonOutput: false,
1575
+ jsonOutputSchema: false,
1576
+ },
1577
+ ],
1578
+ },
1579
+ {
1580
+ id: "gemini-3.1-flash-image-preview",
1581
+ name: "Gemini 3.1 Flash Image (Preview)",
1582
+ description: "Preview of Gemini 3.1 Flash with native image generation capabilities.",
1583
+ family: "google",
1584
+ output: ["text", "image"],
1585
+ releasedAt: new Date("2026-02-26"),
1586
+ providers: [
1587
+ {
1588
+ test: "skip",
1589
+ providerId: "google-ai-studio",
1590
+ externalId: "gemini-3.1-flash-image",
1591
+ inputPrice: "0.5e-6",
1592
+ outputPrice: "3e-6",
1593
+ imageInputPrice: "0.5e-6",
1594
+ imageInputTokensByResolution: { default: 1120 },
1595
+ imageOutputPrice: "60e-6",
1596
+ imageOutputTokensByResolution: {
1597
+ "0.5K": 747,
1598
+ "1K": 1120,
1599
+ "2K": 1680,
1600
+ "4K": 2520,
1601
+ default: 1120,
1602
+ },
1603
+ requestPrice: "0",
1604
+ contextSize: 131072,
1605
+ maxOutput: 32768,
1606
+ streaming: true,
1607
+ vision: true,
1608
+ tools: false,
1609
+ jsonOutput: false,
1610
+ jsonOutputSchema: false,
1611
+ },
1612
+ {
1613
+ test: "skip",
1614
+ providerId: "glacier",
1554
1615
  externalId: "gemini-3.1-flash-image-preview",
1555
1616
  inputPrice: "0.25e-6",
1556
1617
  outputPrice: "1.5e-6",
@@ -1573,6 +1634,58 @@ export const googleModels = [
1573
1634
  jsonOutput: true,
1574
1635
  jsonOutputSchema: true,
1575
1636
  },
1637
+ {
1638
+ test: "skip",
1639
+ providerId: "google-vertex",
1640
+ externalId: "gemini-3.1-flash-image",
1641
+ serviceTiers: ["flex"],
1642
+ serviceTierRegions: ["global"],
1643
+ inputPrice: "0.5e-6",
1644
+ outputPrice: "3e-6",
1645
+ imageInputPrice: "0.5e-6",
1646
+ imageInputTokensByResolution: { default: 1120 },
1647
+ imageOutputPrice: "60e-6",
1648
+ imageOutputTokensByResolution: {
1649
+ "0.5K": 747,
1650
+ "1K": 1120,
1651
+ "2K": 1680,
1652
+ "4K": 2520,
1653
+ default: 1120,
1654
+ },
1655
+ requestPrice: "0",
1656
+ contextSize: 131072,
1657
+ maxOutput: 32768,
1658
+ streaming: true,
1659
+ vision: true,
1660
+ tools: false,
1661
+ jsonOutput: false,
1662
+ jsonOutputSchema: false,
1663
+ },
1664
+ {
1665
+ test: "skip",
1666
+ providerId: "quartz",
1667
+ externalId: "gemini-3.1-flash-image",
1668
+ inputPrice: "0.5e-6",
1669
+ outputPrice: "3e-6",
1670
+ imageInputPrice: "0.5e-6",
1671
+ imageInputTokensByResolution: { default: 1120 },
1672
+ imageOutputPrice: "60e-6",
1673
+ imageOutputTokensByResolution: {
1674
+ "0.5K": 747,
1675
+ "1K": 1120,
1676
+ "2K": 1680,
1677
+ "4K": 2520,
1678
+ default: 1120,
1679
+ },
1680
+ requestPrice: "0",
1681
+ contextSize: 131072,
1682
+ maxOutput: 32768,
1683
+ streaming: true,
1684
+ vision: true,
1685
+ tools: false,
1686
+ jsonOutput: false,
1687
+ jsonOutputSchema: false,
1688
+ },
1576
1689
  ],
1577
1690
  },
1578
1691
  {