egaki 0.11.0 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +36 -0
- package/dist/cli/cli.js +4 -2
- package/dist/cli/generate.d.ts +2 -2
- package/dist/cli/generate.d.ts.map +1 -1
- package/dist/cli/generate.js +2 -1
- package/dist/cli/model-catalog.d.ts.map +1 -1
- package/dist/cli/model-catalog.js +121 -5
- package/package.json +2 -2
- package/src/cli/cli.ts +4 -2
- package/src/cli/generate.ts +7 -6
- package/src/cli/model-catalog.ts +128 -5
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,42 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## 0.12.0
|
|
6
|
+
|
|
7
|
+
1. **New GPT Image 2.5 models** — `gpt-image-2.5-flare` (fast, everyday generation and editing) and `gpt-image-2.5-sunburst` (most capable, best editing precision and reference fidelity). Both add the new `xhigh` and `max` quality levels:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
egaki image "a ceramic vase on linen, studio light" \
|
|
11
|
+
-m gpt-image-2.5-sunburst --quality max -o vase.png
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
2. **New `grok-imagine-image-2.0` model** — $0.04 per image at low quality. `--quality` accepts `auto`, `low` and `medium`; default is `auto`. It replaces `grok-imagine-image-quality` in the model picker. xAI retires `grok-imagine-image-quality` on 2026-11-02:
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
egaki image "a fox wearing armor in a misty forest" \
|
|
18
|
+
-m grok-imagine-image-2.0 --quality medium --resolution 2k -o fox.png
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
3. **New `grok-imagine-video-1.5-lite` model** — cheap text-to-video and image-to-video at 480p, 720p or 1080p (1080p is upscaled from 720p). From $0.02 per second:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
egaki video "a paper boat drifting on a rainy street" \
|
|
25
|
+
-m grok-imagine-video-1.5-lite --resolution 720p -o boat.mp4
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
4. **`grok-imagine-video-1.5` supports text-to-video, 1080p and up to 14 reference images.** It also adds the `21:9` and `5:2` aspect ratios. Reference-to-video is capped at 720p:
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
egaki video "the model walks down a white runway" \
|
|
32
|
+
-m grok-imagine-video-1.5 \
|
|
33
|
+
--mode reference-to-video \
|
|
34
|
+
--reference-images ./model-face.jpg \
|
|
35
|
+
--reference-images ./outfit.jpg \
|
|
36
|
+
-o runway.mp4
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Thanks @itstamhn for #10 and #11!
|
|
40
|
+
|
|
5
41
|
## 0.11.0
|
|
6
42
|
|
|
7
43
|
1. **Background OAuth login for agents and non-TTY shells.** `egaki login --provider chatgpt` and `egaki login --provider xai-oauth` start the browser login and return. An interactive terminal still stays attached until login finishes.
|
package/dist/cli/cli.js
CHANGED
|
@@ -384,7 +384,7 @@ cli
|
|
|
384
384
|
.describe(`Video operation mode. ${describeProviderValues('mode', [VIDEO_CATALOG])}`))
|
|
385
385
|
.option('--reference-images [path]', z
|
|
386
386
|
.array(z.string())
|
|
387
|
-
.describe('Reference images for R2V generation, repeatable. xAI: 1-7 images. Seedance: 1-9 images (use @Image1 etc. in prompt)'))
|
|
387
|
+
.describe('Reference images for R2V generation, repeatable. xAI: 1-7 images (1-14 on grok-imagine-video-1.5). Seedance: 1-9 images (use @Image1 etc. in prompt)'))
|
|
388
388
|
.option('--negative-prompt [text]', z
|
|
389
389
|
.string()
|
|
390
390
|
.describe('Describe what to avoid in the generated video (Fal models)'))
|
|
@@ -1223,6 +1223,8 @@ const FEATURED_IMAGE_MODELS = [
|
|
|
1223
1223
|
'gemini-2.5-flash-image',
|
|
1224
1224
|
'gemini-3.1-flash-image-preview',
|
|
1225
1225
|
'nano-banana-pro-preview',
|
|
1226
|
+
'gpt-image-2.5-sunburst',
|
|
1227
|
+
'gpt-image-2.5-flare',
|
|
1226
1228
|
'gpt-image-2',
|
|
1227
1229
|
'gpt-image-1.5',
|
|
1228
1230
|
'chatgpt-image-latest',
|
|
@@ -1231,7 +1233,7 @@ const FEATURED_IMAGE_MODELS = [
|
|
|
1231
1233
|
'flux-pro-1.1-ultra',
|
|
1232
1234
|
'recraft-v4',
|
|
1233
1235
|
'dall-e-3',
|
|
1234
|
-
'grok-imagine-image-
|
|
1236
|
+
'grok-imagine-image-2.0',
|
|
1235
1237
|
];
|
|
1236
1238
|
/**
|
|
1237
1239
|
* Resolve the image model: show interactive picker in TTY, use default otherwise.
|
package/dist/cli/generate.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ValidationError } from './models.js';
|
|
2
2
|
export { ValidationError };
|
|
3
3
|
/** Image model IDs from the catalog. Accepts arbitrary strings too. */
|
|
4
|
-
export type ImageModelId = 'imagen-4.0-generate-001' | 'imagen-4.0-ultra-generate-001' | 'imagen-4.0-fast-generate-001' | 'gemini-2.0-flash-exp-image-generation' | 'gemini-2.5-flash-image' | 'gemini-3-pro-image-preview' | 'gemini-3.1-flash-image-preview' | 'vertex/imagen-4.0-generate-001' | 'vertex/imagen-4.0-ultra-generate-001' | 'vertex/imagen-4.0-fast-generate-001' | 'vertex/gemini-2.5-flash-image' | 'vertex/gemini-3-pro-image-preview' | 'vertex/gemini-3.1-flash-image-preview' | 'flux-kontext-max' | 'flux-kontext-pro' | 'flux-pro-1.0-fill' | 'flux-pro-1.1' | 'flux-pro-1.1-ultra' | 'flux-2-pro' | 'flux-2-max' | 'flux-2-flex' | 'flux-2-klein-9b' | 'flux-2-klein-4b' | 'recraft-v2' | 'recraft-v3' | 'recraft-v4' | 'recraft-v4-pro' | 'recraft-v4.1' | 'recraft-v4.1-pro' | 'recraft-v4.1-utility' | 'recraft-v4.1-utility-pro' | 'seedream-5.0-lite' | 'seedream-4.5' | 'seedream-4.0' | 'grok-imagine-image' | 'grok-imagine-image-quality' | 'dall-e-2' | 'dall-e-3' | 'gpt-image-1' | 'gpt-image-1-mini' | 'gpt-image-1.5' | 'gpt-image-2' | 'chatgpt-image-latest' | (string & {});
|
|
4
|
+
export type ImageModelId = 'imagen-4.0-generate-001' | 'imagen-4.0-ultra-generate-001' | 'imagen-4.0-fast-generate-001' | 'gemini-2.0-flash-exp-image-generation' | 'gemini-2.5-flash-image' | 'gemini-3-pro-image-preview' | 'gemini-3.1-flash-image-preview' | 'vertex/imagen-4.0-generate-001' | 'vertex/imagen-4.0-ultra-generate-001' | 'vertex/imagen-4.0-fast-generate-001' | 'vertex/gemini-2.5-flash-image' | 'vertex/gemini-3-pro-image-preview' | 'vertex/gemini-3.1-flash-image-preview' | 'flux-kontext-max' | 'flux-kontext-pro' | 'flux-pro-1.0-fill' | 'flux-pro-1.1' | 'flux-pro-1.1-ultra' | 'flux-2-pro' | 'flux-2-max' | 'flux-2-flex' | 'flux-2-klein-9b' | 'flux-2-klein-4b' | 'recraft-v2' | 'recraft-v3' | 'recraft-v4' | 'recraft-v4-pro' | 'recraft-v4.1' | 'recraft-v4.1-pro' | 'recraft-v4.1-utility' | 'recraft-v4.1-utility-pro' | 'seedream-5.0-lite' | 'seedream-4.5' | 'seedream-4.0' | 'grok-imagine-image' | 'grok-imagine-image-2.0' | 'grok-imagine-image-quality' | 'dall-e-2' | 'dall-e-3' | 'gpt-image-1' | 'gpt-image-1-mini' | 'gpt-image-1.5' | 'gpt-image-2' | 'gpt-image-2.5-flare' | 'gpt-image-2.5-sunburst' | 'chatgpt-image-latest' | (string & {});
|
|
5
5
|
/** Video model IDs from the catalog. Accepts arbitrary strings too. */
|
|
6
|
-
export type VideoModelId = 'veo-3.1-generate-001' | 'veo-3.1-fast-generate-001' | 'veo-3.0-generate-001' | 'veo-3.0-fast-generate-001' | 'vertex/veo-3.1-generate-001' | 'vertex/veo-3.1-fast-generate-001' | 'grok-imagine-video' | 'grok-imagine-video-1.5' | 'kling-v3.0-t2v' | 'kling-v3.0-i2v' | 'kling-v3.0-motion-control' | 'kling-v2.6-t2v' | 'kling-v2.6-i2v' | 'kling-v2.6-motion-control' | 'kling-v2.5-turbo-t2v' | 'kling-v2.5-turbo-i2v' | 'wan-v2.6-t2v' | 'wan-v2.6-i2v' | 'wan-v2.6-i2v-flash' | 'wan-v2.6-r2v' | 'wan-v2.6-r2v-flash' | 'wan-v2.5-t2v-preview' | 'seedance-2.0' | 'seedance-2.0-fast' | 'seedance-v1.5-pro' | 'seedance-v1.0-pro' | 'seedance-v1.0-pro-fast' | 'seedance-v1.0-lite-t2v' | 'seedance-v1.0-lite-i2v' | 'luma-ray-2' | 'minimax-video' | 'hunyuan-video' | (string & {});
|
|
6
|
+
export type VideoModelId = 'veo-3.1-generate-001' | 'veo-3.1-fast-generate-001' | 'veo-3.0-generate-001' | 'veo-3.0-fast-generate-001' | 'vertex/veo-3.1-generate-001' | 'vertex/veo-3.1-fast-generate-001' | 'grok-imagine-video' | 'grok-imagine-video-1.5' | 'grok-imagine-video-1.5-lite' | 'kling-v3.0-t2v' | 'kling-v3.0-i2v' | 'kling-v3.0-motion-control' | 'kling-v2.6-t2v' | 'kling-v2.6-i2v' | 'kling-v2.6-motion-control' | 'kling-v2.5-turbo-t2v' | 'kling-v2.5-turbo-i2v' | 'wan-v2.6-t2v' | 'wan-v2.6-i2v' | 'wan-v2.6-i2v-flash' | 'wan-v2.6-r2v' | 'wan-v2.6-r2v-flash' | 'wan-v2.5-t2v-preview' | 'seedance-2.0' | 'seedance-2.0-fast' | 'seedance-v1.5-pro' | 'seedance-v1.0-pro' | 'seedance-v1.0-pro-fast' | 'seedance-v1.0-lite-t2v' | 'seedance-v1.0-lite-i2v' | 'luma-ray-2' | 'minimax-video' | 'hunyuan-video' | (string & {});
|
|
7
7
|
/** Common aspect ratios across providers. */
|
|
8
8
|
export type AspectRatio = '1:1' | '3:4' | '4:3' | '9:16' | '16:9' | '2:3' | '3:2' | '4:5' | '5:4' | '9:21' | '21:9' | (string & {});
|
|
9
9
|
/** Image quality presets (varies by provider). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"AAgCA,OAAO,EAQL,eAAe,EAChB,MAAM,aAAa,CAAA;AAEpB,OAAO,EAAE,eAAe,EAAE,CAAA;AAa1B,uEAAuE;AACvE,MAAM,MAAM,YAAY,GACpB,yBAAyB,GAAG,+BAA+B,GAAG,8BAA8B,GAC5F,uCAAuC,GAAG,wBAAwB,GAAG,4BAA4B,GAAG,gCAAgC,GACpI,gCAAgC,GAAG,sCAAsC,GAAG,qCAAqC,GACjH,+BAA+B,GAAG,mCAAmC,GAAG,uCAAuC,GAC/G,kBAAkB,GAAG,kBAAkB,GAAG,mBAAmB,GAAG,cAAc,GAAG,oBAAoB,GACrG,YAAY,GAAG,YAAY,GAAG,aAAa,GAAG,iBAAiB,GAAG,iBAAiB,GACnF,YAAY,GAAG,YAAY,GAAG,YAAY,GAAG,gBAAgB,GAAG,cAAc,GAAG,kBAAkB,GAAG,sBAAsB,GAAG,0BAA0B,GACzJ,mBAAmB,GAAG,cAAc,GAAG,cAAc,GACrD,oBAAoB,GAAG,4BAA4B,
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/cli/generate.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/generate.js
CHANGED
|
@@ -38,7 +38,8 @@ export function buildImageProviderOptions(provider, opts) {
|
|
|
38
38
|
}
|
|
39
39
|
case 'xai': {
|
|
40
40
|
const xaiOpts = {
|
|
41
|
-
|
|
41
|
+
// 'auto' is xAI's server default; @ai-sdk/xai does not accept it, so omit the field.
|
|
42
|
+
...(opts.quality && opts.quality !== 'auto' ? { quality: opts.quality } : {}),
|
|
42
43
|
...(opts.resolution ? { resolution: opts.resolution } : {}),
|
|
43
44
|
...(opts.outputFormat ? { output_format: opts.outputFormat } : {}),
|
|
44
45
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-catalog.d.ts","sourceRoot":"","sources":["../../src/cli/model-catalog.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"model-catalog.d.ts","sourceRoot":"","sources":["../../src/cli/model-catalog.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,6 +56,16 @@ const openaiImage = {
|
|
|
56
56
|
strategy: 'image',
|
|
57
57
|
providerOptions: openaiImageProviderOptions,
|
|
58
58
|
};
|
|
59
|
+
// GPT Image 2.5 models add `xhigh` and `max` quality levels.
|
|
60
|
+
// Docs: https://developers.openai.com/api/docs/models/gpt-image-2.5-sunburst
|
|
61
|
+
const openaiImage25ProviderOptions = [
|
|
62
|
+
{ flag: 'quality', providerKey: 'quality', description: 'Image quality', values: ['auto', 'low', 'medium', 'high', 'xhigh', 'max'], defaultValue: 'auto', type: 'string' },
|
|
63
|
+
{ flag: 'output-format', providerKey: 'outputFormat', description: 'Output format', values: ['png', 'jpeg', 'webp'], defaultValue: 'png', type: 'string' },
|
|
64
|
+
];
|
|
65
|
+
const openaiImage25 = {
|
|
66
|
+
...openaiImage,
|
|
67
|
+
providerOptions: openaiImage25ProviderOptions,
|
|
68
|
+
};
|
|
59
69
|
const replicateImage = {
|
|
60
70
|
provider: 'replicate',
|
|
61
71
|
strategy: 'image',
|
|
@@ -91,6 +101,14 @@ const xaiImage = {
|
|
|
91
101
|
strategy: 'image',
|
|
92
102
|
providerOptions: xaiImageProviderOptions,
|
|
93
103
|
};
|
|
104
|
+
// Docs: https://docs.x.ai/developers/model-capabilities/images/generation
|
|
105
|
+
// quality is only honored by grok-imagine-image-2.0. 'auto' is the server default
|
|
106
|
+
// (low for generation, medium for editing), so egaki omits the field for 'auto'.
|
|
107
|
+
const xaiImage2ProviderOptions = [
|
|
108
|
+
{ flag: 'quality', providerKey: 'quality', description: 'Image quality', values: ['auto', 'low', 'medium'], defaultValue: 'auto', type: 'string' },
|
|
109
|
+
{ flag: 'resolution', providerKey: 'resolution', description: 'Output resolution', values: ['1k', '2k'], defaultValue: '1k', type: 'string' },
|
|
110
|
+
{ flag: 'output-format', providerKey: 'output_format', description: 'Output format', values: ['png', 'jpeg'], defaultValue: 'png', type: 'string' },
|
|
111
|
+
];
|
|
94
112
|
// Source: node_modules/@ai-sdk/xai/dist/index.d.ts → XaiVideoModelOptions
|
|
95
113
|
// Docs: https://docs.x.ai/docs/api-reference#create-video
|
|
96
114
|
const xaiVideoProviderOptions = [
|
|
@@ -101,6 +119,19 @@ const xaiVideoProviderOptions = [
|
|
|
101
119
|
{ flag: 'video-url', providerKey: 'videoUrl', description: 'Source video URL for editing or extension (internal)', type: 'string' },
|
|
102
120
|
{ flag: 'reference-images', providerKey: 'referenceImageUrls', description: 'Reference images for R2V (1-7 files or URLs)', type: 'string', array: true },
|
|
103
121
|
];
|
|
122
|
+
// Docs: https://docs.x.ai/developers/model-capabilities/video/overview
|
|
123
|
+
// grok-imagine-video-1.5: T2V/I2V at native 1080p, R2V up to 720p with up to 14 references.
|
|
124
|
+
// No editing or extension. Preset voices (reference_audios), last_frame and keyframes exist
|
|
125
|
+
// on the REST API but are not exposed by @ai-sdk/xai yet.
|
|
126
|
+
const xaiVideo15ProviderOptions = [
|
|
127
|
+
{ flag: 'resolution', providerKey: 'resolution', description: 'Output resolution (R2V is capped at 720p)', values: ['480p', '720p', '1080p'], defaultValue: '720p', type: 'string' },
|
|
128
|
+
{ flag: 'mode', providerKey: 'mode', description: 'Video operation mode', values: ['reference-to-video'], type: 'string' },
|
|
129
|
+
{ flag: 'reference-images', providerKey: 'referenceImageUrls', description: 'Reference images for R2V (1-14 files or URLs)', type: 'string', array: true },
|
|
130
|
+
];
|
|
131
|
+
// grok-imagine-video-1.5-lite: T2V/I2V only. 1080p is upscaled from 720p.
|
|
132
|
+
const xaiVideo15LiteProviderOptions = [
|
|
133
|
+
{ flag: 'resolution', providerKey: 'resolution', description: 'Output resolution (1080p is upscaled from 720p)', values: ['480p', '720p', '1080p'], defaultValue: '720p', type: 'string' },
|
|
134
|
+
];
|
|
104
135
|
// Source: node_modules/@ai-sdk/bytedance/dist/index.d.ts → ByteDanceVideoProviderOptions
|
|
105
136
|
// Docs: https://sdk.vercel.ai/docs/providers/bytedance
|
|
106
137
|
const bytedanceVideoProviderOptions = [
|
|
@@ -580,6 +611,24 @@ export const CATALOG = [
|
|
|
580
611
|
multipleImages: true,
|
|
581
612
|
},
|
|
582
613
|
},
|
|
614
|
+
{
|
|
615
|
+
id: 'grok-imagine-image-2.0',
|
|
616
|
+
name: 'Grok Imagine Image 2.0',
|
|
617
|
+
released: '2026-08',
|
|
618
|
+
...xaiImage,
|
|
619
|
+
providerOptions: xaiImage2ProviderOptions,
|
|
620
|
+
// $0.04 at low quality (what 'auto' serves for generation); medium is $0.06, 2k costs more.
|
|
621
|
+
cost: { type: 'per-image', perImage: 0.04 },
|
|
622
|
+
features: {
|
|
623
|
+
editing: true,
|
|
624
|
+
inpainting: false,
|
|
625
|
+
aspectRatios: ['1:1', '3:4', '4:3', '9:16', '16:9', '2:3', '3:2', '21:9', '5:2'],
|
|
626
|
+
seed: false,
|
|
627
|
+
multipleImages: true,
|
|
628
|
+
},
|
|
629
|
+
},
|
|
630
|
+
// xAI retires grok-imagine-image-quality on 2026-11-02. After that date, requests to
|
|
631
|
+
// this slug are served by grok-imagine-image-2.0 with quality 'low'.
|
|
583
632
|
{
|
|
584
633
|
id: 'grok-imagine-image-quality',
|
|
585
634
|
name: 'Grok Imagine Image Quality',
|
|
@@ -688,6 +737,43 @@ export const CATALOG = [
|
|
|
688
737
|
multipleImages: true,
|
|
689
738
|
},
|
|
690
739
|
},
|
|
740
|
+
{
|
|
741
|
+
id: 'gpt-image-2.5-flare',
|
|
742
|
+
name: 'GPT Image 2.5 Flare',
|
|
743
|
+
description: 'Fastest GPT Image 2.5 model for high-quality everyday generation and editing. ' +
|
|
744
|
+
'Token rates match gpt-image-2; $0.053 is the medium-quality 1024×1024 estimate.',
|
|
745
|
+
released: '2026-09-08',
|
|
746
|
+
...openaiImage25,
|
|
747
|
+
// Token-based pricing: $30/1M output image tokens, same rates as gpt-image-2.
|
|
748
|
+
cost: { type: 'per-image', perImage: 0.053 },
|
|
749
|
+
features: {
|
|
750
|
+
editing: true,
|
|
751
|
+
inpainting: true,
|
|
752
|
+
aspectRatios: [],
|
|
753
|
+
sizes: ['1024x1024', '1536x1024', '1024x1536'],
|
|
754
|
+
seed: false,
|
|
755
|
+
multipleImages: true,
|
|
756
|
+
},
|
|
757
|
+
},
|
|
758
|
+
{
|
|
759
|
+
id: 'gpt-image-2.5-sunburst',
|
|
760
|
+
name: 'GPT Image 2.5 Sunburst',
|
|
761
|
+
description: 'Most capable GPT Image 2.5 model, for work where editing precision and reference ' +
|
|
762
|
+
'fidelity matter most. Slower than Flare. Token rates match gpt-image-2; actual cost ' +
|
|
763
|
+
'is usually higher because it spends more tokens per image.',
|
|
764
|
+
released: '2026-09-08',
|
|
765
|
+
...openaiImage25,
|
|
766
|
+
// Token-based pricing: $30/1M output image tokens, same rates as gpt-image-2.
|
|
767
|
+
cost: { type: 'per-image', perImage: 0.053 },
|
|
768
|
+
features: {
|
|
769
|
+
editing: true,
|
|
770
|
+
inpainting: true,
|
|
771
|
+
aspectRatios: [],
|
|
772
|
+
sizes: ['1024x1024', '1536x1024', '1024x1536'],
|
|
773
|
+
seed: false,
|
|
774
|
+
multipleImages: true,
|
|
775
|
+
},
|
|
776
|
+
},
|
|
691
777
|
{
|
|
692
778
|
id: 'chatgpt-image-latest',
|
|
693
779
|
name: 'ChatGPT Image',
|
|
@@ -1433,25 +1519,55 @@ export const VIDEO_CATALOG = [
|
|
|
1433
1519
|
provider: 'xai',
|
|
1434
1520
|
strategy: 'video',
|
|
1435
1521
|
released: '2026-05',
|
|
1522
|
+
// Source: https://ai-gateway.vercel.sh/v1/models (spacexai/grok-imagine-video-1.5)
|
|
1436
1523
|
cost: {
|
|
1437
1524
|
type: 'per-video-second',
|
|
1438
1525
|
defaultDurationSec: 5,
|
|
1439
1526
|
tiers: [
|
|
1440
1527
|
{ resolution: '480p', costPerSecond: 0.08 },
|
|
1441
1528
|
{ resolution: '720p', costPerSecond: 0.14 },
|
|
1529
|
+
{ resolution: '1080p', costPerSecond: 0.25 },
|
|
1442
1530
|
],
|
|
1443
1531
|
},
|
|
1444
1532
|
features: {
|
|
1445
|
-
textToVideo:
|
|
1533
|
+
textToVideo: true,
|
|
1446
1534
|
imageToVideo: true,
|
|
1447
|
-
capabilities: ['i2v'],
|
|
1448
|
-
aspectRatios: ['1:1', '16:9', '9:16', '4:3', '3:4', '3:2', '2:3'],
|
|
1449
|
-
resolutions: ['480p', '720p'],
|
|
1535
|
+
capabilities: ['t2v', 'i2v', 'r2v'],
|
|
1536
|
+
aspectRatios: ['1:1', '16:9', '9:16', '4:3', '3:4', '3:2', '2:3', '21:9', '5:2'],
|
|
1537
|
+
resolutions: ['480p', '720p', '1080p'],
|
|
1450
1538
|
durationRangeSec: { min: 1, max: 15 },
|
|
1451
1539
|
seed: false,
|
|
1452
1540
|
multipleVideos: false,
|
|
1453
1541
|
},
|
|
1454
|
-
providerOptions:
|
|
1542
|
+
providerOptions: xaiVideo15ProviderOptions,
|
|
1543
|
+
},
|
|
1544
|
+
{
|
|
1545
|
+
id: 'grok-imagine-video-1.5-lite',
|
|
1546
|
+
name: 'Grok Imagine Video 1.5 Lite',
|
|
1547
|
+
provider: 'xai',
|
|
1548
|
+
strategy: 'video',
|
|
1549
|
+
released: '2026-10-08',
|
|
1550
|
+
// Source: https://ai-gateway.vercel.sh/v1/models (spacexai/grok-imagine-video-1.5-lite)
|
|
1551
|
+
cost: {
|
|
1552
|
+
type: 'per-video-second',
|
|
1553
|
+
defaultDurationSec: 5,
|
|
1554
|
+
tiers: [
|
|
1555
|
+
{ resolution: '480p', costPerSecond: 0.02 },
|
|
1556
|
+
{ resolution: '720p', costPerSecond: 0.03 },
|
|
1557
|
+
{ resolution: '1080p', costPerSecond: 0.14 },
|
|
1558
|
+
],
|
|
1559
|
+
},
|
|
1560
|
+
features: {
|
|
1561
|
+
textToVideo: true,
|
|
1562
|
+
imageToVideo: true,
|
|
1563
|
+
capabilities: ['t2v', 'i2v'],
|
|
1564
|
+
aspectRatios: ['1:1', '16:9', '9:16', '4:3', '3:4', '3:2', '2:3', '21:9', '5:2'],
|
|
1565
|
+
resolutions: ['480p', '720p', '1080p'],
|
|
1566
|
+
durationRangeSec: { min: 1, max: 15 },
|
|
1567
|
+
seed: false,
|
|
1568
|
+
multipleVideos: false,
|
|
1569
|
+
},
|
|
1570
|
+
providerOptions: xaiVideo15LiteProviderOptions,
|
|
1455
1571
|
},
|
|
1456
1572
|
// ── Kling (AI Gateway) ──────────────────────────────────────────────
|
|
1457
1573
|
// Source: https://ai-gateway.vercel.sh/v1/models (klingai/* entries)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "egaki",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "AI image, video, and speech generation CLI with MDX-to-video framework",
|
|
6
6
|
"main": "./dist/cli/main.js",
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"@ai-sdk/google-vertex": "^4.0.137",
|
|
86
86
|
"@ai-sdk/openai": "3.0.36",
|
|
87
87
|
"@ai-sdk/replicate": "2.0.20",
|
|
88
|
-
"@ai-sdk/xai": "^3.0.
|
|
88
|
+
"@ai-sdk/xai": "^3.0.139",
|
|
89
89
|
"@clack/prompts": "^1.0.1",
|
|
90
90
|
"@fal-ai/client": "^1.10.1",
|
|
91
91
|
"@remotion/media": "4.0.494",
|
package/src/cli/cli.ts
CHANGED
|
@@ -635,7 +635,7 @@ cli
|
|
|
635
635
|
z
|
|
636
636
|
.array(z.string())
|
|
637
637
|
.describe(
|
|
638
|
-
'Reference images for R2V generation, repeatable. xAI: 1-7 images. Seedance: 1-9 images (use @Image1 etc. in prompt)',
|
|
638
|
+
'Reference images for R2V generation, repeatable. xAI: 1-7 images (1-14 on grok-imagine-video-1.5). Seedance: 1-9 images (use @Image1 etc. in prompt)',
|
|
639
639
|
),
|
|
640
640
|
)
|
|
641
641
|
.option(
|
|
@@ -1714,6 +1714,8 @@ const FEATURED_IMAGE_MODELS = [
|
|
|
1714
1714
|
'gemini-2.5-flash-image',
|
|
1715
1715
|
'gemini-3.1-flash-image-preview',
|
|
1716
1716
|
'nano-banana-pro-preview',
|
|
1717
|
+
'gpt-image-2.5-sunburst',
|
|
1718
|
+
'gpt-image-2.5-flare',
|
|
1717
1719
|
'gpt-image-2',
|
|
1718
1720
|
'gpt-image-1.5',
|
|
1719
1721
|
'chatgpt-image-latest',
|
|
@@ -1722,7 +1724,7 @@ const FEATURED_IMAGE_MODELS = [
|
|
|
1722
1724
|
'flux-pro-1.1-ultra',
|
|
1723
1725
|
'recraft-v4',
|
|
1724
1726
|
'dall-e-3',
|
|
1725
|
-
'grok-imagine-image-
|
|
1727
|
+
'grok-imagine-image-2.0',
|
|
1726
1728
|
]
|
|
1727
1729
|
|
|
1728
1730
|
/**
|
package/src/cli/generate.ts
CHANGED
|
@@ -64,15 +64,15 @@ export type ImageModelId =
|
|
|
64
64
|
| 'flux-2-pro' | 'flux-2-max' | 'flux-2-flex' | 'flux-2-klein-9b' | 'flux-2-klein-4b'
|
|
65
65
|
| 'recraft-v2' | 'recraft-v3' | 'recraft-v4' | 'recraft-v4-pro' | 'recraft-v4.1' | 'recraft-v4.1-pro' | 'recraft-v4.1-utility' | 'recraft-v4.1-utility-pro'
|
|
66
66
|
| 'seedream-5.0-lite' | 'seedream-4.5' | 'seedream-4.0'
|
|
67
|
-
| 'grok-imagine-image' | 'grok-imagine-image-quality'
|
|
68
|
-
| 'dall-e-2' | 'dall-e-3' | 'gpt-image-1' | 'gpt-image-1-mini' | 'gpt-image-1.5' | 'gpt-image-2' | 'chatgpt-image-latest'
|
|
67
|
+
| 'grok-imagine-image' | 'grok-imagine-image-2.0' | 'grok-imagine-image-quality'
|
|
68
|
+
| 'dall-e-2' | 'dall-e-3' | 'gpt-image-1' | 'gpt-image-1-mini' | 'gpt-image-1.5' | 'gpt-image-2' | 'gpt-image-2.5-flare' | 'gpt-image-2.5-sunburst' | 'chatgpt-image-latest'
|
|
69
69
|
| (string & {})
|
|
70
70
|
|
|
71
71
|
/** Video model IDs from the catalog. Accepts arbitrary strings too. */
|
|
72
72
|
export type VideoModelId =
|
|
73
73
|
| 'veo-3.1-generate-001' | 'veo-3.1-fast-generate-001' | 'veo-3.0-generate-001' | 'veo-3.0-fast-generate-001'
|
|
74
74
|
| 'vertex/veo-3.1-generate-001' | 'vertex/veo-3.1-fast-generate-001'
|
|
75
|
-
| 'grok-imagine-video' | 'grok-imagine-video-1.5'
|
|
75
|
+
| 'grok-imagine-video' | 'grok-imagine-video-1.5' | 'grok-imagine-video-1.5-lite'
|
|
76
76
|
| 'kling-v3.0-t2v' | 'kling-v3.0-i2v' | 'kling-v3.0-motion-control' | 'kling-v2.6-t2v' | 'kling-v2.6-i2v' | 'kling-v2.6-motion-control'
|
|
77
77
|
| 'kling-v2.5-turbo-t2v' | 'kling-v2.5-turbo-i2v'
|
|
78
78
|
| 'wan-v2.6-t2v' | 'wan-v2.6-i2v' | 'wan-v2.6-i2v-flash' | 'wan-v2.6-r2v' | 'wan-v2.6-r2v-flash' | 'wan-v2.5-t2v-preview'
|
|
@@ -159,7 +159,7 @@ export interface GenerateVideoResult {
|
|
|
159
159
|
// ─── OpenAI provider options type (not exported by @ai-sdk/openai) ───────────
|
|
160
160
|
|
|
161
161
|
type OpenAIImageProviderOptions = {
|
|
162
|
-
quality?: 'standard' | 'low' | 'medium' | 'high' | 'auto'
|
|
162
|
+
quality?: 'standard' | 'low' | 'medium' | 'high' | 'xhigh' | 'max' | 'auto'
|
|
163
163
|
outputFormat?: 'png' | 'jpeg' | 'webp'
|
|
164
164
|
outputCompression?: number
|
|
165
165
|
size?: `${number}x${number}`
|
|
@@ -199,7 +199,8 @@ export function buildImageProviderOptions(
|
|
|
199
199
|
}
|
|
200
200
|
case 'xai': {
|
|
201
201
|
const xaiOpts = {
|
|
202
|
-
|
|
202
|
+
// 'auto' is xAI's server default; @ai-sdk/xai does not accept it, so omit the field.
|
|
203
|
+
...(opts.quality && opts.quality !== 'auto' ? { quality: opts.quality as XaiImageModelOptions['quality'] } : {}),
|
|
203
204
|
...(opts.resolution ? { resolution: opts.resolution as XaiImageModelOptions['resolution'] } : {}),
|
|
204
205
|
...(opts.outputFormat ? { output_format: opts.outputFormat } : {}),
|
|
205
206
|
} satisfies XaiImageModelOptions
|
|
@@ -238,7 +239,7 @@ export function buildVideoProviderOptions(
|
|
|
238
239
|
switch (provider) {
|
|
239
240
|
case 'xai': {
|
|
240
241
|
const base = {
|
|
241
|
-
...(opts.resolution ? { resolution: opts.resolution as '480p' | '720p' } : {}),
|
|
242
|
+
...(opts.resolution ? { resolution: opts.resolution as '480p' | '720p' | '1080p' } : {}),
|
|
242
243
|
}
|
|
243
244
|
if (opts.mode === 'edit-video' && opts.videoUrl) {
|
|
244
245
|
const xaiOpts = { ...base, mode: 'edit-video' as const, videoUrl: opts.videoUrl } satisfies XaiVideoModelOptions
|
package/src/cli/model-catalog.ts
CHANGED
|
@@ -198,6 +198,18 @@ const openaiImage = {
|
|
|
198
198
|
providerOptions: openaiImageProviderOptions,
|
|
199
199
|
}
|
|
200
200
|
|
|
201
|
+
// GPT Image 2.5 models add `xhigh` and `max` quality levels.
|
|
202
|
+
// Docs: https://developers.openai.com/api/docs/models/gpt-image-2.5-sunburst
|
|
203
|
+
const openaiImage25ProviderOptions: ProviderOption[] = [
|
|
204
|
+
{ flag: 'quality', providerKey: 'quality', description: 'Image quality', values: ['auto', 'low', 'medium', 'high', 'xhigh', 'max'], defaultValue: 'auto', type: 'string' },
|
|
205
|
+
{ flag: 'output-format', providerKey: 'outputFormat', description: 'Output format', values: ['png', 'jpeg', 'webp'], defaultValue: 'png', type: 'string' },
|
|
206
|
+
]
|
|
207
|
+
|
|
208
|
+
const openaiImage25 = {
|
|
209
|
+
...openaiImage,
|
|
210
|
+
providerOptions: openaiImage25ProviderOptions,
|
|
211
|
+
}
|
|
212
|
+
|
|
201
213
|
const replicateImage = {
|
|
202
214
|
provider: 'replicate',
|
|
203
215
|
strategy: 'image' as const,
|
|
@@ -240,6 +252,15 @@ const xaiImage = {
|
|
|
240
252
|
providerOptions: xaiImageProviderOptions,
|
|
241
253
|
}
|
|
242
254
|
|
|
255
|
+
// Docs: https://docs.x.ai/developers/model-capabilities/images/generation
|
|
256
|
+
// quality is only honored by grok-imagine-image-2.0. 'auto' is the server default
|
|
257
|
+
// (low for generation, medium for editing), so egaki omits the field for 'auto'.
|
|
258
|
+
const xaiImage2ProviderOptions: ProviderOption[] = [
|
|
259
|
+
{ flag: 'quality', providerKey: 'quality', description: 'Image quality', values: ['auto', 'low', 'medium'], defaultValue: 'auto', type: 'string' },
|
|
260
|
+
{ flag: 'resolution', providerKey: 'resolution', description: 'Output resolution', values: ['1k', '2k'], defaultValue: '1k', type: 'string' },
|
|
261
|
+
{ flag: 'output-format', providerKey: 'output_format', description: 'Output format', values: ['png', 'jpeg'], defaultValue: 'png', type: 'string' },
|
|
262
|
+
]
|
|
263
|
+
|
|
243
264
|
// Source: node_modules/@ai-sdk/xai/dist/index.d.ts → XaiVideoModelOptions
|
|
244
265
|
// Docs: https://docs.x.ai/docs/api-reference#create-video
|
|
245
266
|
const xaiVideoProviderOptions: ProviderOption[] = [
|
|
@@ -251,6 +272,21 @@ const xaiVideoProviderOptions: ProviderOption[] = [
|
|
|
251
272
|
{ flag: 'reference-images', providerKey: 'referenceImageUrls', description: 'Reference images for R2V (1-7 files or URLs)', type: 'string', array: true },
|
|
252
273
|
]
|
|
253
274
|
|
|
275
|
+
// Docs: https://docs.x.ai/developers/model-capabilities/video/overview
|
|
276
|
+
// grok-imagine-video-1.5: T2V/I2V at native 1080p, R2V up to 720p with up to 14 references.
|
|
277
|
+
// No editing or extension. Preset voices (reference_audios), last_frame and keyframes exist
|
|
278
|
+
// on the REST API but are not exposed by @ai-sdk/xai yet.
|
|
279
|
+
const xaiVideo15ProviderOptions: ProviderOption[] = [
|
|
280
|
+
{ flag: 'resolution', providerKey: 'resolution', description: 'Output resolution (R2V is capped at 720p)', values: ['480p', '720p', '1080p'], defaultValue: '720p', type: 'string' },
|
|
281
|
+
{ flag: 'mode', providerKey: 'mode', description: 'Video operation mode', values: ['reference-to-video'], type: 'string' },
|
|
282
|
+
{ flag: 'reference-images', providerKey: 'referenceImageUrls', description: 'Reference images for R2V (1-14 files or URLs)', type: 'string', array: true },
|
|
283
|
+
]
|
|
284
|
+
|
|
285
|
+
// grok-imagine-video-1.5-lite: T2V/I2V only. 1080p is upscaled from 720p.
|
|
286
|
+
const xaiVideo15LiteProviderOptions: ProviderOption[] = [
|
|
287
|
+
{ flag: 'resolution', providerKey: 'resolution', description: 'Output resolution (1080p is upscaled from 720p)', values: ['480p', '720p', '1080p'], defaultValue: '720p', type: 'string' },
|
|
288
|
+
]
|
|
289
|
+
|
|
254
290
|
// Source: node_modules/@ai-sdk/bytedance/dist/index.d.ts → ByteDanceVideoProviderOptions
|
|
255
291
|
// Docs: https://sdk.vercel.ai/docs/providers/bytedance
|
|
256
292
|
const bytedanceVideoProviderOptions: ProviderOption[] = [
|
|
@@ -747,6 +783,24 @@ export const CATALOG: ModelEntry[] = [
|
|
|
747
783
|
multipleImages: true,
|
|
748
784
|
},
|
|
749
785
|
},
|
|
786
|
+
{
|
|
787
|
+
id: 'grok-imagine-image-2.0',
|
|
788
|
+
name: 'Grok Imagine Image 2.0',
|
|
789
|
+
released: '2026-08',
|
|
790
|
+
...xaiImage,
|
|
791
|
+
providerOptions: xaiImage2ProviderOptions,
|
|
792
|
+
// $0.04 at low quality (what 'auto' serves for generation); medium is $0.06, 2k costs more.
|
|
793
|
+
cost: { type: 'per-image', perImage: 0.04 },
|
|
794
|
+
features: {
|
|
795
|
+
editing: true,
|
|
796
|
+
inpainting: false,
|
|
797
|
+
aspectRatios: ['1:1', '3:4', '4:3', '9:16', '16:9', '2:3', '3:2', '21:9', '5:2'],
|
|
798
|
+
seed: false,
|
|
799
|
+
multipleImages: true,
|
|
800
|
+
},
|
|
801
|
+
},
|
|
802
|
+
// xAI retires grok-imagine-image-quality on 2026-11-02. After that date, requests to
|
|
803
|
+
// this slug are served by grok-imagine-image-2.0 with quality 'low'.
|
|
750
804
|
{
|
|
751
805
|
id: 'grok-imagine-image-quality',
|
|
752
806
|
name: 'Grok Imagine Image Quality',
|
|
@@ -857,6 +911,45 @@ export const CATALOG: ModelEntry[] = [
|
|
|
857
911
|
multipleImages: true,
|
|
858
912
|
},
|
|
859
913
|
},
|
|
914
|
+
{
|
|
915
|
+
id: 'gpt-image-2.5-flare',
|
|
916
|
+
name: 'GPT Image 2.5 Flare',
|
|
917
|
+
description:
|
|
918
|
+
'Fastest GPT Image 2.5 model for high-quality everyday generation and editing. ' +
|
|
919
|
+
'Token rates match gpt-image-2; $0.053 is the medium-quality 1024×1024 estimate.',
|
|
920
|
+
released: '2026-09-08',
|
|
921
|
+
...openaiImage25,
|
|
922
|
+
// Token-based pricing: $30/1M output image tokens, same rates as gpt-image-2.
|
|
923
|
+
cost: { type: 'per-image', perImage: 0.053 },
|
|
924
|
+
features: {
|
|
925
|
+
editing: true,
|
|
926
|
+
inpainting: true,
|
|
927
|
+
aspectRatios: [],
|
|
928
|
+
sizes: ['1024x1024', '1536x1024', '1024x1536'],
|
|
929
|
+
seed: false,
|
|
930
|
+
multipleImages: true,
|
|
931
|
+
},
|
|
932
|
+
},
|
|
933
|
+
{
|
|
934
|
+
id: 'gpt-image-2.5-sunburst',
|
|
935
|
+
name: 'GPT Image 2.5 Sunburst',
|
|
936
|
+
description:
|
|
937
|
+
'Most capable GPT Image 2.5 model, for work where editing precision and reference ' +
|
|
938
|
+
'fidelity matter most. Slower than Flare. Token rates match gpt-image-2; actual cost ' +
|
|
939
|
+
'is usually higher because it spends more tokens per image.',
|
|
940
|
+
released: '2026-09-08',
|
|
941
|
+
...openaiImage25,
|
|
942
|
+
// Token-based pricing: $30/1M output image tokens, same rates as gpt-image-2.
|
|
943
|
+
cost: { type: 'per-image', perImage: 0.053 },
|
|
944
|
+
features: {
|
|
945
|
+
editing: true,
|
|
946
|
+
inpainting: true,
|
|
947
|
+
aspectRatios: [],
|
|
948
|
+
sizes: ['1024x1024', '1536x1024', '1024x1536'],
|
|
949
|
+
seed: false,
|
|
950
|
+
multipleImages: true,
|
|
951
|
+
},
|
|
952
|
+
},
|
|
860
953
|
{
|
|
861
954
|
id: 'chatgpt-image-latest',
|
|
862
955
|
name: 'ChatGPT Image',
|
|
@@ -1608,25 +1701,55 @@ export const VIDEO_CATALOG: VideoModelEntry[] = [
|
|
|
1608
1701
|
provider: 'xai',
|
|
1609
1702
|
strategy: 'video',
|
|
1610
1703
|
released: '2026-05',
|
|
1704
|
+
// Source: https://ai-gateway.vercel.sh/v1/models (spacexai/grok-imagine-video-1.5)
|
|
1611
1705
|
cost: {
|
|
1612
1706
|
type: 'per-video-second',
|
|
1613
1707
|
defaultDurationSec: 5,
|
|
1614
1708
|
tiers: [
|
|
1615
1709
|
{ resolution: '480p', costPerSecond: 0.08 },
|
|
1616
1710
|
{ resolution: '720p', costPerSecond: 0.14 },
|
|
1711
|
+
{ resolution: '1080p', costPerSecond: 0.25 },
|
|
1617
1712
|
],
|
|
1618
1713
|
},
|
|
1619
1714
|
features: {
|
|
1620
|
-
textToVideo:
|
|
1715
|
+
textToVideo: true,
|
|
1621
1716
|
imageToVideo: true,
|
|
1622
|
-
capabilities: ['i2v'],
|
|
1623
|
-
aspectRatios: ['1:1', '16:9', '9:16', '4:3', '3:4', '3:2', '2:3'],
|
|
1624
|
-
resolutions: ['480p', '720p'],
|
|
1717
|
+
capabilities: ['t2v', 'i2v', 'r2v'],
|
|
1718
|
+
aspectRatios: ['1:1', '16:9', '9:16', '4:3', '3:4', '3:2', '2:3', '21:9', '5:2'],
|
|
1719
|
+
resolutions: ['480p', '720p', '1080p'],
|
|
1625
1720
|
durationRangeSec: { min: 1, max: 15 },
|
|
1626
1721
|
seed: false,
|
|
1627
1722
|
multipleVideos: false,
|
|
1628
1723
|
},
|
|
1629
|
-
providerOptions:
|
|
1724
|
+
providerOptions: xaiVideo15ProviderOptions,
|
|
1725
|
+
},
|
|
1726
|
+
{
|
|
1727
|
+
id: 'grok-imagine-video-1.5-lite',
|
|
1728
|
+
name: 'Grok Imagine Video 1.5 Lite',
|
|
1729
|
+
provider: 'xai',
|
|
1730
|
+
strategy: 'video',
|
|
1731
|
+
released: '2026-10-08',
|
|
1732
|
+
// Source: https://ai-gateway.vercel.sh/v1/models (spacexai/grok-imagine-video-1.5-lite)
|
|
1733
|
+
cost: {
|
|
1734
|
+
type: 'per-video-second',
|
|
1735
|
+
defaultDurationSec: 5,
|
|
1736
|
+
tiers: [
|
|
1737
|
+
{ resolution: '480p', costPerSecond: 0.02 },
|
|
1738
|
+
{ resolution: '720p', costPerSecond: 0.03 },
|
|
1739
|
+
{ resolution: '1080p', costPerSecond: 0.14 },
|
|
1740
|
+
],
|
|
1741
|
+
},
|
|
1742
|
+
features: {
|
|
1743
|
+
textToVideo: true,
|
|
1744
|
+
imageToVideo: true,
|
|
1745
|
+
capabilities: ['t2v', 'i2v'],
|
|
1746
|
+
aspectRatios: ['1:1', '16:9', '9:16', '4:3', '3:4', '3:2', '2:3', '21:9', '5:2'],
|
|
1747
|
+
resolutions: ['480p', '720p', '1080p'],
|
|
1748
|
+
durationRangeSec: { min: 1, max: 15 },
|
|
1749
|
+
seed: false,
|
|
1750
|
+
multipleVideos: false,
|
|
1751
|
+
},
|
|
1752
|
+
providerOptions: xaiVideo15LiteProviderOptions,
|
|
1630
1753
|
},
|
|
1631
1754
|
// ── Kling (AI Gateway) ──────────────────────────────────────────────
|
|
1632
1755
|
// Source: https://ai-gateway.vercel.sh/v1/models (klingai/* entries)
|