| """ |
| Main application entry point for Video Model Studio |
| """ |
|
|
| import gradio as gr |
| import platform |
| import subprocess |
| import logging |
| from pathlib import Path |
|
|
| from vms.config import ( |
| STORAGE_PATH, VIDEOS_TO_SPLIT_PATH, STAGING_PATH, MODELS_PATH, |
| ASK_USER_TO_DUPLICATE_SPACE, |
| HF_API_TOKEN, VMS_ADMIN_PASSWORD |
| ) |
|
|
| from vms.ui.app_ui import AppUI |
|
|
| |
| logger = logging.getLogger(__name__) |
| logger.setLevel(logging.INFO) |
|
|
| def create_app(): |
| """Create the main Gradio application""" |
| |
| if ASK_USER_TO_DUPLICATE_SPACE: |
| with gr.Blocks() as app: |
| gr.Markdown("""# Finetrainers UI |
| |
| This Hugging Face space needs to be duplicated to your own billing account to work. |
| |
| Click the 'Duplicate Space' button at the top of the page to create your own copy. |
| |
| It is recommended to use a Nvidia L40S and a persistent storage space. |
| To avoid overpaying for your space, you can configure the auto-sleep settings to fit your personal budget.""") |
| return app |
|
|
| |
| ui = AppUI() |
| app = ui.create_ui() |
|
|
| return app |
|
|
| def main(): |
| """Main entry point for the application""" |
| |
| if platform.system() == "Linux": |
| |
| |
| pass |
|
|
| |
| app = create_app() |
|
|
| |
| allowed_paths = [ |
| str(STORAGE_PATH), |
| str(VIDEOS_TO_SPLIT_PATH), |
| str(STAGING_PATH), |
| str(MODELS_PATH), |
| ] |
|
|
| |
| app.queue(default_concurrency_limit=10).launch( |
| server_name="0.0.0.0", |
| allowed_paths=allowed_paths, |
|
|
| max_threads=60, |
|
|
| |
| |
| |
| |
| ) |
|
|
| if __name__ == "__main__": |
| main() |