| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- # Copyright (C) 2025 AIDC-AI
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
- # You may obtain a copy of the License at
- # http://www.apache.org/licenses/LICENSE-2.0
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- """
- Standard Pipeline UI
- Implements the classic 3-column layout for the Standard Pipeline.
- """
- import streamlit as st
- from typing import Any
- from web.i18n import tr
- from web.pipelines.base import PipelineUI, register_pipeline_ui
- # Import components
- from web.components.content_input import render_content_input, render_bgm_section, render_version_info
- from web.components.style_config import render_style_config
- from web.components.output_preview import render_output_preview
- class StandardPipelineUI(PipelineUI):
- """
- UI for the Standard Video Generation Pipeline.
- Implements the classic 3-column layout.
- """
- name = "quick_create"
- icon = "⚡"
-
- @property
- def display_name(self):
- return tr("pipeline.quick_create.name")
-
- @property
- def description(self):
- return tr("pipeline.quick_create.description")
-
- def render(self, pixelle_video: Any):
- # Three-column layout
- left_col, middle_col, right_col = st.columns([1, 1, 1])
-
- # ====================================================================
- # Left Column: Content Input & BGM
- # ====================================================================
- with left_col:
- # Content input (mode, text, title, n_scenes)
- content_params = render_content_input()
-
- # BGM selection (bgm_path, bgm_volume)
- bgm_params = render_bgm_section()
-
- # Version info & GitHub link
- render_version_info()
-
- # ====================================================================
- # Middle Column: Style Configuration
- # ====================================================================
- with middle_col:
- # Style configuration (TTS, template, workflow, etc.)
- style_params = render_style_config(pixelle_video)
-
- # ====================================================================
- # Right Column: Output Preview
- # ====================================================================
- with right_col:
- # Combine all parameters
- video_params = {
- "pipeline": self.name,
- **content_params,
- **bgm_params,
- **style_params
- }
-
- # Render output preview (generate button, progress, video preview)
- render_output_preview(pixelle_video, video_params)
- # Register self
- register_pipeline_ui(StandardPipelineUI)
|