vidspotai-shared 1.0.124 → 1.0.126
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/lib/globals/aiModels/enums.d.ts +38 -0
- package/lib/globals/aiModels/enums.d.ts.map +1 -1
- package/lib/globals/aiModels/enums.js +49 -1
- package/lib/globals/aiModels/index.d.ts.map +1 -1
- package/lib/globals/aiModels/index.js +2 -0
- package/lib/globals/aiModels/providers/alibaba.d.ts.map +1 -1
- package/lib/globals/aiModels/providers/alibaba.js +460 -53
- package/lib/globals/aiModels/providers/bytedance.d.ts.map +1 -1
- package/lib/globals/aiModels/providers/bytedance.js +221 -39
- package/lib/globals/aiModels/providers/google.d.ts.map +1 -1
- package/lib/globals/aiModels/providers/google.js +178 -32
- package/lib/globals/aiModels/providers/kling.d.ts.map +1 -1
- package/lib/globals/aiModels/providers/kling.js +86 -12
- package/lib/globals/aiModels/providers/minimax.d.ts.map +1 -1
- package/lib/globals/aiModels/providers/minimax.js +77 -0
- package/lib/globals/aiModels/providers/openai.d.ts.map +1 -1
- package/lib/globals/aiModels/providers/openai.js +12 -0
- package/lib/globals/aiModels/providers/pixverse.d.ts.map +1 -1
- package/lib/globals/aiModels/providers/pixverse.js +101 -28
- package/lib/globals/aiModels/providers/runway.d.ts.map +1 -1
- package/lib/globals/aiModels/providers/runway.js +450 -24
- package/lib/globals/aiModels/providers/xai.d.ts +4 -0
- package/lib/globals/aiModels/providers/xai.d.ts.map +1 -0
- package/lib/globals/aiModels/providers/xai.js +72 -0
- package/lib/globals/aiModels/tierHelpers.d.ts +10 -0
- package/lib/globals/aiModels/tierHelpers.d.ts.map +1 -1
- package/lib/globals/aiModels/tierHelpers.js +48 -7
- package/lib/globals/aiModels/types.d.ts +21 -0
- package/lib/globals/aiModels/types.d.ts.map +1 -1
- package/lib/models/image.model.d.ts +24 -0
- package/lib/models/image.model.d.ts.map +1 -1
- package/lib/models/image.model.js +12 -0
- package/lib/models/index.d.ts +1 -0
- package/lib/models/index.d.ts.map +1 -1
- package/lib/models/index.js +1 -0
- package/lib/models/klingElement.model.d.ts +52 -0
- package/lib/models/klingElement.model.d.ts.map +1 -0
- package/lib/models/klingElement.model.js +24 -0
- package/lib/models/user.model.d.ts +7 -1
- package/lib/models/user.model.d.ts.map +1 -1
- package/lib/models/video.model.d.ts +11 -0
- package/lib/models/video.model.d.ts.map +1 -1
- package/lib/schemas/videoPlan.schema.d.ts +88 -0
- package/lib/schemas/videoPlan.schema.d.ts.map +1 -1
- package/lib/schemas/videoPlan.schema.js +27 -1
- package/lib/services/agent/executor/visual.d.ts.map +1 -1
- package/lib/services/agent/executor/visual.js +40 -2
- package/lib/services/agent/mentionedRefs.d.ts.map +1 -1
- package/lib/services/agent/mentionedRefs.js +4 -1
- package/lib/services/agent/planner/structuralRules.d.ts.map +1 -1
- package/lib/services/agent/planner/structuralRules.js +8 -3
- package/lib/services/agent/poster/posterAgent.schema.d.ts +3 -3
- package/lib/services/agent/providerFallback/chains.d.ts +25 -0
- package/lib/services/agent/providerFallback/chains.d.ts.map +1 -1
- package/lib/services/agent/providerFallback/chains.js +59 -5
- package/lib/services/agent/repair/strategies/llmRepair.strategy.d.ts.map +1 -1
- package/lib/services/agent/repair/strategies/llmRepair.strategy.js +2 -0
- package/lib/services/agent/tools/animateImage.tool.d.ts +31 -0
- package/lib/services/agent/tools/animateImage.tool.d.ts.map +1 -1
- package/lib/services/agent/tools/animateImage.tool.js +10 -3
- package/lib/services/agent/tools/generateImage.tool.d.ts +8 -4
- package/lib/services/agent/tools/generateImage.tool.d.ts.map +1 -1
- package/lib/services/agent/tools/generateImage.tool.js +24 -7
- package/lib/services/agent/tools/generateVideo.tool.d.ts +32 -0
- package/lib/services/agent/tools/generateVideo.tool.d.ts.map +1 -1
- package/lib/services/agent/tools/generateVideo.tool.js +37 -9
- package/lib/services/agent/tools/planVideo.tool.d.ts +19 -0
- package/lib/services/agent/tools/planVideo.tool.d.ts.map +1 -1
- package/lib/services/aiGen/aiGenFactory.service.d.ts.map +1 -1
- package/lib/services/aiGen/aiGenFactory.service.js +40 -0
- package/lib/services/aiGen/canonicalAdapters/cameraControl.types.d.ts +6 -3
- package/lib/services/aiGen/canonicalAdapters/cameraControl.types.d.ts.map +1 -1
- package/lib/services/aiGen/canonicalAdapters/cameraControl.types.js +35 -0
- package/lib/services/aiGen/canonicalAdapters/cameraDirection.d.ts +36 -0
- package/lib/services/aiGen/canonicalAdapters/cameraDirection.d.ts.map +1 -0
- package/lib/services/aiGen/canonicalAdapters/cameraDirection.js +168 -0
- package/lib/services/aiGen/canonicalAdapters/index.d.ts +1 -0
- package/lib/services/aiGen/canonicalAdapters/index.d.ts.map +1 -1
- package/lib/services/aiGen/canonicalAdapters/index.js +1 -0
- package/lib/services/aiGen/canonicalAdapters/multiShot.types.d.ts +3 -2
- package/lib/services/aiGen/canonicalAdapters/multiShot.types.d.ts.map +1 -1
- package/lib/services/aiGen/helpers.d.ts +40 -0
- package/lib/services/aiGen/helpers.d.ts.map +1 -1
- package/lib/services/aiGen/helpers.js +48 -2
- package/lib/services/aiGen/index.d.ts +1 -0
- package/lib/services/aiGen/index.d.ts.map +1 -1
- package/lib/services/aiGen/index.js +3 -0
- package/lib/services/aiGen/providers/alibaba/alibaba.d.ts +13 -1
- package/lib/services/aiGen/providers/alibaba/alibaba.d.ts.map +1 -1
- package/lib/services/aiGen/providers/alibaba/alibaba.js +313 -33
- package/lib/services/aiGen/providers/bytedance/bytedance.service.d.ts +29 -1
- package/lib/services/aiGen/providers/bytedance/bytedance.service.d.ts.map +1 -1
- package/lib/services/aiGen/providers/bytedance/bytedance.service.js +371 -54
- package/lib/services/aiGen/providers/google/google.service.d.ts +16 -0
- package/lib/services/aiGen/providers/google/google.service.d.ts.map +1 -1
- package/lib/services/aiGen/providers/google/google.service.js +372 -116
- package/lib/services/aiGen/providers/google/googleKeyPool.d.ts +6 -0
- package/lib/services/aiGen/providers/google/googleKeyPool.d.ts.map +1 -1
- package/lib/services/aiGen/providers/google/googleKeyPool.js +8 -0
- package/lib/services/aiGen/providers/kling/kling.service.d.ts +17 -1
- package/lib/services/aiGen/providers/kling/kling.service.d.ts.map +1 -1
- package/lib/services/aiGen/providers/kling/kling.service.js +59 -3
- package/lib/services/aiGen/providers/kling/klingCredits.d.ts +1 -1
- package/lib/services/aiGen/providers/kling/klingCredits.d.ts.map +1 -1
- package/lib/services/aiGen/providers/kling/klingCredits.js +19 -1
- package/lib/services/aiGen/providers/kling/klingRequests.d.ts +37 -7
- package/lib/services/aiGen/providers/kling/klingRequests.d.ts.map +1 -1
- package/lib/services/aiGen/providers/kling/klingRequests.js +191 -13
- package/lib/services/aiGen/providers/kling/types.d.ts +78 -0
- package/lib/services/aiGen/providers/kling/types.d.ts.map +1 -1
- package/lib/services/aiGen/providers/minimax/minimax.service.d.ts +11 -2
- package/lib/services/aiGen/providers/minimax/minimax.service.d.ts.map +1 -1
- package/lib/services/aiGen/providers/minimax/minimax.service.js +168 -2
- package/lib/services/aiGen/providers/minimax/types.d.ts +63 -0
- package/lib/services/aiGen/providers/minimax/types.d.ts.map +1 -1
- package/lib/services/aiGen/providers/pixverse/pixverse.service.d.ts +12 -0
- package/lib/services/aiGen/providers/pixverse/pixverse.service.d.ts.map +1 -1
- package/lib/services/aiGen/providers/pixverse/pixverse.service.js +131 -17
- package/lib/services/aiGen/providers/runway/hostedModels.d.ts +84 -0
- package/lib/services/aiGen/providers/runway/hostedModels.d.ts.map +1 -0
- package/lib/services/aiGen/providers/runway/hostedModels.js +266 -0
- package/lib/services/aiGen/providers/runway/index.d.ts +1 -0
- package/lib/services/aiGen/providers/runway/index.d.ts.map +1 -1
- package/lib/services/aiGen/providers/runway/index.js +1 -0
- package/lib/services/aiGen/providers/runway/runway.service.d.ts +1 -1
- package/lib/services/aiGen/providers/runway/runway.service.d.ts.map +1 -1
- package/lib/services/aiGen/providers/runway/runway.service.js +118 -21
- package/lib/services/aiGen/providers/runway/types.d.ts +18 -3
- package/lib/services/aiGen/providers/runway/types.d.ts.map +1 -1
- package/lib/services/aiGen/providers/runway/types.js +31 -3
- package/lib/services/aiGen/providers/types.d.ts +55 -0
- package/lib/services/aiGen/providers/types.d.ts.map +1 -1
- package/lib/services/aiGen/providers/xai/xai.service.d.ts +19 -0
- package/lib/services/aiGen/providers/xai/xai.service.d.ts.map +1 -0
- package/lib/services/aiGen/providers/xai/xai.service.js +205 -0
- package/lib/services/firestore.service.d.ts +4 -0
- package/lib/services/firestore.service.d.ts.map +1 -1
- package/lib/services/firestore.service.js +5 -0
- package/lib/services/index.d.ts +2 -0
- package/lib/services/index.d.ts.map +1 -1
- package/lib/services/index.js +2 -0
- package/lib/services/klingElements/klingElementLibrary.service.d.ts +37 -0
- package/lib/services/klingElements/klingElementLibrary.service.d.ts.map +1 -0
- package/lib/services/klingElements/klingElementLibrary.service.js +179 -0
- package/lib/services/trialGuard/index.d.ts +2 -0
- package/lib/services/trialGuard/index.d.ts.map +1 -0
- package/lib/services/trialGuard/index.js +17 -0
- package/lib/services/trialGuard/trialSignals.d.ts +88 -0
- package/lib/services/trialGuard/trialSignals.d.ts.map +1 -0
- package/lib/services/trialGuard/trialSignals.js +160 -0
- package/lib/utils/helpers.d.ts.map +1 -1
- package/lib/utils/helpers.js +5 -1
- package/package.json +2 -1
|
@@ -84,6 +84,49 @@ exports.googleConfigs = {
|
|
|
84
84
|
notes: "Older Pro tier. Standard rate shown; >200k-token prompts are billed at a higher tier.",
|
|
85
85
|
},
|
|
86
86
|
},
|
|
87
|
+
// Gemini Omni Flash (GA 2026) — Google's current default video model. NOT a
|
|
88
|
+
// Veo model: served by the Interactions API (POST /v1beta/interactions), so
|
|
89
|
+
// google.service.ts routes it through generateOmniVideo(), not generateVideos.
|
|
90
|
+
// Docs: ai.google.dev/gemini-api/docs/omni (fetched 2026-09-29).
|
|
91
|
+
"google-gemini-omni-flash": {
|
|
92
|
+
modelId: "gemini-omni-1.1-flash",
|
|
93
|
+
type: ["text-to-video", "image-to-video"],
|
|
94
|
+
tier: "T3",
|
|
95
|
+
fields: {
|
|
96
|
+
prompt: { required: true },
|
|
97
|
+
aspectRatio: { allowedValues: ["16:9", "9:16"] },
|
|
98
|
+
// 1080p + 4k are upscaled from the native generation.
|
|
99
|
+
resolution: { allowedValues: ["360p", "720p", "1080p", "4k"] },
|
|
100
|
+
// Output is 3–10s. `response_format.duration` exists but its string
|
|
101
|
+
// format is undocumented, so the service steers length via the prompt
|
|
102
|
+
// and bills the DELIVERED length (read from the MP4 → durationSec).
|
|
103
|
+
duration: { allowedValues: [3, 4, 5, 6, 7, 8, 9, 10] },
|
|
104
|
+
imageUrl: {},
|
|
105
|
+
// Two input images = first/last-frame interpolation.
|
|
106
|
+
lastFrameImageUrl: {},
|
|
107
|
+
// Several input images = subject references (sent with task=reference_to_video).
|
|
108
|
+
referenceImageUrls: { max: 3 },
|
|
109
|
+
// No `audio` field: audio is always generated (no toggle).
|
|
110
|
+
// No negative_prompt / seed: unsupported ("put your negatives in the
|
|
111
|
+
// regular prompt") — the service folds a negative prompt into the text.
|
|
112
|
+
},
|
|
113
|
+
// Not yet published in the rate-limit table; mirror the Veo 3.1 Tier-2
|
|
114
|
+
// baseline until AI Studio shows real numbers for this key.
|
|
115
|
+
requestPerMin: 4,
|
|
116
|
+
requestPerDay: 50,
|
|
117
|
+
cost: {
|
|
118
|
+
// $17.50 / 1M output video tokens × 5,792 tokens per second of 720p video
|
|
119
|
+
// ≈ $0.10/s (ai.google.dev pricing, 2026-09-29). 1080p/4k are upscales;
|
|
120
|
+
// Google quotes no separate rate, so they bill at the same estimate.
|
|
121
|
+
perSecond: 0.10,
|
|
122
|
+
},
|
|
123
|
+
guidance: {
|
|
124
|
+
quality: 5,
|
|
125
|
+
speed: 3,
|
|
126
|
+
bestFor: "Google's newest all-round video model: text/image-to-video, first-last-frame, subject references, native audio.",
|
|
127
|
+
notes: "3–10s, 16:9 or 9:16. Audio is always on. No negative prompt or seed. 1080p/4k are upscaled.",
|
|
128
|
+
},
|
|
129
|
+
},
|
|
87
130
|
"google-veo-3.1": {
|
|
88
131
|
modelId: "veo-3.1-generate-preview",
|
|
89
132
|
type: ["text-to-video", "image-to-video"],
|
|
@@ -155,7 +198,9 @@ exports.googleConfigs = {
|
|
|
155
198
|
fields: {
|
|
156
199
|
prompt: { required: true },
|
|
157
200
|
aspectRatio: { allowedValues: ["16:9", "9:16"] },
|
|
158
|
-
|
|
201
|
+
// 4k added 2026-09-29 — the Veo parameter table gives 3.1 and 3.1 Fast
|
|
202
|
+
// the same 720p / 1080p / 4k set (1080p + 4k: 8s only; 4k not with refs).
|
|
203
|
+
resolution: { allowedValues: ["720p", "1080p", "4k"] },
|
|
159
204
|
duration: { allowedValues: [4, 6, 8] },
|
|
160
205
|
imageUrl: {},
|
|
161
206
|
lastFrameImageUrl: {},
|
|
@@ -178,13 +223,14 @@ exports.googleConfigs = {
|
|
|
178
223
|
durationRules: {
|
|
179
224
|
4: ["720p"],
|
|
180
225
|
6: ["720p"],
|
|
181
|
-
8: ["720p", "1080p"],
|
|
226
|
+
8: ["720p", "1080p", "4k"],
|
|
182
227
|
},
|
|
183
228
|
// Tier 2 ceiling: 4 RPM / ~50 RPD per model (see veo-3.1 note above).
|
|
184
229
|
requestPerMin: 4,
|
|
185
230
|
requestPerDay: 50,
|
|
186
231
|
cost: {
|
|
187
|
-
|
|
232
|
+
// ai.google.dev pricing (2026-09-29): $0.10 720p, $0.12 1080p, $0.30 4k.
|
|
233
|
+
perResolution: { "720p": 0.10, "1080p": 0.12, "4k": 0.30 },
|
|
188
234
|
},
|
|
189
235
|
},
|
|
190
236
|
"google-veo-3.1-lite": {
|
|
@@ -229,7 +275,9 @@ exports.googleConfigs = {
|
|
|
229
275
|
perResolution: { "720p": 0.05, "1080p": 0.08 },
|
|
230
276
|
},
|
|
231
277
|
},
|
|
232
|
-
//
|
|
278
|
+
// ⚰️ END OF LIFE: shut down by Google 2026-06-30 (veo-3.0-generate-001,
|
|
279
|
+
// veo-3.0-fast-generate-001, veo-2.0-generate-001). Recommended replacement:
|
|
280
|
+
// veo-3.1-generate-preview / veo-3.1-fast-generate-preview (configs above).
|
|
233
281
|
// "google-veo-3": {
|
|
234
282
|
// modelId: "veo-3.0-generate-001",
|
|
235
283
|
// type: ["text-to-video", "image-to-video"],
|
|
@@ -288,75 +336,173 @@ exports.googleConfigs = {
|
|
|
288
336
|
// ───────────────────────────────────────────────────────────────────────
|
|
289
337
|
// Image-gen — Imagen 4 (raw T2I) + Nano Banana (T2I + instruction edit)
|
|
290
338
|
// ───────────────────────────────────────────────────────────────────────
|
|
291
|
-
//
|
|
339
|
+
// ⚰️ END OF LIFE — Imagen 4 (imagen-4.0-{ultra-,,fast-}generate-001).
|
|
340
|
+
// Google's announced shutdown date was 2026-08-17 (ai.google.dev/gemini-api/
|
|
341
|
+
// docs/deprecations, recommended replacement gemini-3.1-flash-image); our
|
|
342
|
+
// live calls started 404ing 2026-08-19 and the whole family was gone from
|
|
343
|
+
// models.list by 2026-09-14. The keys are kept (saved requests, agent/MCP
|
|
344
|
+
// callers, old jobs) but REPOINTED to the closest live Gemini image model
|
|
345
|
+
// at a similar price/quality point. Fields/cost below are the successor's.
|
|
346
|
+
// REMOVED FOR v1 — kept for reference: original Imagen 4 configs.
|
|
347
|
+
// "google-imagen-4-ultra": { modelId: "imagen-4.0-ultra-generate-001", type: ["text-to-image"], tier: "T2",
|
|
348
|
+
// fields: { prompt: { required: true }, aspectRatio: { allowedValues: ["1:1", "9:16", "16:9", "3:4", "4:3"] },
|
|
349
|
+
// numImages: { default: 1 }, personGeneration: { allowedValues: ["allow_all", "allow_adult", "dont_allow"] } },
|
|
350
|
+
// cost: { fixed: 0.06 } },
|
|
351
|
+
// "google-imagen-4": { modelId: "imagen-4.0-generate-001", ...same fields..., cost: { fixed: 0.04 } },
|
|
352
|
+
// "google-imagen-4-fast": { modelId: "imagen-4.0-fast-generate-001", tier: "T1", ...same fields..., cost: { fixed: 0.02 } },
|
|
353
|
+
// Imagen 4 Ultra ($0.06) → Nano Banana 2 / Gemini 3.1 Flash Image at 1K
|
|
354
|
+
// ($0.067) — Google's own recommended replacement. EOL: none announced
|
|
355
|
+
// (checked 2026-09-29).
|
|
292
356
|
"google-imagen-4-ultra": {
|
|
293
|
-
modelId: "
|
|
294
|
-
|
|
357
|
+
modelId: "gemini-3.1-flash-image",
|
|
358
|
+
deprecated: {
|
|
359
|
+
on: "2026-09-29",
|
|
360
|
+
reason: "Imagen 4 Ultra was shut down by Google on 2026-08-17; this key is served by Nano Banana 2.",
|
|
361
|
+
replacement: "google-nano-banana-2",
|
|
362
|
+
},
|
|
363
|
+
type: ["text-to-image", "image-to-image"],
|
|
295
364
|
tier: "T2",
|
|
296
365
|
fields: {
|
|
297
366
|
prompt: { required: true },
|
|
298
|
-
aspectRatio: { allowedValues: ["1:1", "
|
|
367
|
+
aspectRatio: { allowedValues: ["1:1", "2:3", "3:2", "3:4", "4:3", "4:5", "5:4", "9:16", "16:9", "21:9"] },
|
|
299
368
|
numImages: { default: 1 },
|
|
300
|
-
|
|
369
|
+
inputImageUrls: { max: 14 },
|
|
370
|
+
},
|
|
371
|
+
cost: { fixed: 0.067 }, // $60 / 1M image tokens, 1K output
|
|
372
|
+
guidance: {
|
|
373
|
+
quality: 4,
|
|
374
|
+
speed: 4,
|
|
375
|
+
bestFor: "Replacement for Imagen 4 Ultra — high-quality image gen + editing.",
|
|
376
|
+
notes: "Imagen 4 Ultra was shut down by Google (2026-08-17); served by gemini-3.1-flash-image.",
|
|
301
377
|
},
|
|
302
|
-
cost: { fixed: 0.06 }, // per image
|
|
303
378
|
},
|
|
379
|
+
// Imagen 4 ($0.04) and Imagen 4 Fast ($0.02) → Nano Banana 2 Lite / Gemini
|
|
380
|
+
// 3.1 Flash-Lite Image ($0.0336, 1K only). Cheapest live Google image model.
|
|
381
|
+
// EOL: none announced (checked 2026-09-29).
|
|
304
382
|
"google-imagen-4": {
|
|
305
|
-
modelId: "
|
|
306
|
-
|
|
307
|
-
|
|
383
|
+
modelId: "gemini-3.1-flash-lite-image",
|
|
384
|
+
deprecated: {
|
|
385
|
+
on: "2026-09-29",
|
|
386
|
+
reason: "Imagen 4 was shut down by Google on 2026-08-17; this key is served by Nano Banana 2 Lite.",
|
|
387
|
+
replacement: "google-nano-banana",
|
|
388
|
+
},
|
|
389
|
+
type: ["text-to-image", "image-to-image"],
|
|
390
|
+
tier: "T1",
|
|
308
391
|
fields: {
|
|
309
392
|
prompt: { required: true },
|
|
310
|
-
aspectRatio: { allowedValues: ["1:1", "
|
|
393
|
+
aspectRatio: { allowedValues: ["1:1", "2:3", "3:2", "3:4", "4:3", "4:5", "5:4", "9:16", "16:9", "21:9"] },
|
|
311
394
|
numImages: { default: 1 },
|
|
312
|
-
|
|
395
|
+
inputImageUrls: { max: 14 },
|
|
396
|
+
},
|
|
397
|
+
cost: { fixed: 0.0336 }, // $30 / 1M image tokens, 1K output
|
|
398
|
+
guidance: {
|
|
399
|
+
quality: 3,
|
|
400
|
+
speed: 5,
|
|
401
|
+
bestFor: "Replacement for Imagen 4 — cheap, fast 1K image gen + edits.",
|
|
402
|
+
notes: "Imagen 4 was shut down by Google (2026-08-17); served by gemini-3.1-flash-lite-image.",
|
|
313
403
|
},
|
|
314
|
-
cost: { fixed: 0.04 },
|
|
315
404
|
},
|
|
316
405
|
"google-imagen-4-fast": {
|
|
317
|
-
modelId: "
|
|
318
|
-
|
|
406
|
+
modelId: "gemini-3.1-flash-lite-image",
|
|
407
|
+
deprecated: {
|
|
408
|
+
on: "2026-09-29",
|
|
409
|
+
reason: "Imagen 4 Fast was shut down by Google on 2026-08-17; this key is served by Nano Banana 2 Lite.",
|
|
410
|
+
replacement: "google-nano-banana",
|
|
411
|
+
},
|
|
412
|
+
type: ["text-to-image", "image-to-image"],
|
|
319
413
|
tier: "T1",
|
|
320
414
|
fields: {
|
|
321
415
|
prompt: { required: true },
|
|
322
|
-
aspectRatio: { allowedValues: ["1:1", "
|
|
416
|
+
aspectRatio: { allowedValues: ["1:1", "2:3", "3:2", "3:4", "4:3", "4:5", "5:4", "9:16", "16:9", "21:9"] },
|
|
323
417
|
numImages: { default: 1 },
|
|
324
|
-
|
|
418
|
+
inputImageUrls: { max: 14 },
|
|
419
|
+
},
|
|
420
|
+
cost: { fixed: 0.0336 },
|
|
421
|
+
guidance: {
|
|
422
|
+
quality: 3,
|
|
423
|
+
speed: 5,
|
|
424
|
+
bestFor: "Replacement for Imagen 4 Fast — cheapest, sub-2s 1K image gen.",
|
|
425
|
+
notes: "Imagen 4 Fast was shut down by Google (2026-08-17); served by gemini-3.1-flash-lite-image.",
|
|
325
426
|
},
|
|
326
|
-
cost: { fixed: 0.02 },
|
|
327
427
|
},
|
|
328
428
|
// Nano Banana — Gemini image models. Support T2I and instruction-edit
|
|
329
|
-
// (input images supplied via inputImageUrls; up to 14 refs
|
|
429
|
+
// (input images supplied via inputImageUrls; up to 14 refs).
|
|
330
430
|
"google-nano-banana-pro": {
|
|
331
|
-
|
|
431
|
+
// REMOVED FOR v1 — kept for reference: the preview id's announced shutdown
|
|
432
|
+
// was 2026-06-25 (ai.google.dev deprecations); GA replacement below.
|
|
433
|
+
// modelId: "gemini-3-pro-image-preview",
|
|
434
|
+
// EOL (gemini-3-pro-image): none announced (checked 2026-09-29).
|
|
435
|
+
modelId: "gemini-3-pro-image",
|
|
332
436
|
type: ["text-to-image", "image-to-image"],
|
|
333
437
|
tier: "T2",
|
|
334
438
|
fields: {
|
|
335
439
|
prompt: { required: true },
|
|
336
|
-
aspectRatio: { allowedValues: ["1:1", "
|
|
440
|
+
aspectRatio: { allowedValues: ["1:1", "2:3", "3:2", "3:4", "4:3", "4:5", "5:4", "9:16", "16:9", "21:9"] },
|
|
337
441
|
inputImageUrls: { max: 14 },
|
|
338
442
|
imageSize: { allowedValues: ["1K", "2K", "4K", "auto_2K"] },
|
|
339
443
|
},
|
|
340
|
-
//
|
|
444
|
+
// Output charged per-image by resolution.
|
|
341
445
|
// 1K & 2K (1MP/4MP) = 1120 tokens → $0.134; 4K (16MP) = 2000 tokens → $0.24.
|
|
342
446
|
cost: {
|
|
343
447
|
perImageSize: { "1K": 0.134, "2K": 0.134, "auto_2K": 0.134, "4K": 0.24 },
|
|
344
448
|
fixed: 0.134, // fallback when imageSize not supplied
|
|
345
449
|
},
|
|
346
450
|
},
|
|
347
|
-
//
|
|
348
|
-
//
|
|
349
|
-
|
|
451
|
+
// Nano Banana 2 = Gemini 3.1 Flash Image (GA 2026-05-28). EOL: none
|
|
452
|
+
// announced (checked 2026-09-29).
|
|
453
|
+
"google-nano-banana-2": {
|
|
454
|
+
modelId: "gemini-3.1-flash-image",
|
|
455
|
+
type: ["text-to-image", "image-to-image"],
|
|
456
|
+
tier: "T1",
|
|
457
|
+
fields: {
|
|
458
|
+
prompt: { required: true },
|
|
459
|
+
aspectRatio: {
|
|
460
|
+
allowedValues: [
|
|
461
|
+
"1:1", "2:3", "3:2", "3:4", "4:3", "4:5", "5:4", "9:16", "16:9", "21:9",
|
|
462
|
+
"1:4", "4:1", "1:8", "8:1",
|
|
463
|
+
],
|
|
464
|
+
},
|
|
465
|
+
// Up to 14 refs total (≤10 objects hi-fi, ≤4 characters).
|
|
466
|
+
inputImageUrls: { max: 14 },
|
|
467
|
+
// "512" is the 0.5K size (uppercase K required for the others).
|
|
468
|
+
imageSize: { allowedValues: ["512", "1K", "2K", "4K"] },
|
|
469
|
+
},
|
|
470
|
+
// $60 / 1M image-output tokens (ai.google.dev pricing, 2026-09-29).
|
|
471
|
+
cost: {
|
|
472
|
+
perImageSize: { "512": 0.045, "1K": 0.067, "2K": 0.101, "4K": 0.151 },
|
|
473
|
+
fixed: 0.067, // default size is 1K
|
|
474
|
+
},
|
|
475
|
+
guidance: {
|
|
476
|
+
quality: 4,
|
|
477
|
+
speed: 4,
|
|
478
|
+
bestFor: "Fast, high-quality image gen + editing with 0.5K–4K output and extreme aspect ratios.",
|
|
479
|
+
},
|
|
480
|
+
},
|
|
350
481
|
"google-nano-banana": {
|
|
351
|
-
|
|
482
|
+
// ⚰️ END OF LIFE: gemini-2.5-flash-image shuts down 2026-10-02
|
|
483
|
+
// (ai.google.dev deprecations). This key is the agent/demo/MCP default
|
|
484
|
+
// image model, so it is repointed (not removed) to the closest successor
|
|
485
|
+
// at the same price point: Nano Banana 2 Lite. EOL of the successor: none
|
|
486
|
+
// announced (checked 2026-09-29).
|
|
487
|
+
// REMOVED FOR v1 — kept for reference:
|
|
488
|
+
// modelId: "gemini-2.5-flash-image",
|
|
489
|
+
// cost: { fixed: 0.0387 }, // ~$0.04 per image (1290 tokens × $30/1M)
|
|
490
|
+
modelId: "gemini-3.1-flash-lite-image",
|
|
352
491
|
type: ["text-to-image", "image-to-image"],
|
|
353
492
|
tier: "T1",
|
|
354
493
|
fields: {
|
|
355
494
|
prompt: { required: true },
|
|
356
|
-
aspectRatio: { allowedValues: ["1:1", "
|
|
357
|
-
|
|
495
|
+
aspectRatio: { allowedValues: ["1:1", "2:3", "3:2", "3:4", "4:3", "4:5", "5:4", "9:16", "16:9", "21:9"] },
|
|
496
|
+
// Up to 14 object references. Lite is 1K-only (no imageSize knob).
|
|
497
|
+
inputImageUrls: { max: 14 },
|
|
498
|
+
},
|
|
499
|
+
cost: { fixed: 0.0336 }, // $30 / 1M image tokens ≈ $0.0336 per 1K image
|
|
500
|
+
guidance: {
|
|
501
|
+
quality: 3,
|
|
502
|
+
speed: 5,
|
|
503
|
+
bestFor: "Cheapest, sub-2s image gen + local edits at 1K.",
|
|
504
|
+
notes: "Nano Banana 2 Lite. 1K only; no search grounding.",
|
|
358
505
|
},
|
|
359
|
-
cost: { fixed: 0.0387 }, // ~$0.04 per image; per Google pricing (1290 tokens × $30/1M)
|
|
360
506
|
},
|
|
361
507
|
// ───────────────────────────────────────────────────────────────────────
|
|
362
508
|
// Music-gen — Lyria 2 (Vertex AI predict endpoint, ADC auth)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kling.d.ts","sourceRoot":"","sources":["../../../../src/globals/aiModels/providers/kling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAsB,YAAY,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"kling.d.ts","sourceRoot":"","sources":["../../../../src/globals/aiModels/providers/kling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAsB,YAAY,EAAE,MAAM,UAAU,CAAC;AAyC5D,eAAO,MAAM,YAAY,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,CAsgBnE,CAAC"}
|
|
@@ -17,7 +17,11 @@ const klingI2vFields = {
|
|
|
17
17
|
lastFrameImageUrl: {}, // image_tail
|
|
18
18
|
staticMaskUrl: {},
|
|
19
19
|
dynamicMasks: {},
|
|
20
|
-
|
|
20
|
+
// REMOVED FOR v2 — kept for reference. Kling's current 2.5-turbo / 2.6 / v3
|
|
21
|
+
// API docs (kling.ai/document-api/api/video/*, 2026-09-29) have no
|
|
22
|
+
// `camera_control`; camera moves are prompt text, which applyCameraDirection
|
|
23
|
+
// writes for every model, so no model declares a native field for it.
|
|
24
|
+
// cameraControl: {},
|
|
21
25
|
};
|
|
22
26
|
// ─── Kling Image Generation ───────────────────────────────────────────────────
|
|
23
27
|
// Two separate endpoint families per official docs (2026-05-20):
|
|
@@ -109,7 +113,9 @@ exports.klingConfigs = {
|
|
|
109
113
|
callbackUrl: {},
|
|
110
114
|
externalTaskId: {},
|
|
111
115
|
// OmniVideo uses image_list[] instead of the image/image_tail fields
|
|
112
|
-
|
|
116
|
+
// image_list entries without a frame type. Legacy omni-video docs
|
|
117
|
+
// (2026-09-29): refs + multi-image elements ≤ 7, ≤ 4 with a reference video.
|
|
118
|
+
referenceImageUrls: { max: 7 },
|
|
113
119
|
inputImageUrl: {}, // image_list entry with type: first_frame
|
|
114
120
|
lastFrameImageUrl: {}, // image_list entry with type: end_frame
|
|
115
121
|
referenceVideoUrls: {}, // video_list[] (up to 1)
|
|
@@ -141,7 +147,7 @@ exports.klingConfigs = {
|
|
|
141
147
|
negative_prompt: {},
|
|
142
148
|
callbackUrl: {},
|
|
143
149
|
externalTaskId: {},
|
|
144
|
-
referenceImageUrls: {},
|
|
150
|
+
referenceImageUrls: { max: 7 }, // see kling-video-o1
|
|
145
151
|
inputImageUrl: {},
|
|
146
152
|
lastFrameImageUrl: {},
|
|
147
153
|
referenceVideoUrls: {},
|
|
@@ -226,10 +232,15 @@ exports.klingConfigs = {
|
|
|
226
232
|
// values in the UI picker (P5.6.b).
|
|
227
233
|
duration: { allowedValues: [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] },
|
|
228
234
|
mode: { allowedValues: ["std", "pro", "4k"] },
|
|
229
|
-
//
|
|
230
|
-
|
|
231
|
-
//
|
|
232
|
-
|
|
235
|
+
// Native audio → `sound: "on"|"off"` (Kling docs, 2026-09-29; the
|
|
236
|
+
// capability map lists native audio for 3.0). There is no
|
|
237
|
+
// `generate_audio` request field.
|
|
238
|
+
audio: {},
|
|
239
|
+
// REMOVED FOR v2 — kept for reference: generate_audio: {},
|
|
240
|
+
// Per-shot { prompt, duration? }. On this (text2video/image2video)
|
|
241
|
+
// endpoint Kling 3.0 reads multi-shot from the prompt — "shot n, m,
|
|
242
|
+
// words;" (docs 2026-09-29) — so buildVideoGenerateRequest encodes it
|
|
243
|
+
// there (toKlingShotPrompt). multi_prompt[] is the omni-video shape.
|
|
233
244
|
multiShot: {},
|
|
234
245
|
},
|
|
235
246
|
concurrentRequests: 10,
|
|
@@ -274,9 +285,9 @@ exports.klingConfigs = {
|
|
|
274
285
|
// • no 4K (720p/1080p only) • no first/last-frame (first_frame only)
|
|
275
286
|
// • no element control • no motion control / video reference
|
|
276
287
|
// • no camera control • no cfg_scale / negative_prompt fields
|
|
277
|
-
// • multi-shot is encoded IN THE PROMPT ("shot 1,
|
|
278
|
-
// not as a multi_prompt[] array —
|
|
279
|
-
//
|
|
288
|
+
// • multi-shot is encoded IN THE PROMPT ("shot 1, 3, …; shot 2, 4, …"),
|
|
289
|
+
// not as a multi_prompt[] array — buildTurboVideoBody encodes the
|
|
290
|
+
// canonical `multiShot` that way (toKlingShotPrompt, 2026-09-29).
|
|
280
291
|
"kling-v3.0-turbo": {
|
|
281
292
|
modelId: "kling-3.0-turbo", // also the URL path segment — keep exact
|
|
282
293
|
type: ["text-to-video", "image-to-video"],
|
|
@@ -295,6 +306,7 @@ exports.klingConfigs = {
|
|
|
295
306
|
callbackUrl: {},
|
|
296
307
|
externalTaskId: {},
|
|
297
308
|
watermark: {},
|
|
309
|
+
multiShot: {}, // prompt-encoded, ≤ 6 shots (see above)
|
|
298
310
|
},
|
|
299
311
|
concurrentRequests: 10,
|
|
300
312
|
// Verified 2026-07-22 from /document-api/pricing/base/video.
|
|
@@ -327,6 +339,68 @@ exports.klingConfigs = {
|
|
|
327
339
|
notes: "Audio is always on and always billed — for silent output kling-v3.0 std is 33% cheaper. No 4K, no last-frame, no camera control, no element/motion control.",
|
|
328
340
|
},
|
|
329
341
|
},
|
|
342
|
+
// ─── Kling 3.0 Omni on API 2.0 (POST /omni-video/kling-3.0-omni) ──────────
|
|
343
|
+
// The same model family as "kling-v3-omni-video" (v1 /v1/videos/omni-video,
|
|
344
|
+
// JWT auth) but on Kling's API 2.0 surface: apiKey auth, nested
|
|
345
|
+
// contents/settings/options body, data.id submit response, GET /tasks
|
|
346
|
+
// polling (shared with Turbo via checkTurboVideoStatus). What this surface
|
|
347
|
+
// adds over the v1 Omni entry:
|
|
348
|
+
// • video EDIT via base_video (canonical inputVideoUrl)
|
|
349
|
+
// • per-input ids the prompt cites as @image_1 / @video_1
|
|
350
|
+
// • "original" audio (keep the edited clip's own track)
|
|
351
|
+
//
|
|
352
|
+
// Rules (enforced in buildOmni2VideoBody): last frame needs a first frame;
|
|
353
|
+
// ≤1 video; ≤7 reference images without a video, ≤4 with one; a base-video
|
|
354
|
+
// edit takes no frames and no multi-shot; a feature video allows no audio;
|
|
355
|
+
// reference/base video must be 3–15.5s. Kling Element Library inputs
|
|
356
|
+
// (`klingElements` → `element`, cited as @element_n) share the image budget
|
|
357
|
+
// (multi-image elements) or have their own caps (video-character elements);
|
|
358
|
+
// ownership is checked by KlingElementLibrary before the job is queued.
|
|
359
|
+
// Elements don't change the price tier ("video input" = feature/base video).
|
|
360
|
+
"kling-v3.0-omni": {
|
|
361
|
+
modelId: "kling-3.0-omni", // also the URL path segment — keep exact
|
|
362
|
+
type: ["text-to-video", "image-to-video", "video-to-video"],
|
|
363
|
+
tier: "T3",
|
|
364
|
+
fields: {
|
|
365
|
+
prompt: { required: true },
|
|
366
|
+
aspectRatio: { allowedValues: ["16:9", "9:16", "1:1"] },
|
|
367
|
+
duration: { allowedValues: [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15] },
|
|
368
|
+
// std→720p, pro→1080p, 4k→4k (see resolveKlingOmni2Resolution).
|
|
369
|
+
mode: { allowedValues: ["std", "pro", "4k"] },
|
|
370
|
+
resolution: { allowedValues: ["720p", "1080p", "4k"], default: "720p" },
|
|
371
|
+
inputImageUrl: {}, // → first_frame
|
|
372
|
+
lastFrameImageUrl: {}, // → last_frame (needs a first frame)
|
|
373
|
+
referenceImageUrls: { max: 7 }, // → refer_image (≤4 with a video)
|
|
374
|
+
referenceVideoUrls: { max: 1 }, // → feature_video
|
|
375
|
+
inputVideoUrl: {}, // → base_video (edit)
|
|
376
|
+
klingElements: { max: 7 }, // → element (combination caps in buildOmni2VideoBody)
|
|
377
|
+
audio: {},
|
|
378
|
+
multiShot: {},
|
|
379
|
+
callbackUrl: {},
|
|
380
|
+
externalTaskId: {},
|
|
381
|
+
watermark: {},
|
|
382
|
+
},
|
|
383
|
+
concurrentRequests: 5,
|
|
384
|
+
// Verified 2026-09-29 from /document-api/pricing/base/video (per second):
|
|
385
|
+
// 720p 1080p 4k
|
|
386
|
+
// no video input, no native audio $0.084 $0.112 $0.42
|
|
387
|
+
// no video input, native audio $0.112 $0.14 $0.42
|
|
388
|
+
// video input (never native audio) $0.126 $0.168 $0.42
|
|
389
|
+
// `perSecondByResolution` is the base (cheapest) tier so the planner's
|
|
390
|
+
// cost estimate stays conservative; getKlingCreditUsed picks the real
|
|
391
|
+
// tier from audio + inputType.
|
|
392
|
+
cost: {
|
|
393
|
+
perSecondByResolution: { "720p": 0.084, "1080p": 0.112, "4k": 0.42 },
|
|
394
|
+
nativeAudioPerSecondByResolution: { "720p": 0.112, "1080p": 0.14, "4k": 0.42 },
|
|
395
|
+
videoInputPerSecondByResolution: { "720p": 0.126, "1080p": 0.168, "4k": 0.42 },
|
|
396
|
+
},
|
|
397
|
+
guidance: {
|
|
398
|
+
quality: 5,
|
|
399
|
+
speed: 3,
|
|
400
|
+
bestFor: "Kling's most flexible 3.0 model: edit an existing clip, restyle from a reference video, or combine up to 7 reference images with first/last frames. Only Kling option with 4K plus video editing.",
|
|
401
|
+
notes: "Video input bills 50% above text/image input. A reference video forces silent output; an edit can keep the original sound. For plain text/image-to-video with sound, kling-v3.0-turbo is the same price and faster.",
|
|
402
|
+
},
|
|
403
|
+
},
|
|
330
404
|
"kling-v2.6": {
|
|
331
405
|
modelId: "kling-v2-6",
|
|
332
406
|
type: ["text-to-video", "image-to-video"],
|
|
@@ -335,8 +409,8 @@ exports.klingConfigs = {
|
|
|
335
409
|
...klingCommonFields,
|
|
336
410
|
...klingI2vFields,
|
|
337
411
|
mode: { allowedValues: ["std", "pro"] },
|
|
338
|
-
//
|
|
339
|
-
//
|
|
412
|
+
// `sound: "on"|"off"` — real native audio per Kling's capability map
|
|
413
|
+
// (2.6 "See the sound, hear the visual"), billed at the audio rate.
|
|
340
414
|
audio: {},
|
|
341
415
|
},
|
|
342
416
|
concurrentRequests: 10,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"minimax.d.ts","sourceRoot":"","sources":["../../../../src/globals/aiModels/providers/minimax.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"minimax.d.ts","sourceRoot":"","sources":["../../../../src/globals/aiModels/providers/minimax.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAKxC,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,CA6NrE,CAAC"}
|
|
@@ -1,7 +1,84 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.minimaxConfigs = void 0;
|
|
4
|
+
/** H3 `ratio` values (plus "adaptive", which we send by omitting ratio). */
|
|
5
|
+
const MINIMAX_H3_ASPECTS = ["21:9", "16:9", "4:3", "1:1", "3:4", "9:16"];
|
|
4
6
|
exports.minimaxConfigs = {
|
|
7
|
+
// ───────────────────────────────────────────────────────────────────────
|
|
8
|
+
// MiniMax H3 family — video generation V2 (POST /v2/video_generation,
|
|
9
|
+
// multimodal content[] with roles; poll GET /v2/query/video_generation/{id}).
|
|
10
|
+
// Source: platform.minimax.io api-reference/video-generation-v2-create +
|
|
11
|
+
// guides/pricing-paygo, read 2026-09-29. MiniMax now lists Hailuo 2.3 / 02
|
|
12
|
+
// as legacy. Pay-as-you-go only (video packages don't cover H3).
|
|
13
|
+
// - T2V: `ratio` required. I2V (first and/or last frame): ratio follows
|
|
14
|
+
// the image. Reference mode (≤9 images, ≤3 videos, ≤3 audio, ≤12 files
|
|
15
|
+
// total) can't be mixed with first/last frame.
|
|
16
|
+
// - Output always carries generated audio (dialogue, voice from a
|
|
17
|
+
// reference_audio clip); there's no audio toggle.
|
|
18
|
+
// - Camera: bracketed moves after key descriptions ([pan], [zoom]…).
|
|
19
|
+
// ───────────────────────────────────────────────────────────────────────
|
|
20
|
+
"minimax-h3": {
|
|
21
|
+
modelId: "MiniMax-H3",
|
|
22
|
+
type: ["text-to-video", "image-to-video", "video-to-video"],
|
|
23
|
+
tier: "T3",
|
|
24
|
+
acceptedImageFormats: ["image/jpeg", "image/jpg", "image/png", "image/webp", "image/heic", "image/heif"],
|
|
25
|
+
fields: {
|
|
26
|
+
prompt: { required: true },
|
|
27
|
+
aspectRatio: { allowedValues: MINIMAX_H3_ASPECTS },
|
|
28
|
+
resolution: { allowedValues: ["768P", "2K"], default: "768P" },
|
|
29
|
+
duration: { allowedValues: [4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], default: 5 },
|
|
30
|
+
inputImageUrl: {},
|
|
31
|
+
lastFrameImageUrl: {},
|
|
32
|
+
referenceImageUrls: { max: 9 },
|
|
33
|
+
referenceVideoUrls: { max: 3 },
|
|
34
|
+
referenceAudioUrls: { max: 3 },
|
|
35
|
+
},
|
|
36
|
+
cost: {
|
|
37
|
+
perSecondByResolution: { "768P": 0.08, "2K": 0.13 },
|
|
38
|
+
// Reference video is billed per input second at the output-resolution rate.
|
|
39
|
+
inputVideoPerSecond: { "768P": 0.08, "2K": 0.13 },
|
|
40
|
+
freeInputImages: 5,
|
|
41
|
+
perExtraInputImage: 0.04,
|
|
42
|
+
},
|
|
43
|
+
guidance: {
|
|
44
|
+
quality: 5,
|
|
45
|
+
speed: 2,
|
|
46
|
+
bestFor: "Multimodal reference video: keep a character/product from up to 9 images, copy motion/camera from reference clips, voice from reference audio; native 2K; first+last frame.",
|
|
47
|
+
notes: "$0.40 for 5s at 768P, $0.65 at 2K. Always generates audio.",
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
"minimax-h3-max": {
|
|
51
|
+
modelId: "MiniMax-H3-Max",
|
|
52
|
+
type: ["text-to-video", "image-to-video", "video-to-video"],
|
|
53
|
+
tier: "T2",
|
|
54
|
+
acceptedImageFormats: ["image/jpeg", "image/jpg", "image/png", "image/webp", "image/heic", "image/heif"],
|
|
55
|
+
fields: {
|
|
56
|
+
prompt: { required: true },
|
|
57
|
+
aspectRatio: { allowedValues: MINIMAX_H3_ASPECTS },
|
|
58
|
+
resolution: { allowedValues: ["480P", "768P"], default: "768P" },
|
|
59
|
+
duration: { allowedValues: [5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], default: 5 },
|
|
60
|
+
inputImageUrl: {},
|
|
61
|
+
lastFrameImageUrl: {},
|
|
62
|
+
referenceImageUrls: { max: 9 },
|
|
63
|
+
referenceVideoUrls: { max: 3 },
|
|
64
|
+
referenceAudioUrls: { max: 3 },
|
|
65
|
+
// → extra.prompt_expansion_mode: false = "disabled", else MiniMax's
|
|
66
|
+
// default "balanced".
|
|
67
|
+
promptOptimizer: {},
|
|
68
|
+
},
|
|
69
|
+
cost: {
|
|
70
|
+
perSecondByResolution: { "480P": 0.05, "768P": 0.08 },
|
|
71
|
+
inputVideoPerSecond: { "480P": 0.0553, "768P": 0.143 },
|
|
72
|
+
freeInputImages: 2,
|
|
73
|
+
perExtraInputImage: 0.074,
|
|
74
|
+
},
|
|
75
|
+
guidance: {
|
|
76
|
+
quality: 4,
|
|
77
|
+
speed: 4,
|
|
78
|
+
bestFor: "Faster H3 (fal.ai post-train) for drafts and volume: same T2V / I2V / reference modes at 480P–768P.",
|
|
79
|
+
notes: "No 2K, no 4s clips. Reference video input is pricier than on H3.",
|
|
80
|
+
},
|
|
81
|
+
},
|
|
5
82
|
"minimax-hailuo-2.3-fast": {
|
|
6
83
|
modelId: "MiniMax-Hailuo-2.3-Fast",
|
|
7
84
|
type: ["text-to-video", "image-to-video"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../../src/globals/aiModels/providers/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../../../src/globals/aiModels/providers/openai.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,CA+OpE,CAAC"}
|
|
@@ -5,6 +5,12 @@ exports.openaiConfigs = {
|
|
|
5
5
|
// --- Video models ---
|
|
6
6
|
"openai-sora-2": {
|
|
7
7
|
modelId: "sora-2",
|
|
8
|
+
// ⚰️ END OF LIFE: OpenAI shut down Sora 2 / 2 Pro and the Videos API on
|
|
9
|
+
// 2026-09-24 (developers.openai.com deprecations).
|
|
10
|
+
retired: {
|
|
11
|
+
on: "2026-09-24",
|
|
12
|
+
reason: "OpenAI shut down Sora 2 and the Videos API on 2026-09-24.",
|
|
13
|
+
},
|
|
8
14
|
type: ["text-to-video", "image-to-video", "video-to-video"],
|
|
9
15
|
tier: "T3",
|
|
10
16
|
fields: {
|
|
@@ -31,6 +37,12 @@ exports.openaiConfigs = {
|
|
|
31
37
|
},
|
|
32
38
|
"openai-sora-2-pro": {
|
|
33
39
|
modelId: "sora-2-pro",
|
|
40
|
+
// ⚰️ END OF LIFE: OpenAI shut down Sora 2 / 2 Pro and the Videos API on
|
|
41
|
+
// 2026-09-24 (developers.openai.com deprecations).
|
|
42
|
+
retired: {
|
|
43
|
+
on: "2026-09-24",
|
|
44
|
+
reason: "OpenAI shut down Sora 2 and the Videos API on 2026-09-24.",
|
|
45
|
+
},
|
|
34
46
|
type: ["text-to-video", "image-to-video", "video-to-video"],
|
|
35
47
|
tier: "T3",
|
|
36
48
|
fields: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pixverse.d.ts","sourceRoot":"","sources":["../../../../src/globals/aiModels/providers/pixverse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"pixverse.d.ts","sourceRoot":"","sources":["../../../../src/globals/aiModels/providers/pixverse.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAsBxC,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,CA0PtE,CAAC"}
|