|
|
|
|
|
|
|
|
|
|
|
|
|
|
APP_CONFIG = { |
|
|
"title": "🎬 VEO3 Free - Generador de Video con IA", |
|
|
"description": "Genera videos profesionales con audio automático usando inteligencia artificial", |
|
|
"version": "1.0.0", |
|
|
"author": "NTIA Team", |
|
|
"region": "Latinoamérica", |
|
|
"language": "español" |
|
|
} |
|
|
|
|
|
|
|
|
UI_CONFIG = { |
|
|
"theme": "soft", |
|
|
"primary_color": "#8b5cf6", |
|
|
"secondary_color": "#3b82f6", |
|
|
"accent_color": "#f59e0b", |
|
|
"success_color": "#10b981", |
|
|
"warning_color": "#f59e0b", |
|
|
"error_color": "#ef4444", |
|
|
} |
|
|
|
|
|
|
|
|
VIDEO_CONFIG = { |
|
|
"default_duration": 4, |
|
|
"default_steps": 4, |
|
|
"default_height": 480, |
|
|
"default_width": 832, |
|
|
"default_seed": 2025, |
|
|
"default_nag_scale": 11.0, |
|
|
"min_duration": 1, |
|
|
"max_duration": 8, |
|
|
"min_steps": 1, |
|
|
"max_steps": 8, |
|
|
"min_height": 128, |
|
|
"max_height": 896, |
|
|
"min_width": 128, |
|
|
"max_width": 896, |
|
|
"fps": 16 |
|
|
} |
|
|
|
|
|
|
|
|
AUDIO_CONFIG = { |
|
|
"default_enabled": True, |
|
|
"default_steps": 25, |
|
|
"default_cfg_strength": 4.5, |
|
|
"min_steps": 10, |
|
|
"max_steps": 50, |
|
|
"min_cfg_strength": 1.0, |
|
|
"max_cfg_strength": 10.0 |
|
|
} |
|
|
|
|
|
|
|
|
NEGATIVE_PROMPTS = { |
|
|
"video": "Estático, inmóvil, quieto, feo, mala calidad, peor calidad, mal dibujado, baja resolución, borroso, falta de detalles", |
|
|
"audio": "música" |
|
|
} |
|
|
|
|
|
|
|
|
EXAMPLE_PROMPTS = [ |
|
|
{ |
|
|
"title": "Autopista de Medianoche", |
|
|
"prompt": "Autopista de medianoche fuera de una ciudad iluminada con neón. Un Porsche 911 Carrera RS negro de 1973 acelera a 120 km/h. Dentro, un cantante-guitarrista elegante canta mientras conduce, guitarra vintage sunburst en el asiento del pasajero. Las luces de sodio de la calle se deslizan sobre el capó; paneles RGB cambian de magenta a azul en el conductor. Cámara: inmersión de dron, toma baja de rueda con brazo ruso, gimbal interior, barrel roll FPV, espiral aérea. Paleta neo-noir, reflejos de asfalto mojado por lluvia, rugido del motor flat-six mezclado con guitarra en vivo.", |
|
|
"negative_prompt": NEGATIVE_PROMPTS["video"], |
|
|
"nag_scale": 11.0 |
|
|
}, |
|
|
{ |
|
|
"title": "Concierto de Rock", |
|
|
"prompt": "Concierto de rock en arena lleno con 20,000 fanáticos. Un guitarrista principal extravagante con chaqueta de cuero y aviators espejados hace shred en una Flying V cereza-roja en un escenario elevado. Llamas de pirotecnia se disparan en cada downbeat, chorros de CO₂ estallan detrás. Luces móviles giran en turquesa y ámbar, follow-spots iluminan el pelo del guitarrista. Steadicam órbita 360°, toma de grúa elevándose sobre la multitud, ultra cámara lenta del ataque de púa a 1,000 fps. Grado de película turquesa-naranja, rugido ensordecedor de la multitud mezclado con solo de guitarra chillón.", |
|
|
"negative_prompt": NEGATIVE_PROMPTS["video"], |
|
|
"nag_scale": 11.0 |
|
|
}, |
|
|
{ |
|
|
"title": "Camino Rural", |
|
|
"prompt": "Camino rural de hora dorada serpenteando a través de campos de trigo ondulantes. Un hombre y una mujer montan una motocicleta café-racer vintage, pelo y bufanda ondeando en la brisa cálida. Toma de persecución con dron revela campos agrícolas infinitos; slider bajo a lo largo de la rueda trasera captura estela de polvo. Luz de sol retroilumina a los jinetes, bloom de lente en los reflejos. Underscore de rock acústico suave; rugido del motor mezclado a -8 dB. Grado de color cálido pastel, grano de película suave para ambiente nostálgico.", |
|
|
"negative_prompt": NEGATIVE_PROMPTS["video"], |
|
|
"nag_scale": 11.0 |
|
|
} |
|
|
] |
|
|
|
|
|
|
|
|
MODEL_CONFIG = { |
|
|
"video_model": "Wan-AI/Wan2.1-T2V-14B-Diffusers", |
|
|
"sub_model": "vrgamedevgirl84/Wan14BT2VFusioniX", |
|
|
"lora_model": "Kijai/WanVideo_comfy", |
|
|
"audio_model": "large_44k_v2" |
|
|
} |
|
|
|
|
|
|
|
|
PERFORMANCE_CONFIG = { |
|
|
"gpu_memory_fraction": 0.9, |
|
|
"enable_mixed_precision": True, |
|
|
"enable_attention_slicing": True, |
|
|
"enable_vae_slicing": True, |
|
|
"max_batch_size": 1 |
|
|
} |
|
|
|
|
|
|
|
|
MESSAGES = { |
|
|
"loading": "Cargando modelo...", |
|
|
"generating": "Generando video...", |
|
|
"adding_audio": "Añadiendo audio...", |
|
|
"complete": "¡Video generado exitosamente!", |
|
|
"error": "Error en la generación", |
|
|
"tips": { |
|
|
"prompt": "💡 Usa descripciones detalladas y cinematográficas para mejores resultados", |
|
|
"audio": "🎧 El audio se genera automáticamente basado en tu descripción", |
|
|
"quality": "⚡ Más pasos = mejor calidad, pero más tiempo de espera", |
|
|
"resolution": "📐 Resoluciones más altas requieren más tiempo de procesamiento" |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
VALIDATION_CONFIG = { |
|
|
"max_prompt_length": 1000, |
|
|
"min_prompt_length": 10, |
|
|
"allowed_file_types": [".mp4", ".avi", ".mov"], |
|
|
"max_file_size_mb": 100 |
|
|
} |
|
|
|
|
|
|
|
|
LOGGING_CONFIG = { |
|
|
"level": "INFO", |
|
|
"format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s", |
|
|
"file": "veo3_free.log" |
|
|
} |