Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions packages/app/server/src/providers/VertexAIProvider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ import { env } from '../env';
// Constants
export const PROXY_PASSTHROUGH_ONLY_MODEL = 'PROXY_PLACEHOLDER_VERTEX_AI';
const VEO3_MODELS = [
'veo-3.1-fast-generate-preview',
'veo-3.1-generate-preview',
'veo-3.0-fast-generate-preview',
'veo-3.0-generate-preview',
];
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't feel like I am in a position to make a decision here since I don't know the future veo model naming patterns.

Expand Down
15 changes: 15 additions & 0 deletions packages/sdk/ts/src/supported-models/video/vertex-ai.ts
Original file line number Diff line number Diff line change
@@ -1,16 +1,31 @@
import type { SupportedVideoModel } from '../types';

export type VertexAIVideoModel =
| 'veo-3.1-fast-generate-preview'
| 'veo-3.1-generate-preview'
| 'veo-3.0-fast-generate-preview'
| 'veo-3.0-generate-preview';
/**
* Vertex AI video models with official pricing information
* Based on: https://cloud.google.com/vertex-ai/generative-ai/pricing
*
* Veo 3.1: $0.40/second with audio
Comment thread
AvantBras marked this conversation as resolved.
Outdated
* Veo 3: $0.40/second with audio, $0.20/second video only
* Veo 3 Fast: $0.15/second with audio, $0.10/second video only
*/
export const VertexAIVideoModels: SupportedVideoModel[] = [
{
model_id: 'veo-3.1-fast-generate-preview',
cost_per_second_with_audio: 0.15,
cost_per_second_without_audio: 0.1,
provider: 'VertexAI',
},
{
model_id: 'veo-3.1-generate-preview',
cost_per_second_with_audio: 0.4,
cost_per_second_without_audio: 0.2,
provider: 'VertexAI',
},
{
model_id: 'veo-3.0-fast-generate-preview',
cost_per_second_with_audio: 0.15,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ export function validateGenerateVideoRequest(body: unknown): ValidationResult {
}

const validModels: VideoModelOption[] = [
'veo-3.1-fast-generate-preview',
'veo-3.1-generate-preview',
'veo-3.0-fast-generate-preview',
'veo-3.0-generate-preview',
];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,11 @@ import {
*/
export async function handleGeminiGenerate(
prompt: string,
model: 'veo-3.0-fast-generate-preview' | 'veo-3.0-generate-preview',
model:
| 'veo-3.1-fast-generate-preview'
| 'veo-3.1-generate-preview'
| 'veo-3.0-fast-generate-preview'
| 'veo-3.0-generate-preview',
Comment thread
AvantBras marked this conversation as resolved.
Outdated
durationSeconds: number = 4,
generateAudio: boolean = false,
image?: string, // Base64 encoded image or data URL (first frame)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ import { FileInputManager } from './FileInputManager';
import { VideoHistory } from './video-history';

const models: VideoModelConfig[] = [
{ id: 'veo-3.1-fast-generate-preview', name: 'Veo 3.1 Fast' },
{ id: 'veo-3.1-generate-preview', name: 'Veo 3.1' },
{ id: 'veo-3.0-fast-generate-preview', name: 'Veo 3 Fast' },
{ id: 'veo-3.0-generate-preview', name: 'Veo 3' },
];
Expand All @@ -57,7 +59,7 @@ const models: VideoModelConfig[] = [
*/
export default function VideoGenerator() {
const [model, setModel] = useState<VideoModelOption>(
'veo-3.0-fast-generate-preview'
'veo-3.1-fast-generate-preview'
);
const [durationSeconds, setDurationSeconds] = useState<4 | 6 | 8>(4);
const [generateAudio, setGenerateAudio] = useState<boolean>(false);
Expand Down
2 changes: 2 additions & 0 deletions templates/next-video-template/src/lib/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ export type ModelOption = 'openai' | 'gemini';
* Available AI models for video generation
*/
export type VideoModelOption =
| 'veo-3.1-fast-generate-preview'
| 'veo-3.1-generate-preview'
| 'veo-3.0-fast-generate-preview'
| 'veo-3.0-generate-preview';

Expand Down
Loading