From e27b44bdacbf301cafedc1323245a1cf2c75cac1 Mon Sep 17 00:00:00 2001
From: Alexander Piskun <13381981+bigcat88@users.noreply.github.com>
Date: Thu, 14 Aug 2025 03:33:35 +0300
Subject: [PATCH] fix pricing for KlingImage2VideoNode (#4957)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## Summary
Following up #4938 where I forgot to add pricing for new model in the
`KlingImage2VideoNode`.
## Screenshots (if applicable)
┆Issue is synchronized with this [Notion
page](https://www.notion.so/PR-4957-fix-pricing-for-KlingImage2VideoNode-24e6d73d36508122b40ede36fdd50115)
by [Unito](https://www.unito.io)
---
src/composables/node/useNodePricing.ts | 16 +++++++++++++---
.../composables/node/useNodePricing.test.ts | 10 ++++++++++
2 files changed, 23 insertions(+), 3 deletions(-)
diff --git a/src/composables/node/useNodePricing.ts b/src/composables/node/useNodePricing.ts
index c8e43a61a..b819312da 100644
--- a/src/composables/node/useNodePricing.ts
+++ b/src/composables/node/useNodePricing.ts
@@ -261,7 +261,10 @@ const apiNodeCosts: Record =
return '$0.14-2.80/Run (varies with model, mode & duration)'
const modelValue = String(modelWidget.value)
- if (modelValue.includes('v2-master')) {
+ if (
+ modelValue.includes('v2-1-master') ||
+ modelValue.includes('v2-master')
+ ) {
return '$1.40/Run'
} else if (
modelValue.includes('v1-6') ||
@@ -280,12 +283,19 @@ const apiNodeCosts: Record =
console.log('durationValue', durationValue)
// Same pricing matrix as KlingTextToVideoNode
- if (modelValue.includes('v2-master')) {
+ if (
+ modelValue.includes('v2-1-master') ||
+ modelValue.includes('v2-master')
+ ) {
if (durationValue.includes('10')) {
return '$2.80/Run'
}
return '$1.40/Run' // 5s default
- } else if (modelValue.includes('v1-6') || modelValue.includes('v1-5')) {
+ } else if (
+ modelValue.includes('v2-1') ||
+ modelValue.includes('v1-6') ||
+ modelValue.includes('v1-5')
+ ) {
if (modeValue.includes('pro')) {
return durationValue.includes('10') ? '$0.98/Run' : '$0.49/Run'
} else {
diff --git a/tests-ui/tests/composables/node/useNodePricing.test.ts b/tests-ui/tests/composables/node/useNodePricing.test.ts
index 072180793..d5978110a 100644
--- a/tests-ui/tests/composables/node/useNodePricing.test.ts
+++ b/tests-ui/tests/composables/node/useNodePricing.test.ts
@@ -114,6 +114,16 @@ describe('useNodePricing', () => {
expect(price).toBe('$1.40/Run')
})
+ it('should return high price for kling-v2-1-master model', () => {
+ const { getNodeDisplayPrice } = useNodePricing()
+ const node = createMockNode('KlingImage2VideoNode', [
+ { name: 'model_name', value: 'v2-1-master' }
+ ])
+
+ const price = getNodeDisplayPrice(node)
+ expect(price).toBe('$1.40/Run')
+ })
+
it('should return standard price for kling-v1-6 model', () => {
const { getNodeDisplayPrice } = useNodePricing()
const node = createMockNode('KlingImage2VideoNode', [