Skip to content

Commit 75e5089

Browse files
update prices for Veo3 (#5418) (#5420)
Co-authored-by: Alexander Piskun <[email protected]>
1 parent b9881fa commit 75e5089

File tree

2 files changed

+15
-15
lines changed

2 files changed

+15
-15
lines changed

src/composables/node/useNodePricing.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1053,21 +1053,21 @@ const apiNodeCosts: Record<string, { displayPrice: string | PricingFunction }> =
10531053
) as IComboWidget
10541054

10551055
if (!modelWidget || !generateAudioWidget) {
1056-
return '$2.00-6.00/Run (varies with model & audio generation)'
1056+
return '$0.80-3.20/Run (varies with model & audio generation)'
10571057
}
10581058

10591059
const model = String(modelWidget.value)
10601060
const generateAudio =
10611061
String(generateAudioWidget.value).toLowerCase() === 'true'
10621062

10631063
if (model.includes('veo-3.0-fast-generate-001')) {
1064-
return generateAudio ? '$3.20/Run' : '$2.00/Run'
1064+
return generateAudio ? '$1.20/Run' : '$0.80/Run'
10651065
} else if (model.includes('veo-3.0-generate-001')) {
1066-
return generateAudio ? '$6.00/Run' : '$4.00/Run'
1066+
return generateAudio ? '$3.20/Run' : '$1.60/Run'
10671067
}
10681068

10691069
// Default fallback
1070-
return '$2.00-6.00/Run'
1070+
return '$0.80-3.20/Run'
10711071
}
10721072
},
10731073
LumaImageNode: {

tests-ui/tests/composables/node/useNodePricing.test.ts

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -505,48 +505,48 @@ describe('useNodePricing', () => {
505505
})
506506

507507
describe('dynamic pricing - Veo3VideoGenerationNode', () => {
508-
it('should return $2.00 for veo-3.0-fast-generate-001 without audio', () => {
508+
it('should return $0.80 for veo-3.0-fast-generate-001 without audio', () => {
509509
const { getNodeDisplayPrice } = useNodePricing()
510510
const node = createMockNode('Veo3VideoGenerationNode', [
511511
{ name: 'model', value: 'veo-3.0-fast-generate-001' },
512512
{ name: 'generate_audio', value: false }
513513
])
514514

515515
const price = getNodeDisplayPrice(node)
516-
expect(price).toBe('$2.00/Run')
516+
expect(price).toBe('$0.80/Run')
517517
})
518518

519-
it('should return $3.20 for veo-3.0-fast-generate-001 with audio', () => {
519+
it('should return $1.20 for veo-3.0-fast-generate-001 with audio', () => {
520520
const { getNodeDisplayPrice } = useNodePricing()
521521
const node = createMockNode('Veo3VideoGenerationNode', [
522522
{ name: 'model', value: 'veo-3.0-fast-generate-001' },
523523
{ name: 'generate_audio', value: true }
524524
])
525525

526526
const price = getNodeDisplayPrice(node)
527-
expect(price).toBe('$3.20/Run')
527+
expect(price).toBe('$1.20/Run')
528528
})
529529

530-
it('should return $4.00 for veo-3.0-generate-001 without audio', () => {
530+
it('should return $1.60 for veo-3.0-generate-001 without audio', () => {
531531
const { getNodeDisplayPrice } = useNodePricing()
532532
const node = createMockNode('Veo3VideoGenerationNode', [
533533
{ name: 'model', value: 'veo-3.0-generate-001' },
534534
{ name: 'generate_audio', value: false }
535535
])
536536

537537
const price = getNodeDisplayPrice(node)
538-
expect(price).toBe('$4.00/Run')
538+
expect(price).toBe('$1.60/Run')
539539
})
540540

541-
it('should return $6.00 for veo-3.0-generate-001 with audio', () => {
541+
it('should return $3.20 for veo-3.0-generate-001 with audio', () => {
542542
const { getNodeDisplayPrice } = useNodePricing()
543543
const node = createMockNode('Veo3VideoGenerationNode', [
544544
{ name: 'model', value: 'veo-3.0-generate-001' },
545545
{ name: 'generate_audio', value: true }
546546
])
547547

548548
const price = getNodeDisplayPrice(node)
549-
expect(price).toBe('$6.00/Run')
549+
expect(price).toBe('$3.20/Run')
550550
})
551551

552552
it('should return range when widgets are missing', () => {
@@ -555,7 +555,7 @@ describe('useNodePricing', () => {
555555

556556
const price = getNodeDisplayPrice(node)
557557
expect(price).toBe(
558-
'$2.00-6.00/Run (varies with model & audio generation)'
558+
'$0.80-3.20/Run (varies with model & audio generation)'
559559
)
560560
})
561561

@@ -567,7 +567,7 @@ describe('useNodePricing', () => {
567567

568568
const price = getNodeDisplayPrice(node)
569569
expect(price).toBe(
570-
'$2.00-6.00/Run (varies with model & audio generation)'
570+
'$0.80-3.20/Run (varies with model & audio generation)'
571571
)
572572
})
573573

@@ -579,7 +579,7 @@ describe('useNodePricing', () => {
579579

580580
const price = getNodeDisplayPrice(node)
581581
expect(price).toBe(
582-
'$2.00-6.00/Run (varies with model & audio generation)'
582+
'$0.80-3.20/Run (varies with model & audio generation)'
583583
)
584584
})
585585
})

0 commit comments

Comments
 (0)