@shop-os/modelkit 0.6.0 → 0.6.1
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 +5 -0
- package/dist/catalog.cjs +36 -0
- package/dist/catalog.cjs.map +1 -1
- package/dist/catalog.js +36 -0
- package/dist/catalog.js.map +1 -1
- package/dist/index.cjs +38 -24
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +38 -24
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -11052,6 +11052,30 @@ var klingV3Family = {
|
|
|
11052
11052
|
}
|
|
11053
11053
|
};
|
|
11054
11054
|
|
|
11055
|
+
// src/replicate-video-kinds.ts
|
|
11056
|
+
function replicateBaseModelId(providerModelId) {
|
|
11057
|
+
const colon = providerModelId.indexOf(":");
|
|
11058
|
+
return colon === -1 ? providerModelId : providerModelId.slice(0, colon);
|
|
11059
|
+
}
|
|
11060
|
+
var REPLICATE_VIDEO_KINDS = /* @__PURE__ */ new Map([
|
|
11061
|
+
["kling-video/v2.5-turbo/pro/image-to-video", "kling"],
|
|
11062
|
+
["kling-video/v3.0/pro/image-to-video", "kling"],
|
|
11063
|
+
["kwaivgi/kling-v3-video", "kling"],
|
|
11064
|
+
["kwaivgi/kling-v3-omni-video", "kling-omni"],
|
|
11065
|
+
["minimax/hailuo-02", "hailuo"]
|
|
11066
|
+
]);
|
|
11067
|
+
function videoKind(providerModelId) {
|
|
11068
|
+
return REPLICATE_VIDEO_KINDS.get(replicateBaseModelId(providerModelId));
|
|
11069
|
+
}
|
|
11070
|
+
var KLING_TIERS = [
|
|
11071
|
+
{ mode: "standard", resolution: "720p" },
|
|
11072
|
+
{ mode: "pro", resolution: "1080p" },
|
|
11073
|
+
{ mode: "4k", resolution: "4k" }
|
|
11074
|
+
];
|
|
11075
|
+
function klingTier(req) {
|
|
11076
|
+
return KLING_TIERS.find((tier) => tier.resolution === req.resolution) ?? KLING_TIERS.find((tier) => tier.mode === req.mode) ?? KLING_TIERS[0];
|
|
11077
|
+
}
|
|
11078
|
+
|
|
11055
11079
|
// src/resolve-video-rules.ts
|
|
11056
11080
|
var MOTION_PRO2 = "fal-ai/kling-video/v3/pro/motion-control";
|
|
11057
11081
|
var MOTION_STANDARD2 = "fal-ai/kling-video/v3/standard/motion-control";
|
|
@@ -11225,6 +11249,16 @@ function h3EndFrameRatioWarning(model, ratio) {
|
|
|
11225
11249
|
message: `${model.id} follows the end frame's aspect ratio`
|
|
11226
11250
|
};
|
|
11227
11251
|
}
|
|
11252
|
+
function isReplicateKling(model) {
|
|
11253
|
+
if (model.adapter !== "replicate") return false;
|
|
11254
|
+
const kind = videoKind(model.providerModelId);
|
|
11255
|
+
return kind === "kling" || kind === "kling-omni";
|
|
11256
|
+
}
|
|
11257
|
+
function fillReplicateKlingResolution(model, req) {
|
|
11258
|
+
if (isReplicateKling(model) && req.resolution === void 0) {
|
|
11259
|
+
req.resolution = klingTier(req).resolution;
|
|
11260
|
+
}
|
|
11261
|
+
}
|
|
11228
11262
|
function applyFalVideoRules(model, req, callerRatio, warnings) {
|
|
11229
11263
|
if (model.adapter !== "fal") return;
|
|
11230
11264
|
const problem = falVideoProblem(model.providerModelId, withPromptForResolve(req));
|
|
@@ -14157,10 +14191,6 @@ function replicateError(cause, ctx) {
|
|
|
14157
14191
|
const status = info.status ?? (nested.success ? nested.data.response?.status : void 0);
|
|
14158
14192
|
return classifyThrown("replicate", cause, ctx.model.id, { status, body: info.body });
|
|
14159
14193
|
}
|
|
14160
|
-
function baseModelId(providerModelId) {
|
|
14161
|
-
const colon = providerModelId.indexOf(":");
|
|
14162
|
-
return colon === -1 ? providerModelId : providerModelId.slice(0, colon);
|
|
14163
|
-
}
|
|
14164
14194
|
function predictionErrorBody(cause) {
|
|
14165
14195
|
const parsed = JsonValueSchema.safeParse(cause);
|
|
14166
14196
|
if (parsed.success) return parsed.data;
|
|
@@ -14314,17 +14344,7 @@ var REPLICATE_IMAGE_KINDS = {
|
|
|
14314
14344
|
"qwen-edit-apps/qwen-image-edit-plus-lora-skin": "qwen-edit"
|
|
14315
14345
|
};
|
|
14316
14346
|
function imageKind(providerModelId) {
|
|
14317
|
-
return REPLICATE_IMAGE_KINDS[
|
|
14318
|
-
}
|
|
14319
|
-
var REPLICATE_VIDEO_KINDS = {
|
|
14320
|
-
"kling-video/v2.5-turbo/pro/image-to-video": "kling",
|
|
14321
|
-
"kling-video/v3.0/pro/image-to-video": "kling",
|
|
14322
|
-
"kwaivgi/kling-v3-video": "kling",
|
|
14323
|
-
"kwaivgi/kling-v3-omni-video": "kling-omni",
|
|
14324
|
-
"minimax/hailuo-02": "hailuo"
|
|
14325
|
-
};
|
|
14326
|
-
function videoKind(providerModelId) {
|
|
14327
|
-
return REPLICATE_VIDEO_KINDS[baseModelId(providerModelId)];
|
|
14347
|
+
return REPLICATE_IMAGE_KINDS[replicateBaseModelId(providerModelId)] ?? "generic";
|
|
14328
14348
|
}
|
|
14329
14349
|
function isReplicateVideoKnown(providerModelId) {
|
|
14330
14350
|
return videoKind(providerModelId) !== void 0;
|
|
@@ -14335,7 +14355,7 @@ var REPLICATE_AUDIO_KINDS = {
|
|
|
14335
14355
|
"google/lyria-2": "lyria"
|
|
14336
14356
|
};
|
|
14337
14357
|
function audioKind(providerModelId) {
|
|
14338
|
-
return REPLICATE_AUDIO_KINDS[
|
|
14358
|
+
return REPLICATE_AUDIO_KINDS[replicateBaseModelId(providerModelId)];
|
|
14339
14359
|
}
|
|
14340
14360
|
function isReplicateAudioKnown(providerModelId) {
|
|
14341
14361
|
return audioKind(providerModelId) !== void 0;
|
|
@@ -14539,14 +14559,6 @@ function replicateVideoResolution(providerModelId, req) {
|
|
|
14539
14559
|
if (kind === "hailuo") return hailuoResolution(req);
|
|
14540
14560
|
return req.resolution;
|
|
14541
14561
|
}
|
|
14542
|
-
var KLING_TIERS = [
|
|
14543
|
-
{ mode: "standard", resolution: "720p" },
|
|
14544
|
-
{ mode: "pro", resolution: "1080p" },
|
|
14545
|
-
{ mode: "4k", resolution: "4k" }
|
|
14546
|
-
];
|
|
14547
|
-
function klingTier(req) {
|
|
14548
|
-
return KLING_TIERS.find((tier) => tier.resolution === req.resolution) ?? KLING_TIERS.find((tier) => tier.mode === req.mode) ?? KLING_TIERS[0];
|
|
14549
|
-
}
|
|
14550
14562
|
function klingOmniInput(req) {
|
|
14551
14563
|
const input = {
|
|
14552
14564
|
prompt: req.prompt,
|
|
@@ -15774,8 +15786,10 @@ function resolveVideoOptions(model, request, onUnsupported = "error") {
|
|
|
15774
15786
|
warnings
|
|
15775
15787
|
);
|
|
15776
15788
|
if (aspectRatio !== void 0) merged.aspectRatio = aspectRatio;
|
|
15789
|
+
fillReplicateKlingResolution(model, merged);
|
|
15777
15790
|
const resolution = resolveVideoResolution(merged.resolution, model, onUnsupported, warnings);
|
|
15778
15791
|
if (resolution !== void 0) merged.resolution = resolution;
|
|
15792
|
+
if (isReplicateKling(model)) delete merged.mode;
|
|
15779
15793
|
const duration = resolveDuration(
|
|
15780
15794
|
merged.durationSeconds,
|
|
15781
15795
|
c.durations,
|