veo3/frontend/src/utils/constants.js
2026-02-12 12:20:59 +05:30

84 lines
No EOL
2.5 KiB
JavaScript

export const API_BASE_URL = import.meta.env.VITE_API_BASE_URL;
export const APP_TITLE = import.meta.env.VITE_APP_TITLE;
export const VIDEO_GENERATION_OPTIONS = {
aspectRatios: [
{ value: '16:9', label: '16:9 (Landscape)' },
{ value: '9:16', label: '9:16 (Portrait)' }
],
resolutions: [
{ value: '720p', label: '720p (Standard)', recommended: true },
{ value: '1080p', label: '1080p (High Quality)' }
],
models: [
// Veo 3.1 Models Only
{
value: 'veo-3.1-generate-preview',
label: 'Veo 3.1 Standard',
description: 'High-quality with reference images & frame interpolation',
pricePerSecond: 0.40,
speed: 'Standard',
recommended: true,
supportsReferenceImages: true,
supportsLastFrame: true,
supportsVideoExtension: true
},
{
value: 'veo-3.1-fast-generate-preview',
label: 'Veo 3.1 Fast',
description: 'Optimized speed with frame interpolation',
pricePerSecond: 0.15,
speed: 'Fast',
recommended: false,
supportsReferenceImages: false, // Reference images NOT supported in Fast model
supportsLastFrame: true,
supportsVideoExtension: true
}
],
personGeneration: [
{ value: 'dont_allow', label: 'Don\'t Allow People' },
{ value: 'allow_adult', label: 'Allow Adults' }
],
videoLengths: [
{ value: 4, label: '4 seconds' },
{ value: 6, label: '6 seconds' },
{ value: 8, label: '8 seconds' }
],
sampleCounts: [
{ value: 1, label: '1 video' },
{ value: 2, label: '2 videos' },
{ value: 3, label: '3 videos' },
{ value: 4, label: '4 videos' }
]
};
export const JOB_STATUS = {
QUEUED: 'queued',
STARTING: 'starting',
UPLOADING_IMAGE: 'uploading_image',
GENERATING: 'generating',
PROCESSING: 'processing',
DOWNLOADING: 'downloading',
COMPLETED: 'completed',
FAILED: 'failed',
NOT_FOUND: 'not_found',
CANCELLED: 'cancelled',
RETRY_1_OF_3: 'retry_1_of_3',
RETRY_2_OF_3: 'retry_2_of_3',
RETRY_3_OF_3: 'retry_3_of_3'
};
export const IMAGE_UPLOAD_CONFIG = {
maxSize: 10 * 1024 * 1024, // 10MB
supportedFormats: ['image/jpeg', 'image/png', 'image/jpg'],
supportedExtensions: ['.jpg', '.jpeg', '.png'],
minResolution: { width: 720, height: 720 },
supportedAspectRatios: ['16:9', '9:16']
};
export const REFERENCE_IMAGE_CONFIG = {
maxReferenceImages: 3,
maxSizePerImage: 10 * 1024 * 1024, // 10MB
supportedFormats: ['image/jpeg', 'image/png', 'image/jpg'],
supportedExtensions: ['.jpg', '.jpeg', '.png']
};