mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-04-30 03:01:54 +00:00
[fix] Correct API node pricing discrepancies (#4381)
This commit is contained in:
committed by
Terry Jia
parent
19dca23247
commit
fc35d2227c
@@ -151,7 +151,7 @@ const apiNodeCosts: Record<string, { displayPrice: string | PricingFunction }> =
|
|||||||
|
|
||||||
const renderingSpeed = String(renderingSpeedWidget.value)
|
const renderingSpeed = String(renderingSpeedWidget.value)
|
||||||
if (renderingSpeed.toLowerCase().includes('quality')) {
|
if (renderingSpeed.toLowerCase().includes('quality')) {
|
||||||
basePrice = 0.08
|
basePrice = 0.09
|
||||||
} else if (renderingSpeed.toLowerCase().includes('balanced')) {
|
} else if (renderingSpeed.toLowerCase().includes('balanced')) {
|
||||||
basePrice = 0.06
|
basePrice = 0.06
|
||||||
} else if (renderingSpeed.toLowerCase().includes('turbo')) {
|
} else if (renderingSpeed.toLowerCase().includes('turbo')) {
|
||||||
@@ -322,15 +322,15 @@ const apiNodeCosts: Record<string, { displayPrice: string | PricingFunction }> =
|
|||||||
const effectScene = String(effectSceneWidget.value)
|
const effectScene = String(effectSceneWidget.value)
|
||||||
if (
|
if (
|
||||||
effectScene.includes('fuzzyfuzzy') ||
|
effectScene.includes('fuzzyfuzzy') ||
|
||||||
effectScene.includes('squish') ||
|
effectScene.includes('squish')
|
||||||
effectScene.includes('expansion')
|
|
||||||
) {
|
) {
|
||||||
return '$0.28/Run'
|
return '$0.28/Run'
|
||||||
} else if (
|
} else if (effectScene.includes('dizzydizzy')) {
|
||||||
effectScene.includes('dizzydizzy') ||
|
|
||||||
effectScene.includes('bloombloom')
|
|
||||||
) {
|
|
||||||
return '$0.49/Run'
|
return '$0.49/Run'
|
||||||
|
} else if (effectScene.includes('bloombloom')) {
|
||||||
|
return '$0.49/Run'
|
||||||
|
} else if (effectScene.includes('expansion')) {
|
||||||
|
return '$0.28/Run'
|
||||||
}
|
}
|
||||||
|
|
||||||
return '$0.28/Run'
|
return '$0.28/Run'
|
||||||
@@ -448,12 +448,12 @@ const apiNodeCosts: Record<string, { displayPrice: string | PricingFunction }> =
|
|||||||
} else if (model.includes('ray-2')) {
|
} else if (model.includes('ray-2')) {
|
||||||
if (duration.includes('5s')) {
|
if (duration.includes('5s')) {
|
||||||
if (resolution.includes('4k')) return '$6.37/Run'
|
if (resolution.includes('4k')) return '$6.37/Run'
|
||||||
if (resolution.includes('1080p')) return '$2.30/Run'
|
if (resolution.includes('1080p')) return '$1.59/Run'
|
||||||
if (resolution.includes('720p')) return '$0.71/Run'
|
if (resolution.includes('720p')) return '$0.71/Run'
|
||||||
if (resolution.includes('540p')) return '$0.40/Run'
|
if (resolution.includes('540p')) return '$0.40/Run'
|
||||||
} else if (duration.includes('9s')) {
|
} else if (duration.includes('9s')) {
|
||||||
if (resolution.includes('4k')) return '$11.47/Run'
|
if (resolution.includes('4k')) return '$11.47/Run'
|
||||||
if (resolution.includes('1080p')) return '$4.14/Run'
|
if (resolution.includes('1080p')) return '$2.87/Run'
|
||||||
if (resolution.includes('720p')) return '$1.28/Run'
|
if (resolution.includes('720p')) return '$1.28/Run'
|
||||||
if (resolution.includes('540p')) return '$0.72/Run'
|
if (resolution.includes('540p')) return '$0.72/Run'
|
||||||
}
|
}
|
||||||
@@ -499,12 +499,12 @@ const apiNodeCosts: Record<string, { displayPrice: string | PricingFunction }> =
|
|||||||
} else if (model.includes('ray-2')) {
|
} else if (model.includes('ray-2')) {
|
||||||
if (duration.includes('5s')) {
|
if (duration.includes('5s')) {
|
||||||
if (resolution.includes('4k')) return '$6.37/Run'
|
if (resolution.includes('4k')) return '$6.37/Run'
|
||||||
if (resolution.includes('1080p')) return '$2.30/Run'
|
if (resolution.includes('1080p')) return '$1.59/Run'
|
||||||
if (resolution.includes('720p')) return '$0.71/Run'
|
if (resolution.includes('720p')) return '$0.71/Run'
|
||||||
if (resolution.includes('540p')) return '$0.40/Run'
|
if (resolution.includes('540p')) return '$0.40/Run'
|
||||||
} else if (duration.includes('9s')) {
|
} else if (duration.includes('9s')) {
|
||||||
if (resolution.includes('4k')) return '$11.47/Run'
|
if (resolution.includes('4k')) return '$11.47/Run'
|
||||||
if (resolution.includes('1080p')) return '$4.14/Run'
|
if (resolution.includes('1080p')) return '$2.87/Run'
|
||||||
if (resolution.includes('720p')) return '$1.28/Run'
|
if (resolution.includes('720p')) return '$1.28/Run'
|
||||||
if (resolution.includes('540p')) return '$0.72/Run'
|
if (resolution.includes('540p')) return '$0.72/Run'
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -300,14 +300,14 @@ describe('useNodePricing', () => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
describe('dynamic pricing - IdeogramV3', () => {
|
describe('dynamic pricing - IdeogramV3', () => {
|
||||||
it('should return $0.08 for Quality rendering speed', () => {
|
it('should return $0.09 for Quality rendering speed', () => {
|
||||||
const { getNodeDisplayPrice } = useNodePricing()
|
const { getNodeDisplayPrice } = useNodePricing()
|
||||||
const node = createMockNode('IdeogramV3', [
|
const node = createMockNode('IdeogramV3', [
|
||||||
{ name: 'rendering_speed', value: 'Quality' }
|
{ name: 'rendering_speed', value: 'Quality' }
|
||||||
])
|
])
|
||||||
|
|
||||||
const price = getNodeDisplayPrice(node)
|
const price = getNodeDisplayPrice(node)
|
||||||
expect(price).toBe('$0.08/Run')
|
expect(price).toBe('$0.09/Run')
|
||||||
})
|
})
|
||||||
|
|
||||||
it('should return $0.06 for Balanced rendering speed', () => {
|
it('should return $0.06 for Balanced rendering speed', () => {
|
||||||
@@ -348,7 +348,7 @@ describe('useNodePricing', () => {
|
|||||||
])
|
])
|
||||||
|
|
||||||
const price = getNodeDisplayPrice(node)
|
const price = getNodeDisplayPrice(node)
|
||||||
expect(price).toBe('$0.24/Run') // 0.08 * 3
|
expect(price).toBe('$0.27/Run') // 0.09 * 3
|
||||||
})
|
})
|
||||||
|
|
||||||
it('should multiply price by num_images for Turbo rendering speed', () => {
|
it('should multiply price by num_images for Turbo rendering speed', () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user