diff --git a/src/composables/node/useNodePricing.ts b/src/composables/node/useNodePricing.ts index c8e43a61a7..b819312dac 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 072180793d..d5978110a2 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', [