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 @@ -20,6 +20,8 @@ export const PROXY_PASSTHROUGH_ONLY_MODEL = 'PROXY_PLACEHOLDER_VERTEX_AI';
const VEO3_MODELS = [
'veo-3.0-fast-generate-preview',
'veo-3.0-generate-preview',
'veo-3.1-fast-generate-preview',
'veo-3.1-generate-preview',
];
const GCS_BUCKET_NAME = 'echo-veo3-videos';
const GCS_URI_PREFIX = 'gs://';
Expand Down
16 changes: 15 additions & 1 deletion packages/sdk/ts/src/supported-models/video/vertex-ai.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@ import type { SupportedVideoModel } from '../types';

export type VertexAIVideoModel =
| 'veo-3.0-fast-generate-preview'
| 'veo-3.0-generate-preview';
| 'veo-3.0-generate-preview'
| 'veo-3.1-fast-generate-preview'
| 'veo-3.1-generate-preview';
/**
* Vertex AI video models with official pricing information
* Based on: https://cloud.google.com/vertex-ai/generative-ai/pricing
Expand All @@ -23,4 +25,16 @@ export const VertexAIVideoModels: SupportedVideoModel[] = [
cost_per_second_without_audio: 0.2, // Fixed: was 0.2, now 0.20 for clarity
provider: 'VertexAI',
},
{
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',
},
];
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',
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 (default)' },
{ id: 'veo-3.1-generate-preview', name: 'Veo 3.1 (default)' },
{ 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