Spaces:
Runtime error
Runtime error
| import logging | |
| import os | |
| import sys | |
| import gradio as gr | |
| from gradio.processing_utils import PUBLIC_HOSTNAME_WHITELIST | |
| PUBLIC_HOSTNAME_WHITELIST.append("aigame-skyreels.oss-accelerate.aliyuncs.com") | |
| PUBLIC_HOSTNAME_WHITELIST.append("aigame-skyreels.oss-cn-shanghai.aliyuncs.com") | |
| PUBLIC_HOSTNAME_WHITELIST.append("skyreels-infer-dev.oss-cn-shenzhen.aliyuncs.com") | |
| def _setup_logging() -> None: | |
| """Configure logging to output to console with detailed format.""" | |
| log_format = "%(asctime)s | %(levelname)-8s | %(name)s:%(lineno)d | %(message)s" | |
| logging.basicConfig( | |
| level=logging.INFO, | |
| format=log_format, | |
| datefmt="%Y-%m-%d %H:%M:%S", | |
| handlers=[logging.StreamHandler()], | |
| ) | |
| # Initialize logging at module load | |
| _setup_logging() | |
| def _ensure_import_paths() -> None: | |
| # Make sure the current directory is on sys.path so `pages` can be imported | |
| current_dir = os.path.dirname(os.path.abspath(__file__)) | |
| if current_dir not in sys.path: | |
| sys.path.append(current_dir) | |
| def create_app() -> gr.Blocks: | |
| _ensure_import_paths() | |
| # Delayed import to ensure sys.path is prepared | |
| from pages import page_map | |
| with gr.Blocks(title="SkyReels") as demo: | |
| # State to store current logged in username | |
| current_user = gr.State(value="default_user") | |
| with gr.Row(): | |
| gr.Markdown("## SkyReels") | |
| gr.Markdown("Use the tabs below to select a feature page.") | |
| gr.Markdown("For API access, please refer to APIFree (https://www.apifree.ai/home ) or https://platform.skyreels.ai/") | |
| with gr.Tabs(): | |
| video_extension_pages = ["video_shot_extend", "video_shot_switching"] | |
| video_extension_pages_set = set(video_extension_pages) | |
| categorized_pages = video_extension_pages_set | |
| activate_pages = [ | |
| "video_shot_extend", | |
| "video_shot_switching", | |
| "audio2video_single", | |
| "multimodel", | |
| ] | |
| other_pages = [p for p in activate_pages if p not in categorized_pages] | |
| # Render other pages | |
| for page_name in other_pages: | |
| if page_name in page_map: | |
| page_map[page_name]().render(current_user) | |
| with gr.Tab(label="Video Extension"): | |
| with gr.Tabs(): | |
| for page_name in video_extension_pages: | |
| if page_name in activate_pages and page_name in page_map: | |
| page_map[page_name]().render(current_user) | |
| return demo | |
| if __name__ == "__main__": | |
| app = create_app() | |
| # ssr_mode=False disables Server-Side Rendering which can cause connection issues in Spaces | |
| app.queue(max_size=64).launch( | |
| server_name="0.0.0.0", | |
| server_port=7860, | |
| ssr_mode=False | |
| ) | |